api.go 817 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534
  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. "time"
  6. "github.com/aws/aws-sdk-go/aws/awsutil"
  7. "github.com/aws/aws-sdk-go/aws/request"
  8. )
  9. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  10. // AcceptVpcPeeringConnectionRequest generates a request for the AcceptVpcPeeringConnection operation.
  11. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  12. op := &request.Operation{
  13. Name: opAcceptVpcPeeringConnection,
  14. HTTPMethod: "POST",
  15. HTTPPath: "/",
  16. }
  17. if input == nil {
  18. input = &AcceptVpcPeeringConnectionInput{}
  19. }
  20. req = c.newRequest(op, input, output)
  21. output = &AcceptVpcPeeringConnectionOutput{}
  22. req.Data = output
  23. return
  24. }
  25. // Accept a VPC peering connection request. To accept a request, the VPC peering
  26. // connection must be in the pending-acceptance state, and you must be the owner
  27. // of the peer VPC. Use the DescribeVpcPeeringConnections request to view your
  28. // outstanding VPC peering connection requests.
  29. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  30. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  31. err := req.Send()
  32. return out, err
  33. }
  34. const opAllocateAddress = "AllocateAddress"
  35. // AllocateAddressRequest generates a request for the AllocateAddress operation.
  36. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  37. op := &request.Operation{
  38. Name: opAllocateAddress,
  39. HTTPMethod: "POST",
  40. HTTPPath: "/",
  41. }
  42. if input == nil {
  43. input = &AllocateAddressInput{}
  44. }
  45. req = c.newRequest(op, input, output)
  46. output = &AllocateAddressOutput{}
  47. req.Data = output
  48. return
  49. }
  50. // Acquires an Elastic IP address.
  51. //
  52. // An Elastic IP address is for use either in the EC2-Classic platform or in
  53. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  54. // in the Amazon Elastic Compute Cloud User Guide.
  55. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  56. req, out := c.AllocateAddressRequest(input)
  57. err := req.Send()
  58. return out, err
  59. }
  60. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  61. // AssignPrivateIpAddressesRequest generates a request for the AssignPrivateIpAddresses operation.
  62. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  63. op := &request.Operation{
  64. Name: opAssignPrivateIpAddresses,
  65. HTTPMethod: "POST",
  66. HTTPPath: "/",
  67. }
  68. if input == nil {
  69. input = &AssignPrivateIpAddressesInput{}
  70. }
  71. req = c.newRequest(op, input, output)
  72. output = &AssignPrivateIpAddressesOutput{}
  73. req.Data = output
  74. return
  75. }
  76. // Assigns one or more secondary private IP addresses to the specified network
  77. // interface. You can specify one or more specific secondary IP addresses, or
  78. // you can specify the number of secondary IP addresses to be automatically
  79. // assigned within the subnet's CIDR block range. The number of secondary IP
  80. // addresses that you can assign to an instance varies by instance type. For
  81. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  82. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  83. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  84. // in the Amazon Elastic Compute Cloud User Guide.
  85. //
  86. // AssignPrivateIpAddresses is available only in EC2-VPC.
  87. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  88. req, out := c.AssignPrivateIpAddressesRequest(input)
  89. err := req.Send()
  90. return out, err
  91. }
  92. const opAssociateAddress = "AssociateAddress"
  93. // AssociateAddressRequest generates a request for the AssociateAddress operation.
  94. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  95. op := &request.Operation{
  96. Name: opAssociateAddress,
  97. HTTPMethod: "POST",
  98. HTTPPath: "/",
  99. }
  100. if input == nil {
  101. input = &AssociateAddressInput{}
  102. }
  103. req = c.newRequest(op, input, output)
  104. output = &AssociateAddressOutput{}
  105. req.Data = output
  106. return
  107. }
  108. // Associates an Elastic IP address with an instance or a network interface.
  109. //
  110. // An Elastic IP address is for use in either the EC2-Classic platform or in
  111. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  112. // in the Amazon Elastic Compute Cloud User Guide.
  113. //
  114. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address
  115. // is already associated with a different instance, it is disassociated from
  116. // that instance and associated with the specified instance.
  117. //
  118. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  119. // the Elastic IP address is associated with the primary IP address. If the
  120. // Elastic IP address is already associated with a different instance or a network
  121. // interface, you get an error unless you allow reassociation.
  122. //
  123. // This is an idempotent operation. If you perform the operation more than
  124. // once, Amazon EC2 doesn't return an error.
  125. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  126. req, out := c.AssociateAddressRequest(input)
  127. err := req.Send()
  128. return out, err
  129. }
  130. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  131. // AssociateDhcpOptionsRequest generates a request for the AssociateDhcpOptions operation.
  132. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  133. op := &request.Operation{
  134. Name: opAssociateDhcpOptions,
  135. HTTPMethod: "POST",
  136. HTTPPath: "/",
  137. }
  138. if input == nil {
  139. input = &AssociateDhcpOptionsInput{}
  140. }
  141. req = c.newRequest(op, input, output)
  142. output = &AssociateDhcpOptionsOutput{}
  143. req.Data = output
  144. return
  145. }
  146. // Associates a set of DHCP options (that you've previously created) with the
  147. // specified VPC, or associates no DHCP options with the VPC.
  148. //
  149. // After you associate the options with the VPC, any existing instances and
  150. // all new instances that you launch in that VPC use the options. You don't
  151. // need to restart or relaunch the instances. They automatically pick up the
  152. // changes within a few hours, depending on how frequently the instance renews
  153. // its DHCP lease. You can explicitly renew the lease using the operating system
  154. // on the instance.
  155. //
  156. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  157. // in the Amazon Virtual Private Cloud User Guide.
  158. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  159. req, out := c.AssociateDhcpOptionsRequest(input)
  160. err := req.Send()
  161. return out, err
  162. }
  163. const opAssociateRouteTable = "AssociateRouteTable"
  164. // AssociateRouteTableRequest generates a request for the AssociateRouteTable operation.
  165. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  166. op := &request.Operation{
  167. Name: opAssociateRouteTable,
  168. HTTPMethod: "POST",
  169. HTTPPath: "/",
  170. }
  171. if input == nil {
  172. input = &AssociateRouteTableInput{}
  173. }
  174. req = c.newRequest(op, input, output)
  175. output = &AssociateRouteTableOutput{}
  176. req.Data = output
  177. return
  178. }
  179. // Associates a subnet with a route table. The subnet and route table must be
  180. // in the same VPC. This association causes traffic originating from the subnet
  181. // to be routed according to the routes in the route table. The action returns
  182. // an association ID, which you need in order to disassociate the route table
  183. // from the subnet later. A route table can be associated with multiple subnets.
  184. //
  185. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  186. // in the Amazon Virtual Private Cloud User Guide.
  187. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  188. req, out := c.AssociateRouteTableRequest(input)
  189. err := req.Send()
  190. return out, err
  191. }
  192. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  193. // AttachClassicLinkVpcRequest generates a request for the AttachClassicLinkVpc operation.
  194. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  195. op := &request.Operation{
  196. Name: opAttachClassicLinkVpc,
  197. HTTPMethod: "POST",
  198. HTTPPath: "/",
  199. }
  200. if input == nil {
  201. input = &AttachClassicLinkVpcInput{}
  202. }
  203. req = c.newRequest(op, input, output)
  204. output = &AttachClassicLinkVpcOutput{}
  205. req.Data = output
  206. return
  207. }
  208. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  209. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  210. // to more than one VPC at a time. You can only link an instance that's in the
  211. // running state. An instance is automatically unlinked from a VPC when it's
  212. // stopped - you can link it to the VPC again when you restart it.
  213. //
  214. // After you've linked an instance, you cannot change the VPC security groups
  215. // that are associated with it. To change the security groups, you must first
  216. // unlink the instance, and then link it again.
  217. //
  218. // Linking your instance to a VPC is sometimes referred to as attaching your
  219. // instance.
  220. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  221. req, out := c.AttachClassicLinkVpcRequest(input)
  222. err := req.Send()
  223. return out, err
  224. }
  225. const opAttachInternetGateway = "AttachInternetGateway"
  226. // AttachInternetGatewayRequest generates a request for the AttachInternetGateway operation.
  227. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  228. op := &request.Operation{
  229. Name: opAttachInternetGateway,
  230. HTTPMethod: "POST",
  231. HTTPPath: "/",
  232. }
  233. if input == nil {
  234. input = &AttachInternetGatewayInput{}
  235. }
  236. req = c.newRequest(op, input, output)
  237. output = &AttachInternetGatewayOutput{}
  238. req.Data = output
  239. return
  240. }
  241. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  242. // Internet and the VPC. For more information about your VPC and Internet gateway,
  243. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  244. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  245. req, out := c.AttachInternetGatewayRequest(input)
  246. err := req.Send()
  247. return out, err
  248. }
  249. const opAttachNetworkInterface = "AttachNetworkInterface"
  250. // AttachNetworkInterfaceRequest generates a request for the AttachNetworkInterface operation.
  251. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  252. op := &request.Operation{
  253. Name: opAttachNetworkInterface,
  254. HTTPMethod: "POST",
  255. HTTPPath: "/",
  256. }
  257. if input == nil {
  258. input = &AttachNetworkInterfaceInput{}
  259. }
  260. req = c.newRequest(op, input, output)
  261. output = &AttachNetworkInterfaceOutput{}
  262. req.Data = output
  263. return
  264. }
  265. // Attaches a network interface to an instance.
  266. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  267. req, out := c.AttachNetworkInterfaceRequest(input)
  268. err := req.Send()
  269. return out, err
  270. }
  271. const opAttachVolume = "AttachVolume"
  272. // AttachVolumeRequest generates a request for the AttachVolume operation.
  273. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  274. op := &request.Operation{
  275. Name: opAttachVolume,
  276. HTTPMethod: "POST",
  277. HTTPPath: "/",
  278. }
  279. if input == nil {
  280. input = &AttachVolumeInput{}
  281. }
  282. req = c.newRequest(op, input, output)
  283. output = &VolumeAttachment{}
  284. req.Data = output
  285. return
  286. }
  287. // Attaches an EBS volume to a running or stopped instance and exposes it to
  288. // the instance with the specified device name.
  289. //
  290. // Encrypted EBS volumes may only be attached to instances that support Amazon
  291. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  292. // in the Amazon Elastic Compute Cloud User Guide.
  293. //
  294. // For a list of supported device names, see Attaching an EBS Volume to an
  295. // Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  296. // Any device names that aren't reserved for instance store volumes can be used
  297. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  298. // in the Amazon Elastic Compute Cloud User Guide.
  299. //
  300. // If a volume has an AWS Marketplace product code:
  301. //
  302. // The volume can be attached only to a stopped instance. AWS Marketplace
  303. // product codes are copied from the volume to the instance. You must be subscribed
  304. // to the product. The instance type and operating system of the instance must
  305. // support the product. For example, you can't detach a volume from a Windows
  306. // instance and attach it to a Linux instance. For an overview of the AWS Marketplace,
  307. // see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  308. //
  309. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  310. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  311. // in the Amazon Elastic Compute Cloud User Guide.
  312. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  313. req, out := c.AttachVolumeRequest(input)
  314. err := req.Send()
  315. return out, err
  316. }
  317. const opAttachVpnGateway = "AttachVpnGateway"
  318. // AttachVpnGatewayRequest generates a request for the AttachVpnGateway operation.
  319. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  320. op := &request.Operation{
  321. Name: opAttachVpnGateway,
  322. HTTPMethod: "POST",
  323. HTTPPath: "/",
  324. }
  325. if input == nil {
  326. input = &AttachVpnGatewayInput{}
  327. }
  328. req = c.newRequest(op, input, output)
  329. output = &AttachVpnGatewayOutput{}
  330. req.Data = output
  331. return
  332. }
  333. // Attaches a virtual private gateway to a VPC. For more information, see Adding
  334. // a Hardware Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  335. // in the Amazon Virtual Private Cloud User Guide.
  336. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  337. req, out := c.AttachVpnGatewayRequest(input)
  338. err := req.Send()
  339. return out, err
  340. }
  341. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  342. // AuthorizeSecurityGroupEgressRequest generates a request for the AuthorizeSecurityGroupEgress operation.
  343. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  344. op := &request.Operation{
  345. Name: opAuthorizeSecurityGroupEgress,
  346. HTTPMethod: "POST",
  347. HTTPPath: "/",
  348. }
  349. if input == nil {
  350. input = &AuthorizeSecurityGroupEgressInput{}
  351. }
  352. req = c.newRequest(op, input, output)
  353. output = &AuthorizeSecurityGroupEgressOutput{}
  354. req.Data = output
  355. return
  356. }
  357. // Adds one or more egress rules to a security group for use with a VPC. Specifically,
  358. // this action permits instances to send traffic to one or more destination
  359. // CIDR IP address ranges, or to one or more destination security groups for
  360. // the same VPC.
  361. //
  362. // You can have up to 50 rules per security group (covering both ingress and
  363. // egress rules).
  364. //
  365. // A security group is for use with instances either in the EC2-Classic platform
  366. // or in a specific VPC. This action doesn't apply to security groups for use
  367. // in EC2-Classic. For more information, see Security Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  368. // in the Amazon Virtual Private Cloud User Guide.
  369. //
  370. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  371. // range or a source group. For the TCP and UDP protocols, you must also specify
  372. // the destination port or port range. For the ICMP protocol, you must also
  373. // specify the ICMP type and code. You can use -1 for the type or code to mean
  374. // all types or all codes.
  375. //
  376. // Rule changes are propagated to affected instances as quickly as possible.
  377. // However, a small delay might occur.
  378. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  379. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  380. err := req.Send()
  381. return out, err
  382. }
  383. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  384. // AuthorizeSecurityGroupIngressRequest generates a request for the AuthorizeSecurityGroupIngress operation.
  385. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  386. op := &request.Operation{
  387. Name: opAuthorizeSecurityGroupIngress,
  388. HTTPMethod: "POST",
  389. HTTPPath: "/",
  390. }
  391. if input == nil {
  392. input = &AuthorizeSecurityGroupIngressInput{}
  393. }
  394. req = c.newRequest(op, input, output)
  395. output = &AuthorizeSecurityGroupIngressOutput{}
  396. req.Data = output
  397. return
  398. }
  399. // Adds one or more ingress rules to a security group.
  400. //
  401. // EC2-Classic: You can have up to 100 rules per group.
  402. //
  403. // EC2-VPC: You can have up to 50 rules per group (covering both ingress and
  404. // egress rules).
  405. //
  406. // Rule changes are propagated to instances within the security group as quickly
  407. // as possible. However, a small delay might occur.
  408. //
  409. // [EC2-Classic] This action gives one or more CIDR IP address ranges permission
  410. // to access a security group in your account, or gives one or more security
  411. // groups (called the source groups) permission to access a security group for
  412. // your account. A source group can be for your own AWS account, or another.
  413. //
  414. // [EC2-VPC] This action gives one or more CIDR IP address ranges permission
  415. // to access a security group in your VPC, or gives one or more other security
  416. // groups (called the source groups) permission to access a security group for
  417. // your VPC. The security groups must all be for the same VPC.
  418. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  419. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  420. err := req.Send()
  421. return out, err
  422. }
  423. const opBundleInstance = "BundleInstance"
  424. // BundleInstanceRequest generates a request for the BundleInstance operation.
  425. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  426. op := &request.Operation{
  427. Name: opBundleInstance,
  428. HTTPMethod: "POST",
  429. HTTPPath: "/",
  430. }
  431. if input == nil {
  432. input = &BundleInstanceInput{}
  433. }
  434. req = c.newRequest(op, input, output)
  435. output = &BundleInstanceOutput{}
  436. req.Data = output
  437. return
  438. }
  439. // Bundles an Amazon instance store-backed Windows instance.
  440. //
  441. // During bundling, only the root device volume (C:\) is bundled. Data on other
  442. // instance store volumes is not preserved.
  443. //
  444. // This action is not applicable for Linux/Unix instances or Windows instances
  445. // that are backed by Amazon EBS.
  446. //
  447. // For more information, see Creating an Instance Store-Backed Windows AMI
  448. // (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  449. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  450. req, out := c.BundleInstanceRequest(input)
  451. err := req.Send()
  452. return out, err
  453. }
  454. const opCancelBundleTask = "CancelBundleTask"
  455. // CancelBundleTaskRequest generates a request for the CancelBundleTask operation.
  456. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  457. op := &request.Operation{
  458. Name: opCancelBundleTask,
  459. HTTPMethod: "POST",
  460. HTTPPath: "/",
  461. }
  462. if input == nil {
  463. input = &CancelBundleTaskInput{}
  464. }
  465. req = c.newRequest(op, input, output)
  466. output = &CancelBundleTaskOutput{}
  467. req.Data = output
  468. return
  469. }
  470. // Cancels a bundling operation for an instance store-backed Windows instance.
  471. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  472. req, out := c.CancelBundleTaskRequest(input)
  473. err := req.Send()
  474. return out, err
  475. }
  476. const opCancelConversionTask = "CancelConversionTask"
  477. // CancelConversionTaskRequest generates a request for the CancelConversionTask operation.
  478. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  479. op := &request.Operation{
  480. Name: opCancelConversionTask,
  481. HTTPMethod: "POST",
  482. HTTPPath: "/",
  483. }
  484. if input == nil {
  485. input = &CancelConversionTaskInput{}
  486. }
  487. req = c.newRequest(op, input, output)
  488. output = &CancelConversionTaskOutput{}
  489. req.Data = output
  490. return
  491. }
  492. // Cancels an active conversion task. The task can be the import of an instance
  493. // or volume. The action removes all artifacts of the conversion, including
  494. // a partially uploaded volume or instance. If the conversion is complete or
  495. // is in the process of transferring the final disk image, the command fails
  496. // and returns an exception.
  497. //
  498. // For more information, see Using the Command Line Tools to Import Your Virtual
  499. // Machine to Amazon EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
  500. // in the Amazon Elastic Compute Cloud User Guide.
  501. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  502. req, out := c.CancelConversionTaskRequest(input)
  503. err := req.Send()
  504. return out, err
  505. }
  506. const opCancelExportTask = "CancelExportTask"
  507. // CancelExportTaskRequest generates a request for the CancelExportTask operation.
  508. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  509. op := &request.Operation{
  510. Name: opCancelExportTask,
  511. HTTPMethod: "POST",
  512. HTTPPath: "/",
  513. }
  514. if input == nil {
  515. input = &CancelExportTaskInput{}
  516. }
  517. req = c.newRequest(op, input, output)
  518. output = &CancelExportTaskOutput{}
  519. req.Data = output
  520. return
  521. }
  522. // Cancels an active export task. The request removes all artifacts of the export,
  523. // including any partially-created Amazon S3 objects. If the export task is
  524. // complete or is in the process of transferring the final disk image, the command
  525. // fails and returns an error.
  526. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  527. req, out := c.CancelExportTaskRequest(input)
  528. err := req.Send()
  529. return out, err
  530. }
  531. const opCancelImportTask = "CancelImportTask"
  532. // CancelImportTaskRequest generates a request for the CancelImportTask operation.
  533. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  534. op := &request.Operation{
  535. Name: opCancelImportTask,
  536. HTTPMethod: "POST",
  537. HTTPPath: "/",
  538. }
  539. if input == nil {
  540. input = &CancelImportTaskInput{}
  541. }
  542. req = c.newRequest(op, input, output)
  543. output = &CancelImportTaskOutput{}
  544. req.Data = output
  545. return
  546. }
  547. // Cancels an in-process import virtual machine or import snapshot task.
  548. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  549. req, out := c.CancelImportTaskRequest(input)
  550. err := req.Send()
  551. return out, err
  552. }
  553. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  554. // CancelReservedInstancesListingRequest generates a request for the CancelReservedInstancesListing operation.
  555. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  556. op := &request.Operation{
  557. Name: opCancelReservedInstancesListing,
  558. HTTPMethod: "POST",
  559. HTTPPath: "/",
  560. }
  561. if input == nil {
  562. input = &CancelReservedInstancesListingInput{}
  563. }
  564. req = c.newRequest(op, input, output)
  565. output = &CancelReservedInstancesListingOutput{}
  566. req.Data = output
  567. return
  568. }
  569. // Cancels the specified Reserved Instance listing in the Reserved Instance
  570. // Marketplace.
  571. //
  572. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  573. // in the Amazon Elastic Compute Cloud User Guide.
  574. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  575. req, out := c.CancelReservedInstancesListingRequest(input)
  576. err := req.Send()
  577. return out, err
  578. }
  579. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  580. // CancelSpotFleetRequestsRequest generates a request for the CancelSpotFleetRequests operation.
  581. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  582. op := &request.Operation{
  583. Name: opCancelSpotFleetRequests,
  584. HTTPMethod: "POST",
  585. HTTPPath: "/",
  586. }
  587. if input == nil {
  588. input = &CancelSpotFleetRequestsInput{}
  589. }
  590. req = c.newRequest(op, input, output)
  591. output = &CancelSpotFleetRequestsOutput{}
  592. req.Data = output
  593. return
  594. }
  595. // Cancels the specified Spot fleet requests.
  596. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  597. req, out := c.CancelSpotFleetRequestsRequest(input)
  598. err := req.Send()
  599. return out, err
  600. }
  601. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  602. // CancelSpotInstanceRequestsRequest generates a request for the CancelSpotInstanceRequests operation.
  603. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  604. op := &request.Operation{
  605. Name: opCancelSpotInstanceRequests,
  606. HTTPMethod: "POST",
  607. HTTPPath: "/",
  608. }
  609. if input == nil {
  610. input = &CancelSpotInstanceRequestsInput{}
  611. }
  612. req = c.newRequest(op, input, output)
  613. output = &CancelSpotInstanceRequestsOutput{}
  614. req.Data = output
  615. return
  616. }
  617. // Cancels one or more Spot Instance requests. Spot Instances are instances
  618. // that Amazon EC2 starts on your behalf when the bid price that you specify
  619. // exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price
  620. // based on available Spot Instance capacity and current Spot Instance requests.
  621. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  622. // in the Amazon Elastic Compute Cloud User Guide.
  623. //
  624. // Canceling a Spot Instance request does not terminate running Spot Instances
  625. // associated with the request.
  626. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  627. req, out := c.CancelSpotInstanceRequestsRequest(input)
  628. err := req.Send()
  629. return out, err
  630. }
  631. const opConfirmProductInstance = "ConfirmProductInstance"
  632. // ConfirmProductInstanceRequest generates a request for the ConfirmProductInstance operation.
  633. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  634. op := &request.Operation{
  635. Name: opConfirmProductInstance,
  636. HTTPMethod: "POST",
  637. HTTPPath: "/",
  638. }
  639. if input == nil {
  640. input = &ConfirmProductInstanceInput{}
  641. }
  642. req = c.newRequest(op, input, output)
  643. output = &ConfirmProductInstanceOutput{}
  644. req.Data = output
  645. return
  646. }
  647. // Determines whether a product code is associated with an instance. This action
  648. // can only be used by the owner of the product code. It is useful when a product
  649. // code owner needs to verify whether another user's instance is eligible for
  650. // support.
  651. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  652. req, out := c.ConfirmProductInstanceRequest(input)
  653. err := req.Send()
  654. return out, err
  655. }
  656. const opCopyImage = "CopyImage"
  657. // CopyImageRequest generates a request for the CopyImage operation.
  658. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  659. op := &request.Operation{
  660. Name: opCopyImage,
  661. HTTPMethod: "POST",
  662. HTTPPath: "/",
  663. }
  664. if input == nil {
  665. input = &CopyImageInput{}
  666. }
  667. req = c.newRequest(op, input, output)
  668. output = &CopyImageOutput{}
  669. req.Data = output
  670. return
  671. }
  672. // Initiates the copy of an AMI from the specified source region to the current
  673. // region. You specify the destination region by using its endpoint when making
  674. // the request. AMIs that use encrypted EBS snapshots cannot be copied with
  675. // this method.
  676. //
  677. // For more information, see Copying AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  678. // in the Amazon Elastic Compute Cloud User Guide.
  679. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  680. req, out := c.CopyImageRequest(input)
  681. err := req.Send()
  682. return out, err
  683. }
  684. const opCopySnapshot = "CopySnapshot"
  685. // CopySnapshotRequest generates a request for the CopySnapshot operation.
  686. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  687. op := &request.Operation{
  688. Name: opCopySnapshot,
  689. HTTPMethod: "POST",
  690. HTTPPath: "/",
  691. }
  692. if input == nil {
  693. input = &CopySnapshotInput{}
  694. }
  695. req = c.newRequest(op, input, output)
  696. output = &CopySnapshotOutput{}
  697. req.Data = output
  698. return
  699. }
  700. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  701. // S3. You can copy the snapshot within the same region or from one region to
  702. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  703. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  704. // the HTTP request to.
  705. //
  706. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  707. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  708. // the snapshot copy operation. By default, encrypted snapshot copies use the
  709. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  710. // you can specify a non-default CMK with the KmsKeyId parameter.
  711. //
  712. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  713. // in the Amazon Elastic Compute Cloud User Guide.
  714. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  715. req, out := c.CopySnapshotRequest(input)
  716. err := req.Send()
  717. return out, err
  718. }
  719. const opCreateCustomerGateway = "CreateCustomerGateway"
  720. // CreateCustomerGatewayRequest generates a request for the CreateCustomerGateway operation.
  721. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  722. op := &request.Operation{
  723. Name: opCreateCustomerGateway,
  724. HTTPMethod: "POST",
  725. HTTPPath: "/",
  726. }
  727. if input == nil {
  728. input = &CreateCustomerGatewayInput{}
  729. }
  730. req = c.newRequest(op, input, output)
  731. output = &CreateCustomerGatewayOutput{}
  732. req.Data = output
  733. return
  734. }
  735. // Provides information to AWS about your VPN customer gateway device. The customer
  736. // gateway is the appliance at your end of the VPN connection. (The device on
  737. // the AWS side of the VPN connection is the virtual private gateway.) You must
  738. // provide the Internet-routable IP address of the customer gateway's external
  739. // interface. The IP address must be static and can't be behind a device performing
  740. // network address translation (NAT).
  741. //
  742. // For devices that use Border Gateway Protocol (BGP), you can also provide
  743. // the device's BGP Autonomous System Number (ASN). You can use an existing
  744. // ASN assigned to your network. If you don't have an ASN already, you can use
  745. // a private ASN (in the 64512 - 65534 range).
  746. //
  747. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  748. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  749. // which is reserved in the eu-west-1 region.
  750. //
  751. // For more information about VPN customer gateways, see Adding a Hardware
  752. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  753. // in the Amazon Virtual Private Cloud User Guide.
  754. //
  755. // You cannot create more than one customer gateway with the same VPN type,
  756. // IP address, and BGP ASN parameter values. If you run an identical request
  757. // more than one time, the first request creates the customer gateway, and subsequent
  758. // requests return information about the existing customer gateway. The subsequent
  759. // requests do not create new customer gateway resources.
  760. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  761. req, out := c.CreateCustomerGatewayRequest(input)
  762. err := req.Send()
  763. return out, err
  764. }
  765. const opCreateDhcpOptions = "CreateDhcpOptions"
  766. // CreateDhcpOptionsRequest generates a request for the CreateDhcpOptions operation.
  767. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  768. op := &request.Operation{
  769. Name: opCreateDhcpOptions,
  770. HTTPMethod: "POST",
  771. HTTPPath: "/",
  772. }
  773. if input == nil {
  774. input = &CreateDhcpOptionsInput{}
  775. }
  776. req = c.newRequest(op, input, output)
  777. output = &CreateDhcpOptionsOutput{}
  778. req.Data = output
  779. return
  780. }
  781. // Creates a set of DHCP options for your VPC. After creating the set, you must
  782. // associate it with the VPC, causing all existing and new instances that you
  783. // launch in the VPC to use this set of DHCP options. The following are the
  784. // individual DHCP options you can specify. For more information about the options,
  785. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  786. //
  787. // domain-name-servers - The IP addresses of up to four domain name servers,
  788. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  789. // If specifying more than one domain name server, specify the IP addresses
  790. // in a single parameter, separated by commas. domain-name - If you're using
  791. // AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS
  792. // in another region, specify region.compute.internal (for example, ap-northeast-1.compute.internal).
  793. // Otherwise, specify a domain name (for example, MyCompany.com). Important:
  794. // Some Linux operating systems accept multiple domain names separated by spaces.
  795. // However, Windows and other Linux operating systems treat the value as a single
  796. // domain, which results in unexpected behavior. If your DHCP options set is
  797. // associated with a VPC that has instances with multiple operating systems,
  798. // specify only one domain name. ntp-servers - The IP addresses of up to four
  799. // Network Time Protocol (NTP) servers. netbios-name-servers - The IP addresses
  800. // of up to four NetBIOS name servers. netbios-node-type - The NetBIOS node
  801. // type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast
  802. // are not currently supported). For more information about these node types,
  803. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt). Your VPC automatically
  804. // starts out with a set of DHCP options that includes only a DNS server that
  805. // we provide (AmazonProvidedDNS). If you create a set of options, and if your
  806. // VPC has an Internet gateway, make sure to set the domain-name-servers option
  807. // either to AmazonProvidedDNS or to a domain name server of your choice. For
  808. // more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  809. // in the Amazon Virtual Private Cloud User Guide.
  810. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  811. req, out := c.CreateDhcpOptionsRequest(input)
  812. err := req.Send()
  813. return out, err
  814. }
  815. const opCreateFlowLogs = "CreateFlowLogs"
  816. // CreateFlowLogsRequest generates a request for the CreateFlowLogs operation.
  817. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  818. op := &request.Operation{
  819. Name: opCreateFlowLogs,
  820. HTTPMethod: "POST",
  821. HTTPPath: "/",
  822. }
  823. if input == nil {
  824. input = &CreateFlowLogsInput{}
  825. }
  826. req = c.newRequest(op, input, output)
  827. output = &CreateFlowLogsOutput{}
  828. req.Data = output
  829. return
  830. }
  831. // Creates one or more flow logs to capture IP traffic for a specific network
  832. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  833. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  834. // a log stream is created in CloudWatch Logs for each network interface in
  835. // the subnet or VPC. Log streams can include information about accepted and
  836. // rejected traffic to a network interface. You can view the data in your log
  837. // streams using Amazon CloudWatch Logs.
  838. //
  839. // In your request, you must also specify an IAM role that has permission to
  840. // publish logs to CloudWatch Logs.
  841. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  842. req, out := c.CreateFlowLogsRequest(input)
  843. err := req.Send()
  844. return out, err
  845. }
  846. const opCreateImage = "CreateImage"
  847. // CreateImageRequest generates a request for the CreateImage operation.
  848. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  849. op := &request.Operation{
  850. Name: opCreateImage,
  851. HTTPMethod: "POST",
  852. HTTPPath: "/",
  853. }
  854. if input == nil {
  855. input = &CreateImageInput{}
  856. }
  857. req = c.newRequest(op, input, output)
  858. output = &CreateImageOutput{}
  859. req.Data = output
  860. return
  861. }
  862. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  863. // is either running or stopped.
  864. //
  865. // If you customized your instance with instance store volumes or EBS volumes
  866. // in addition to the root device volume, the new AMI contains block device
  867. // mapping information for those volumes. When you launch an instance from this
  868. // new AMI, the instance automatically launches with those additional volumes.
  869. //
  870. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  871. // in the Amazon Elastic Compute Cloud User Guide.
  872. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  873. req, out := c.CreateImageRequest(input)
  874. err := req.Send()
  875. return out, err
  876. }
  877. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  878. // CreateInstanceExportTaskRequest generates a request for the CreateInstanceExportTask operation.
  879. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  880. op := &request.Operation{
  881. Name: opCreateInstanceExportTask,
  882. HTTPMethod: "POST",
  883. HTTPPath: "/",
  884. }
  885. if input == nil {
  886. input = &CreateInstanceExportTaskInput{}
  887. }
  888. req = c.newRequest(op, input, output)
  889. output = &CreateInstanceExportTaskOutput{}
  890. req.Data = output
  891. return
  892. }
  893. // Exports a running or stopped instance to an S3 bucket.
  894. //
  895. // For information about the supported operating systems, image formats, and
  896. // known limitations for the types of instances you can export, see Exporting
  897. // EC2 Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExportingEC2Instances.html)
  898. // in the Amazon Elastic Compute Cloud User Guide.
  899. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  900. req, out := c.CreateInstanceExportTaskRequest(input)
  901. err := req.Send()
  902. return out, err
  903. }
  904. const opCreateInternetGateway = "CreateInternetGateway"
  905. // CreateInternetGatewayRequest generates a request for the CreateInternetGateway operation.
  906. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  907. op := &request.Operation{
  908. Name: opCreateInternetGateway,
  909. HTTPMethod: "POST",
  910. HTTPPath: "/",
  911. }
  912. if input == nil {
  913. input = &CreateInternetGatewayInput{}
  914. }
  915. req = c.newRequest(op, input, output)
  916. output = &CreateInternetGatewayOutput{}
  917. req.Data = output
  918. return
  919. }
  920. // Creates an Internet gateway for use with a VPC. After creating the Internet
  921. // gateway, you attach it to a VPC using AttachInternetGateway.
  922. //
  923. // For more information about your VPC and Internet gateway, see the Amazon
  924. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  925. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  926. req, out := c.CreateInternetGatewayRequest(input)
  927. err := req.Send()
  928. return out, err
  929. }
  930. const opCreateKeyPair = "CreateKeyPair"
  931. // CreateKeyPairRequest generates a request for the CreateKeyPair operation.
  932. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  933. op := &request.Operation{
  934. Name: opCreateKeyPair,
  935. HTTPMethod: "POST",
  936. HTTPPath: "/",
  937. }
  938. if input == nil {
  939. input = &CreateKeyPairInput{}
  940. }
  941. req = c.newRequest(op, input, output)
  942. output = &CreateKeyPairOutput{}
  943. req.Data = output
  944. return
  945. }
  946. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  947. // the public key and displays the private key for you to save to a file. The
  948. // private key is returned as an unencrypted PEM encoded PKCS#8 private key.
  949. // If a key with the specified name already exists, Amazon EC2 returns an error.
  950. //
  951. // You can have up to five thousand key pairs per region.
  952. //
  953. // The key pair returned to you is available only in the region in which you
  954. // create it. To create a key pair that is available in all regions, use ImportKeyPair.
  955. //
  956. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  957. // in the Amazon Elastic Compute Cloud User Guide.
  958. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  959. req, out := c.CreateKeyPairRequest(input)
  960. err := req.Send()
  961. return out, err
  962. }
  963. const opCreateNetworkAcl = "CreateNetworkAcl"
  964. // CreateNetworkAclRequest generates a request for the CreateNetworkAcl operation.
  965. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  966. op := &request.Operation{
  967. Name: opCreateNetworkAcl,
  968. HTTPMethod: "POST",
  969. HTTPPath: "/",
  970. }
  971. if input == nil {
  972. input = &CreateNetworkAclInput{}
  973. }
  974. req = c.newRequest(op, input, output)
  975. output = &CreateNetworkAclOutput{}
  976. req.Data = output
  977. return
  978. }
  979. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  980. // security (in addition to security groups) for the instances in your VPC.
  981. //
  982. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  983. // in the Amazon Virtual Private Cloud User Guide.
  984. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  985. req, out := c.CreateNetworkAclRequest(input)
  986. err := req.Send()
  987. return out, err
  988. }
  989. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  990. // CreateNetworkAclEntryRequest generates a request for the CreateNetworkAclEntry operation.
  991. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  992. op := &request.Operation{
  993. Name: opCreateNetworkAclEntry,
  994. HTTPMethod: "POST",
  995. HTTPPath: "/",
  996. }
  997. if input == nil {
  998. input = &CreateNetworkAclEntryInput{}
  999. }
  1000. req = c.newRequest(op, input, output)
  1001. output = &CreateNetworkAclEntryOutput{}
  1002. req.Data = output
  1003. return
  1004. }
  1005. // Creates an entry (a rule) in a network ACL with the specified rule number.
  1006. // Each network ACL has a set of numbered ingress rules and a separate set of
  1007. // numbered egress rules. When determining whether a packet should be allowed
  1008. // in or out of a subnet associated with the ACL, we process the entries in
  1009. // the ACL according to the rule numbers, in ascending order. Each network ACL
  1010. // has a set of ingress rules and a separate set of egress rules.
  1011. //
  1012. // We recommend that you leave room between the rule numbers (for example,
  1013. // 100, 110, 120, ...), and not number them one right after the other (for example,
  1014. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  1015. // ones without having to renumber the rules.
  1016. //
  1017. // After you add an entry, you can't modify it; you must either replace it,
  1018. // or create an entry and delete the old one.
  1019. //
  1020. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  1021. // in the Amazon Virtual Private Cloud User Guide.
  1022. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  1023. req, out := c.CreateNetworkAclEntryRequest(input)
  1024. err := req.Send()
  1025. return out, err
  1026. }
  1027. const opCreateNetworkInterface = "CreateNetworkInterface"
  1028. // CreateNetworkInterfaceRequest generates a request for the CreateNetworkInterface operation.
  1029. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  1030. op := &request.Operation{
  1031. Name: opCreateNetworkInterface,
  1032. HTTPMethod: "POST",
  1033. HTTPPath: "/",
  1034. }
  1035. if input == nil {
  1036. input = &CreateNetworkInterfaceInput{}
  1037. }
  1038. req = c.newRequest(op, input, output)
  1039. output = &CreateNetworkInterfaceOutput{}
  1040. req.Data = output
  1041. return
  1042. }
  1043. // Creates a network interface in the specified subnet.
  1044. //
  1045. // For more information about network interfaces, see Elastic Network Interfaces
  1046. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  1047. // Amazon Elastic Compute Cloud User Guide.
  1048. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  1049. req, out := c.CreateNetworkInterfaceRequest(input)
  1050. err := req.Send()
  1051. return out, err
  1052. }
  1053. const opCreatePlacementGroup = "CreatePlacementGroup"
  1054. // CreatePlacementGroupRequest generates a request for the CreatePlacementGroup operation.
  1055. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  1056. op := &request.Operation{
  1057. Name: opCreatePlacementGroup,
  1058. HTTPMethod: "POST",
  1059. HTTPPath: "/",
  1060. }
  1061. if input == nil {
  1062. input = &CreatePlacementGroupInput{}
  1063. }
  1064. req = c.newRequest(op, input, output)
  1065. output = &CreatePlacementGroupOutput{}
  1066. req.Data = output
  1067. return
  1068. }
  1069. // Creates a placement group that you launch cluster instances into. You must
  1070. // give the group a name that's unique within the scope of your account.
  1071. //
  1072. // For more information about placement groups and cluster instances, see Cluster
  1073. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  1074. // in the Amazon Elastic Compute Cloud User Guide.
  1075. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  1076. req, out := c.CreatePlacementGroupRequest(input)
  1077. err := req.Send()
  1078. return out, err
  1079. }
  1080. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  1081. // CreateReservedInstancesListingRequest generates a request for the CreateReservedInstancesListing operation.
  1082. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  1083. op := &request.Operation{
  1084. Name: opCreateReservedInstancesListing,
  1085. HTTPMethod: "POST",
  1086. HTTPPath: "/",
  1087. }
  1088. if input == nil {
  1089. input = &CreateReservedInstancesListingInput{}
  1090. }
  1091. req = c.newRequest(op, input, output)
  1092. output = &CreateReservedInstancesListingOutput{}
  1093. req.Data = output
  1094. return
  1095. }
  1096. // Creates a listing for Amazon EC2 Reserved Instances to be sold in the Reserved
  1097. // Instance Marketplace. You can submit one Reserved Instance listing at a time.
  1098. // To get a list of your Reserved Instances, you can use the DescribeReservedInstances
  1099. // operation.
  1100. //
  1101. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  1102. // Instance capacity that they no longer need with buyers who want to purchase
  1103. // additional capacity. Reserved Instances bought and sold through the Reserved
  1104. // Instance Marketplace work like any other Reserved Instances.
  1105. //
  1106. // To sell your Reserved Instances, you must first register as a seller in
  1107. // the Reserved Instance Marketplace. After completing the registration process,
  1108. // you can create a Reserved Instance Marketplace listing of some or all of
  1109. // your Reserved Instances, and specify the upfront price to receive for them.
  1110. // Your Reserved Instance listings then become available for purchase. To view
  1111. // the details of your Reserved Instance listing, you can use the DescribeReservedInstancesListings
  1112. // operation.
  1113. //
  1114. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1115. // in the Amazon Elastic Compute Cloud User Guide.
  1116. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  1117. req, out := c.CreateReservedInstancesListingRequest(input)
  1118. err := req.Send()
  1119. return out, err
  1120. }
  1121. const opCreateRoute = "CreateRoute"
  1122. // CreateRouteRequest generates a request for the CreateRoute operation.
  1123. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  1124. op := &request.Operation{
  1125. Name: opCreateRoute,
  1126. HTTPMethod: "POST",
  1127. HTTPPath: "/",
  1128. }
  1129. if input == nil {
  1130. input = &CreateRouteInput{}
  1131. }
  1132. req = c.newRequest(op, input, output)
  1133. output = &CreateRouteOutput{}
  1134. req.Data = output
  1135. return
  1136. }
  1137. // Creates a route in a route table within a VPC.
  1138. //
  1139. // You must specify one of the following targets: Internet gateway or virtual
  1140. // private gateway, NAT instance, VPC peering connection, or network interface.
  1141. //
  1142. // When determining how to route traffic, we use the route with the most specific
  1143. // match. For example, let's say the traffic is destined for 192.0.2.3, and
  1144. // the route table includes the following two routes:
  1145. //
  1146. // 192.0.2.0/24 (goes to some target A)
  1147. //
  1148. // 192.0.2.0/28 (goes to some target B)
  1149. //
  1150. // Both routes apply to the traffic destined for 192.0.2.3. However, the
  1151. // second route in the list covers a smaller number of IP addresses and is therefore
  1152. // more specific, so we use that route to determine where to target the traffic.
  1153. //
  1154. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  1155. // in the Amazon Virtual Private Cloud User Guide.
  1156. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  1157. req, out := c.CreateRouteRequest(input)
  1158. err := req.Send()
  1159. return out, err
  1160. }
  1161. const opCreateRouteTable = "CreateRouteTable"
  1162. // CreateRouteTableRequest generates a request for the CreateRouteTable operation.
  1163. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  1164. op := &request.Operation{
  1165. Name: opCreateRouteTable,
  1166. HTTPMethod: "POST",
  1167. HTTPPath: "/",
  1168. }
  1169. if input == nil {
  1170. input = &CreateRouteTableInput{}
  1171. }
  1172. req = c.newRequest(op, input, output)
  1173. output = &CreateRouteTableOutput{}
  1174. req.Data = output
  1175. return
  1176. }
  1177. // Creates a route table for the specified VPC. After you create a route table,
  1178. // you can add routes and associate the table with a subnet.
  1179. //
  1180. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  1181. // in the Amazon Virtual Private Cloud User Guide.
  1182. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  1183. req, out := c.CreateRouteTableRequest(input)
  1184. err := req.Send()
  1185. return out, err
  1186. }
  1187. const opCreateSecurityGroup = "CreateSecurityGroup"
  1188. // CreateSecurityGroupRequest generates a request for the CreateSecurityGroup operation.
  1189. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  1190. op := &request.Operation{
  1191. Name: opCreateSecurityGroup,
  1192. HTTPMethod: "POST",
  1193. HTTPPath: "/",
  1194. }
  1195. if input == nil {
  1196. input = &CreateSecurityGroupInput{}
  1197. }
  1198. req = c.newRequest(op, input, output)
  1199. output = &CreateSecurityGroupOutput{}
  1200. req.Data = output
  1201. return
  1202. }
  1203. // Creates a security group.
  1204. //
  1205. // A security group is for use with instances either in the EC2-Classic platform
  1206. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  1207. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  1208. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  1209. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1210. // in the Amazon Virtual Private Cloud User Guide.
  1211. //
  1212. // EC2-Classic: You can have up to 500 security groups.
  1213. //
  1214. // EC2-VPC: You can create up to 100 security groups per VPC.
  1215. //
  1216. // When you create a security group, you specify a friendly name of your choice.
  1217. // You can have a security group for use in EC2-Classic with the same name as
  1218. // a security group for use in a VPC. However, you can't have two security groups
  1219. // for use in EC2-Classic with the same name or two security groups for use
  1220. // in a VPC with the same name.
  1221. //
  1222. // You have a default security group for use in EC2-Classic and a default security
  1223. // group for use in your VPC. If you don't specify a security group when you
  1224. // launch an instance, the instance is launched into the appropriate default
  1225. // security group. A default security group includes a default rule that grants
  1226. // instances unrestricted network access to each other.
  1227. //
  1228. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  1229. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  1230. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  1231. req, out := c.CreateSecurityGroupRequest(input)
  1232. err := req.Send()
  1233. return out, err
  1234. }
  1235. const opCreateSnapshot = "CreateSnapshot"
  1236. // CreateSnapshotRequest generates a request for the CreateSnapshot operation.
  1237. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  1238. op := &request.Operation{
  1239. Name: opCreateSnapshot,
  1240. HTTPMethod: "POST",
  1241. HTTPPath: "/",
  1242. }
  1243. if input == nil {
  1244. input = &CreateSnapshotInput{}
  1245. }
  1246. req = c.newRequest(op, input, output)
  1247. output = &Snapshot{}
  1248. req.Data = output
  1249. return
  1250. }
  1251. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  1252. // snapshots for backups, to make copies of EBS volumes, and to save data before
  1253. // shutting down an instance.
  1254. //
  1255. // When a snapshot is created, any AWS Marketplace product codes that are associated
  1256. // with the source volume are propagated to the snapshot.
  1257. //
  1258. // You can take a snapshot of an attached volume that is in use. However, snapshots
  1259. // only capture data that has been written to your EBS volume at the time the
  1260. // snapshot command is issued; this may exclude any data that has been cached
  1261. // by any applications or the operating system. If you can pause any file systems
  1262. // on the volume long enough to take a snapshot, your snapshot should be complete.
  1263. // However, if you cannot pause all file writes to the volume, you should unmount
  1264. // the volume from within the instance, issue the snapshot command, and then
  1265. // remount the volume to ensure a consistent and complete snapshot. You may
  1266. // remount and use your volume while the snapshot status is pending.
  1267. //
  1268. // To create a snapshot for EBS volumes that serve as root devices, you should
  1269. // stop the instance before taking the snapshot.
  1270. //
  1271. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  1272. // Volumes that are created from encrypted snapshots are also automatically
  1273. // encrypted. Your encrypted volumes and any associated snapshots always remain
  1274. // protected.
  1275. //
  1276. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  1277. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1278. // in the Amazon Elastic Compute Cloud User Guide.
  1279. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  1280. req, out := c.CreateSnapshotRequest(input)
  1281. err := req.Send()
  1282. return out, err
  1283. }
  1284. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  1285. // CreateSpotDatafeedSubscriptionRequest generates a request for the CreateSpotDatafeedSubscription operation.
  1286. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  1287. op := &request.Operation{
  1288. Name: opCreateSpotDatafeedSubscription,
  1289. HTTPMethod: "POST",
  1290. HTTPPath: "/",
  1291. }
  1292. if input == nil {
  1293. input = &CreateSpotDatafeedSubscriptionInput{}
  1294. }
  1295. req = c.newRequest(op, input, output)
  1296. output = &CreateSpotDatafeedSubscriptionOutput{}
  1297. req.Data = output
  1298. return
  1299. }
  1300. // Creates a data feed for Spot Instances, enabling you to view Spot Instance
  1301. // usage logs. You can create one data feed per AWS account. For more information,
  1302. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  1303. // in the Amazon Elastic Compute Cloud User Guide.
  1304. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  1305. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  1306. err := req.Send()
  1307. return out, err
  1308. }
  1309. const opCreateSubnet = "CreateSubnet"
  1310. // CreateSubnetRequest generates a request for the CreateSubnet operation.
  1311. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  1312. op := &request.Operation{
  1313. Name: opCreateSubnet,
  1314. HTTPMethod: "POST",
  1315. HTTPPath: "/",
  1316. }
  1317. if input == nil {
  1318. input = &CreateSubnetInput{}
  1319. }
  1320. req = c.newRequest(op, input, output)
  1321. output = &CreateSubnetOutput{}
  1322. req.Data = output
  1323. return
  1324. }
  1325. // Creates a subnet in an existing VPC.
  1326. //
  1327. // When you create each subnet, you provide the VPC ID and the CIDR block you
  1328. // want for the subnet. After you create a subnet, you can't change its CIDR
  1329. // block. The subnet's CIDR block can be the same as the VPC's CIDR block (assuming
  1330. // you want only a single subnet in the VPC), or a subset of the VPC's CIDR
  1331. // block. If you create more than one subnet in a VPC, the subnets' CIDR blocks
  1332. // must not overlap. The smallest subnet (and VPC) you can create uses a /28
  1333. // netmask (16 IP addresses), and the largest uses a /16 netmask (65,536 IP
  1334. // addresses).
  1335. //
  1336. // AWS reserves both the first four and the last IP address in each subnet's
  1337. // CIDR block. They're not available for use.
  1338. //
  1339. // If you add more than one subnet to a VPC, they're set up in a star topology
  1340. // with a logical router in the middle.
  1341. //
  1342. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  1343. // address doesn't change if you stop and restart the instance (unlike a similar
  1344. // instance launched outside a VPC, which gets a new IP address when restarted).
  1345. // It's therefore possible to have a subnet with no running instances (they're
  1346. // all stopped), but no remaining IP addresses available.
  1347. //
  1348. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  1349. // in the Amazon Virtual Private Cloud User Guide.
  1350. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  1351. req, out := c.CreateSubnetRequest(input)
  1352. err := req.Send()
  1353. return out, err
  1354. }
  1355. const opCreateTags = "CreateTags"
  1356. // CreateTagsRequest generates a request for the CreateTags operation.
  1357. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  1358. op := &request.Operation{
  1359. Name: opCreateTags,
  1360. HTTPMethod: "POST",
  1361. HTTPPath: "/",
  1362. }
  1363. if input == nil {
  1364. input = &CreateTagsInput{}
  1365. }
  1366. req = c.newRequest(op, input, output)
  1367. output = &CreateTagsOutput{}
  1368. req.Data = output
  1369. return
  1370. }
  1371. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  1372. // or resources. Each resource can have a maximum of 10 tags. Each tag consists
  1373. // of a key and optional value. Tag keys must be unique per resource.
  1374. //
  1375. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  1376. // in the Amazon Elastic Compute Cloud User Guide.
  1377. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  1378. req, out := c.CreateTagsRequest(input)
  1379. err := req.Send()
  1380. return out, err
  1381. }
  1382. const opCreateVolume = "CreateVolume"
  1383. // CreateVolumeRequest generates a request for the CreateVolume operation.
  1384. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  1385. op := &request.Operation{
  1386. Name: opCreateVolume,
  1387. HTTPMethod: "POST",
  1388. HTTPPath: "/",
  1389. }
  1390. if input == nil {
  1391. input = &CreateVolumeInput{}
  1392. }
  1393. req = c.newRequest(op, input, output)
  1394. output = &Volume{}
  1395. req.Data = output
  1396. return
  1397. }
  1398. // Creates an EBS volume that can be attached to an instance in the same Availability
  1399. // Zone. The volume is created in the regional endpoint that you send the HTTP
  1400. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  1401. //
  1402. // You can create a new empty volume or restore a volume from an EBS snapshot.
  1403. // Any AWS Marketplace product codes from the snapshot are propagated to the
  1404. // volume.
  1405. //
  1406. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  1407. // volumes may only be attached to instances that support Amazon EBS encryption.
  1408. // Volumes that are created from encrypted snapshots are also automatically
  1409. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1410. // in the Amazon Elastic Compute Cloud User Guide.
  1411. //
  1412. // For more information, see Creating or Restoring an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  1413. // in the Amazon Elastic Compute Cloud User Guide.
  1414. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  1415. req, out := c.CreateVolumeRequest(input)
  1416. err := req.Send()
  1417. return out, err
  1418. }
  1419. const opCreateVpc = "CreateVpc"
  1420. // CreateVpcRequest generates a request for the CreateVpc operation.
  1421. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  1422. op := &request.Operation{
  1423. Name: opCreateVpc,
  1424. HTTPMethod: "POST",
  1425. HTTPPath: "/",
  1426. }
  1427. if input == nil {
  1428. input = &CreateVpcInput{}
  1429. }
  1430. req = c.newRequest(op, input, output)
  1431. output = &CreateVpcOutput{}
  1432. req.Data = output
  1433. return
  1434. }
  1435. // Creates a VPC with the specified CIDR block.
  1436. //
  1437. // The smallest VPC you can create uses a /28 netmask (16 IP addresses), and
  1438. // the largest uses a /16 netmask (65,536 IP addresses). To help you decide
  1439. // how big to make your VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  1440. // in the Amazon Virtual Private Cloud User Guide.
  1441. //
  1442. // By default, each instance you launch in the VPC has the default DHCP options,
  1443. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  1444. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  1445. // in the Amazon Virtual Private Cloud User Guide.
  1446. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  1447. req, out := c.CreateVpcRequest(input)
  1448. err := req.Send()
  1449. return out, err
  1450. }
  1451. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  1452. // CreateVpcEndpointRequest generates a request for the CreateVpcEndpoint operation.
  1453. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  1454. op := &request.Operation{
  1455. Name: opCreateVpcEndpoint,
  1456. HTTPMethod: "POST",
  1457. HTTPPath: "/",
  1458. }
  1459. if input == nil {
  1460. input = &CreateVpcEndpointInput{}
  1461. }
  1462. req = c.newRequest(op, input, output)
  1463. output = &CreateVpcEndpointOutput{}
  1464. req.Data = output
  1465. return
  1466. }
  1467. // Creates a VPC endpoint for a specified AWS service. An endpoint enables you
  1468. // to create a private connection between your VPC and another AWS service in
  1469. // your account. You can specify an endpoint policy to attach to the endpoint
  1470. // that will control access to the service from your VPC. You can also specify
  1471. // the VPC route tables that use the endpoint.
  1472. //
  1473. // Currently, only endpoints to Amazon S3 are supported.
  1474. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  1475. req, out := c.CreateVpcEndpointRequest(input)
  1476. err := req.Send()
  1477. return out, err
  1478. }
  1479. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  1480. // CreateVpcPeeringConnectionRequest generates a request for the CreateVpcPeeringConnection operation.
  1481. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  1482. op := &request.Operation{
  1483. Name: opCreateVpcPeeringConnection,
  1484. HTTPMethod: "POST",
  1485. HTTPPath: "/",
  1486. }
  1487. if input == nil {
  1488. input = &CreateVpcPeeringConnectionInput{}
  1489. }
  1490. req = c.newRequest(op, input, output)
  1491. output = &CreateVpcPeeringConnectionOutput{}
  1492. req.Data = output
  1493. return
  1494. }
  1495. // Requests a VPC peering connection between two VPCs: a requester VPC that
  1496. // you own and a peer VPC with which to create the connection. The peer VPC
  1497. // can belong to another AWS account. The requester VPC and peer VPC cannot
  1498. // have overlapping CIDR blocks.
  1499. //
  1500. // The owner of the peer VPC must accept the peering request to activate the
  1501. // peering connection. The VPC peering connection request expires after 7 days,
  1502. // after which it cannot be accepted or rejected.
  1503. //
  1504. // A CreateVpcPeeringConnection request between VPCs with overlapping CIDR
  1505. // blocks results in the VPC peering connection having a status of failed.
  1506. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  1507. req, out := c.CreateVpcPeeringConnectionRequest(input)
  1508. err := req.Send()
  1509. return out, err
  1510. }
  1511. const opCreateVpnConnection = "CreateVpnConnection"
  1512. // CreateVpnConnectionRequest generates a request for the CreateVpnConnection operation.
  1513. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  1514. op := &request.Operation{
  1515. Name: opCreateVpnConnection,
  1516. HTTPMethod: "POST",
  1517. HTTPPath: "/",
  1518. }
  1519. if input == nil {
  1520. input = &CreateVpnConnectionInput{}
  1521. }
  1522. req = c.newRequest(op, input, output)
  1523. output = &CreateVpnConnectionOutput{}
  1524. req.Data = output
  1525. return
  1526. }
  1527. // Creates a VPN connection between an existing virtual private gateway and
  1528. // a VPN customer gateway. The only supported connection type is ipsec.1.
  1529. //
  1530. // The response includes information that you need to give to your network
  1531. // administrator to configure your customer gateway.
  1532. //
  1533. // We strongly recommend that you use HTTPS when calling this operation because
  1534. // the response contains sensitive cryptographic information for configuring
  1535. // your customer gateway.
  1536. //
  1537. // If you decide to shut down your VPN connection for any reason and later
  1538. // create a new VPN connection, you must reconfigure your customer gateway with
  1539. // the new information returned from this call.
  1540. //
  1541. // For more information about VPN connections, see Adding a Hardware Virtual
  1542. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1543. // in the Amazon Virtual Private Cloud User Guide.
  1544. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  1545. req, out := c.CreateVpnConnectionRequest(input)
  1546. err := req.Send()
  1547. return out, err
  1548. }
  1549. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  1550. // CreateVpnConnectionRouteRequest generates a request for the CreateVpnConnectionRoute operation.
  1551. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  1552. op := &request.Operation{
  1553. Name: opCreateVpnConnectionRoute,
  1554. HTTPMethod: "POST",
  1555. HTTPPath: "/",
  1556. }
  1557. if input == nil {
  1558. input = &CreateVpnConnectionRouteInput{}
  1559. }
  1560. req = c.newRequest(op, input, output)
  1561. output = &CreateVpnConnectionRouteOutput{}
  1562. req.Data = output
  1563. return
  1564. }
  1565. // Creates a static route associated with a VPN connection between an existing
  1566. // virtual private gateway and a VPN customer gateway. The static route allows
  1567. // traffic to be routed from the virtual private gateway to the VPN customer
  1568. // gateway.
  1569. //
  1570. // For more information about VPN connections, see Adding a Hardware Virtual
  1571. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1572. // in the Amazon Virtual Private Cloud User Guide.
  1573. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  1574. req, out := c.CreateVpnConnectionRouteRequest(input)
  1575. err := req.Send()
  1576. return out, err
  1577. }
  1578. const opCreateVpnGateway = "CreateVpnGateway"
  1579. // CreateVpnGatewayRequest generates a request for the CreateVpnGateway operation.
  1580. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  1581. op := &request.Operation{
  1582. Name: opCreateVpnGateway,
  1583. HTTPMethod: "POST",
  1584. HTTPPath: "/",
  1585. }
  1586. if input == nil {
  1587. input = &CreateVpnGatewayInput{}
  1588. }
  1589. req = c.newRequest(op, input, output)
  1590. output = &CreateVpnGatewayOutput{}
  1591. req.Data = output
  1592. return
  1593. }
  1594. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  1595. // on the VPC side of your VPN connection. You can create a virtual private
  1596. // gateway before creating the VPC itself.
  1597. //
  1598. // For more information about virtual private gateways, see Adding a Hardware
  1599. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1600. // in the Amazon Virtual Private Cloud User Guide.
  1601. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  1602. req, out := c.CreateVpnGatewayRequest(input)
  1603. err := req.Send()
  1604. return out, err
  1605. }
  1606. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  1607. // DeleteCustomerGatewayRequest generates a request for the DeleteCustomerGateway operation.
  1608. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  1609. op := &request.Operation{
  1610. Name: opDeleteCustomerGateway,
  1611. HTTPMethod: "POST",
  1612. HTTPPath: "/",
  1613. }
  1614. if input == nil {
  1615. input = &DeleteCustomerGatewayInput{}
  1616. }
  1617. req = c.newRequest(op, input, output)
  1618. output = &DeleteCustomerGatewayOutput{}
  1619. req.Data = output
  1620. return
  1621. }
  1622. // Deletes the specified customer gateway. You must delete the VPN connection
  1623. // before you can delete the customer gateway.
  1624. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  1625. req, out := c.DeleteCustomerGatewayRequest(input)
  1626. err := req.Send()
  1627. return out, err
  1628. }
  1629. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  1630. // DeleteDhcpOptionsRequest generates a request for the DeleteDhcpOptions operation.
  1631. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  1632. op := &request.Operation{
  1633. Name: opDeleteDhcpOptions,
  1634. HTTPMethod: "POST",
  1635. HTTPPath: "/",
  1636. }
  1637. if input == nil {
  1638. input = &DeleteDhcpOptionsInput{}
  1639. }
  1640. req = c.newRequest(op, input, output)
  1641. output = &DeleteDhcpOptionsOutput{}
  1642. req.Data = output
  1643. return
  1644. }
  1645. // Deletes the specified set of DHCP options. You must disassociate the set
  1646. // of DHCP options before you can delete it. You can disassociate the set of
  1647. // DHCP options by associating either a new set of options or the default set
  1648. // of options with the VPC.
  1649. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  1650. req, out := c.DeleteDhcpOptionsRequest(input)
  1651. err := req.Send()
  1652. return out, err
  1653. }
  1654. const opDeleteFlowLogs = "DeleteFlowLogs"
  1655. // DeleteFlowLogsRequest generates a request for the DeleteFlowLogs operation.
  1656. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  1657. op := &request.Operation{
  1658. Name: opDeleteFlowLogs,
  1659. HTTPMethod: "POST",
  1660. HTTPPath: "/",
  1661. }
  1662. if input == nil {
  1663. input = &DeleteFlowLogsInput{}
  1664. }
  1665. req = c.newRequest(op, input, output)
  1666. output = &DeleteFlowLogsOutput{}
  1667. req.Data = output
  1668. return
  1669. }
  1670. // Deletes one or more flow logs.
  1671. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  1672. req, out := c.DeleteFlowLogsRequest(input)
  1673. err := req.Send()
  1674. return out, err
  1675. }
  1676. const opDeleteInternetGateway = "DeleteInternetGateway"
  1677. // DeleteInternetGatewayRequest generates a request for the DeleteInternetGateway operation.
  1678. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  1679. op := &request.Operation{
  1680. Name: opDeleteInternetGateway,
  1681. HTTPMethod: "POST",
  1682. HTTPPath: "/",
  1683. }
  1684. if input == nil {
  1685. input = &DeleteInternetGatewayInput{}
  1686. }
  1687. req = c.newRequest(op, input, output)
  1688. output = &DeleteInternetGatewayOutput{}
  1689. req.Data = output
  1690. return
  1691. }
  1692. // Deletes the specified Internet gateway. You must detach the Internet gateway
  1693. // from the VPC before you can delete it.
  1694. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  1695. req, out := c.DeleteInternetGatewayRequest(input)
  1696. err := req.Send()
  1697. return out, err
  1698. }
  1699. const opDeleteKeyPair = "DeleteKeyPair"
  1700. // DeleteKeyPairRequest generates a request for the DeleteKeyPair operation.
  1701. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  1702. op := &request.Operation{
  1703. Name: opDeleteKeyPair,
  1704. HTTPMethod: "POST",
  1705. HTTPPath: "/",
  1706. }
  1707. if input == nil {
  1708. input = &DeleteKeyPairInput{}
  1709. }
  1710. req = c.newRequest(op, input, output)
  1711. output = &DeleteKeyPairOutput{}
  1712. req.Data = output
  1713. return
  1714. }
  1715. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  1716. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  1717. req, out := c.DeleteKeyPairRequest(input)
  1718. err := req.Send()
  1719. return out, err
  1720. }
  1721. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  1722. // DeleteNetworkAclRequest generates a request for the DeleteNetworkAcl operation.
  1723. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  1724. op := &request.Operation{
  1725. Name: opDeleteNetworkAcl,
  1726. HTTPMethod: "POST",
  1727. HTTPPath: "/",
  1728. }
  1729. if input == nil {
  1730. input = &DeleteNetworkAclInput{}
  1731. }
  1732. req = c.newRequest(op, input, output)
  1733. output = &DeleteNetworkAclOutput{}
  1734. req.Data = output
  1735. return
  1736. }
  1737. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  1738. // with any subnets. You can't delete the default network ACL.
  1739. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  1740. req, out := c.DeleteNetworkAclRequest(input)
  1741. err := req.Send()
  1742. return out, err
  1743. }
  1744. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  1745. // DeleteNetworkAclEntryRequest generates a request for the DeleteNetworkAclEntry operation.
  1746. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  1747. op := &request.Operation{
  1748. Name: opDeleteNetworkAclEntry,
  1749. HTTPMethod: "POST",
  1750. HTTPPath: "/",
  1751. }
  1752. if input == nil {
  1753. input = &DeleteNetworkAclEntryInput{}
  1754. }
  1755. req = c.newRequest(op, input, output)
  1756. output = &DeleteNetworkAclEntryOutput{}
  1757. req.Data = output
  1758. return
  1759. }
  1760. // Deletes the specified ingress or egress entry (rule) from the specified network
  1761. // ACL.
  1762. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  1763. req, out := c.DeleteNetworkAclEntryRequest(input)
  1764. err := req.Send()
  1765. return out, err
  1766. }
  1767. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  1768. // DeleteNetworkInterfaceRequest generates a request for the DeleteNetworkInterface operation.
  1769. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  1770. op := &request.Operation{
  1771. Name: opDeleteNetworkInterface,
  1772. HTTPMethod: "POST",
  1773. HTTPPath: "/",
  1774. }
  1775. if input == nil {
  1776. input = &DeleteNetworkInterfaceInput{}
  1777. }
  1778. req = c.newRequest(op, input, output)
  1779. output = &DeleteNetworkInterfaceOutput{}
  1780. req.Data = output
  1781. return
  1782. }
  1783. // Deletes the specified network interface. You must detach the network interface
  1784. // before you can delete it.
  1785. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  1786. req, out := c.DeleteNetworkInterfaceRequest(input)
  1787. err := req.Send()
  1788. return out, err
  1789. }
  1790. const opDeletePlacementGroup = "DeletePlacementGroup"
  1791. // DeletePlacementGroupRequest generates a request for the DeletePlacementGroup operation.
  1792. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  1793. op := &request.Operation{
  1794. Name: opDeletePlacementGroup,
  1795. HTTPMethod: "POST",
  1796. HTTPPath: "/",
  1797. }
  1798. if input == nil {
  1799. input = &DeletePlacementGroupInput{}
  1800. }
  1801. req = c.newRequest(op, input, output)
  1802. output = &DeletePlacementGroupOutput{}
  1803. req.Data = output
  1804. return
  1805. }
  1806. // Deletes the specified placement group. You must terminate all instances in
  1807. // the placement group before you can delete the placement group. For more information
  1808. // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  1809. // in the Amazon Elastic Compute Cloud User Guide.
  1810. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  1811. req, out := c.DeletePlacementGroupRequest(input)
  1812. err := req.Send()
  1813. return out, err
  1814. }
  1815. const opDeleteRoute = "DeleteRoute"
  1816. // DeleteRouteRequest generates a request for the DeleteRoute operation.
  1817. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  1818. op := &request.Operation{
  1819. Name: opDeleteRoute,
  1820. HTTPMethod: "POST",
  1821. HTTPPath: "/",
  1822. }
  1823. if input == nil {
  1824. input = &DeleteRouteInput{}
  1825. }
  1826. req = c.newRequest(op, input, output)
  1827. output = &DeleteRouteOutput{}
  1828. req.Data = output
  1829. return
  1830. }
  1831. // Deletes the specified route from the specified route table.
  1832. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  1833. req, out := c.DeleteRouteRequest(input)
  1834. err := req.Send()
  1835. return out, err
  1836. }
  1837. const opDeleteRouteTable = "DeleteRouteTable"
  1838. // DeleteRouteTableRequest generates a request for the DeleteRouteTable operation.
  1839. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  1840. op := &request.Operation{
  1841. Name: opDeleteRouteTable,
  1842. HTTPMethod: "POST",
  1843. HTTPPath: "/",
  1844. }
  1845. if input == nil {
  1846. input = &DeleteRouteTableInput{}
  1847. }
  1848. req = c.newRequest(op, input, output)
  1849. output = &DeleteRouteTableOutput{}
  1850. req.Data = output
  1851. return
  1852. }
  1853. // Deletes the specified route table. You must disassociate the route table
  1854. // from any subnets before you can delete it. You can't delete the main route
  1855. // table.
  1856. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  1857. req, out := c.DeleteRouteTableRequest(input)
  1858. err := req.Send()
  1859. return out, err
  1860. }
  1861. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  1862. // DeleteSecurityGroupRequest generates a request for the DeleteSecurityGroup operation.
  1863. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  1864. op := &request.Operation{
  1865. Name: opDeleteSecurityGroup,
  1866. HTTPMethod: "POST",
  1867. HTTPPath: "/",
  1868. }
  1869. if input == nil {
  1870. input = &DeleteSecurityGroupInput{}
  1871. }
  1872. req = c.newRequest(op, input, output)
  1873. output = &DeleteSecurityGroupOutput{}
  1874. req.Data = output
  1875. return
  1876. }
  1877. // Deletes a security group.
  1878. //
  1879. // If you attempt to delete a security group that is associated with an instance,
  1880. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  1881. // in EC2-Classic or DependencyViolation in EC2-VPC.
  1882. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  1883. req, out := c.DeleteSecurityGroupRequest(input)
  1884. err := req.Send()
  1885. return out, err
  1886. }
  1887. const opDeleteSnapshot = "DeleteSnapshot"
  1888. // DeleteSnapshotRequest generates a request for the DeleteSnapshot operation.
  1889. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  1890. op := &request.Operation{
  1891. Name: opDeleteSnapshot,
  1892. HTTPMethod: "POST",
  1893. HTTPPath: "/",
  1894. }
  1895. if input == nil {
  1896. input = &DeleteSnapshotInput{}
  1897. }
  1898. req = c.newRequest(op, input, output)
  1899. output = &DeleteSnapshotOutput{}
  1900. req.Data = output
  1901. return
  1902. }
  1903. // Deletes the specified snapshot.
  1904. //
  1905. // When you make periodic snapshots of a volume, the snapshots are incremental,
  1906. // and only the blocks on the device that have changed since your last snapshot
  1907. // are saved in the new snapshot. When you delete a snapshot, only the data
  1908. // not needed for any other snapshot is removed. So regardless of which prior
  1909. // snapshots have been deleted, all active snapshots will have access to all
  1910. // the information needed to restore the volume.
  1911. //
  1912. // You cannot delete a snapshot of the root device of an EBS volume used by
  1913. // a registered AMI. You must first de-register the AMI before you can delete
  1914. // the snapshot.
  1915. //
  1916. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  1917. // in the Amazon Elastic Compute Cloud User Guide.
  1918. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  1919. req, out := c.DeleteSnapshotRequest(input)
  1920. err := req.Send()
  1921. return out, err
  1922. }
  1923. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  1924. // DeleteSpotDatafeedSubscriptionRequest generates a request for the DeleteSpotDatafeedSubscription operation.
  1925. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  1926. op := &request.Operation{
  1927. Name: opDeleteSpotDatafeedSubscription,
  1928. HTTPMethod: "POST",
  1929. HTTPPath: "/",
  1930. }
  1931. if input == nil {
  1932. input = &DeleteSpotDatafeedSubscriptionInput{}
  1933. }
  1934. req = c.newRequest(op, input, output)
  1935. output = &DeleteSpotDatafeedSubscriptionOutput{}
  1936. req.Data = output
  1937. return
  1938. }
  1939. // Deletes the data feed for Spot Instances. For more information, see Spot
  1940. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  1941. // in the Amazon Elastic Compute Cloud User Guide.
  1942. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  1943. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  1944. err := req.Send()
  1945. return out, err
  1946. }
  1947. const opDeleteSubnet = "DeleteSubnet"
  1948. // DeleteSubnetRequest generates a request for the DeleteSubnet operation.
  1949. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  1950. op := &request.Operation{
  1951. Name: opDeleteSubnet,
  1952. HTTPMethod: "POST",
  1953. HTTPPath: "/",
  1954. }
  1955. if input == nil {
  1956. input = &DeleteSubnetInput{}
  1957. }
  1958. req = c.newRequest(op, input, output)
  1959. output = &DeleteSubnetOutput{}
  1960. req.Data = output
  1961. return
  1962. }
  1963. // Deletes the specified subnet. You must terminate all running instances in
  1964. // the subnet before you can delete the subnet.
  1965. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  1966. req, out := c.DeleteSubnetRequest(input)
  1967. err := req.Send()
  1968. return out, err
  1969. }
  1970. const opDeleteTags = "DeleteTags"
  1971. // DeleteTagsRequest generates a request for the DeleteTags operation.
  1972. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  1973. op := &request.Operation{
  1974. Name: opDeleteTags,
  1975. HTTPMethod: "POST",
  1976. HTTPPath: "/",
  1977. }
  1978. if input == nil {
  1979. input = &DeleteTagsInput{}
  1980. }
  1981. req = c.newRequest(op, input, output)
  1982. output = &DeleteTagsOutput{}
  1983. req.Data = output
  1984. return
  1985. }
  1986. // Deletes the specified set of tags from the specified set of resources. This
  1987. // call is designed to follow a DescribeTags request.
  1988. //
  1989. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  1990. // in the Amazon Elastic Compute Cloud User Guide.
  1991. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  1992. req, out := c.DeleteTagsRequest(input)
  1993. err := req.Send()
  1994. return out, err
  1995. }
  1996. const opDeleteVolume = "DeleteVolume"
  1997. // DeleteVolumeRequest generates a request for the DeleteVolume operation.
  1998. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  1999. op := &request.Operation{
  2000. Name: opDeleteVolume,
  2001. HTTPMethod: "POST",
  2002. HTTPPath: "/",
  2003. }
  2004. if input == nil {
  2005. input = &DeleteVolumeInput{}
  2006. }
  2007. req = c.newRequest(op, input, output)
  2008. output = &DeleteVolumeOutput{}
  2009. req.Data = output
  2010. return
  2011. }
  2012. // Deletes the specified EBS volume. The volume must be in the available state
  2013. // (not attached to an instance).
  2014. //
  2015. // The volume may remain in the deleting state for several minutes.
  2016. //
  2017. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  2018. // in the Amazon Elastic Compute Cloud User Guide.
  2019. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  2020. req, out := c.DeleteVolumeRequest(input)
  2021. err := req.Send()
  2022. return out, err
  2023. }
  2024. const opDeleteVpc = "DeleteVpc"
  2025. // DeleteVpcRequest generates a request for the DeleteVpc operation.
  2026. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  2027. op := &request.Operation{
  2028. Name: opDeleteVpc,
  2029. HTTPMethod: "POST",
  2030. HTTPPath: "/",
  2031. }
  2032. if input == nil {
  2033. input = &DeleteVpcInput{}
  2034. }
  2035. req = c.newRequest(op, input, output)
  2036. output = &DeleteVpcOutput{}
  2037. req.Data = output
  2038. return
  2039. }
  2040. // Deletes the specified VPC. You must detach or delete all gateways and resources
  2041. // that are associated with the VPC before you can delete it. For example, you
  2042. // must terminate all instances running in the VPC, delete all security groups
  2043. // associated with the VPC (except the default one), delete all route tables
  2044. // associated with the VPC (except the default one), and so on.
  2045. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  2046. req, out := c.DeleteVpcRequest(input)
  2047. err := req.Send()
  2048. return out, err
  2049. }
  2050. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  2051. // DeleteVpcEndpointsRequest generates a request for the DeleteVpcEndpoints operation.
  2052. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  2053. op := &request.Operation{
  2054. Name: opDeleteVpcEndpoints,
  2055. HTTPMethod: "POST",
  2056. HTTPPath: "/",
  2057. }
  2058. if input == nil {
  2059. input = &DeleteVpcEndpointsInput{}
  2060. }
  2061. req = c.newRequest(op, input, output)
  2062. output = &DeleteVpcEndpointsOutput{}
  2063. req.Data = output
  2064. return
  2065. }
  2066. // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
  2067. // the endpoint routes in the route tables that were associated with the endpoint.
  2068. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  2069. req, out := c.DeleteVpcEndpointsRequest(input)
  2070. err := req.Send()
  2071. return out, err
  2072. }
  2073. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  2074. // DeleteVpcPeeringConnectionRequest generates a request for the DeleteVpcPeeringConnection operation.
  2075. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  2076. op := &request.Operation{
  2077. Name: opDeleteVpcPeeringConnection,
  2078. HTTPMethod: "POST",
  2079. HTTPPath: "/",
  2080. }
  2081. if input == nil {
  2082. input = &DeleteVpcPeeringConnectionInput{}
  2083. }
  2084. req = c.newRequest(op, input, output)
  2085. output = &DeleteVpcPeeringConnectionOutput{}
  2086. req.Data = output
  2087. return
  2088. }
  2089. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  2090. // the owner of the peer VPC can delete the VPC peering connection if it's in
  2091. // the active state. The owner of the requester VPC can delete a VPC peering
  2092. // connection in the pending-acceptance state.
  2093. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  2094. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  2095. err := req.Send()
  2096. return out, err
  2097. }
  2098. const opDeleteVpnConnection = "DeleteVpnConnection"
  2099. // DeleteVpnConnectionRequest generates a request for the DeleteVpnConnection operation.
  2100. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  2101. op := &request.Operation{
  2102. Name: opDeleteVpnConnection,
  2103. HTTPMethod: "POST",
  2104. HTTPPath: "/",
  2105. }
  2106. if input == nil {
  2107. input = &DeleteVpnConnectionInput{}
  2108. }
  2109. req = c.newRequest(op, input, output)
  2110. output = &DeleteVpnConnectionOutput{}
  2111. req.Data = output
  2112. return
  2113. }
  2114. // Deletes the specified VPN connection.
  2115. //
  2116. // If you're deleting the VPC and its associated components, we recommend that
  2117. // you detach the virtual private gateway from the VPC and delete the VPC before
  2118. // deleting the VPN connection. If you believe that the tunnel credentials for
  2119. // your VPN connection have been compromised, you can delete the VPN connection
  2120. // and create a new one that has new keys, without needing to delete the VPC
  2121. // or virtual private gateway. If you create a new VPN connection, you must
  2122. // reconfigure the customer gateway using the new configuration information
  2123. // returned with the new VPN connection ID.
  2124. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  2125. req, out := c.DeleteVpnConnectionRequest(input)
  2126. err := req.Send()
  2127. return out, err
  2128. }
  2129. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  2130. // DeleteVpnConnectionRouteRequest generates a request for the DeleteVpnConnectionRoute operation.
  2131. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  2132. op := &request.Operation{
  2133. Name: opDeleteVpnConnectionRoute,
  2134. HTTPMethod: "POST",
  2135. HTTPPath: "/",
  2136. }
  2137. if input == nil {
  2138. input = &DeleteVpnConnectionRouteInput{}
  2139. }
  2140. req = c.newRequest(op, input, output)
  2141. output = &DeleteVpnConnectionRouteOutput{}
  2142. req.Data = output
  2143. return
  2144. }
  2145. // Deletes the specified static route associated with a VPN connection between
  2146. // an existing virtual private gateway and a VPN customer gateway. The static
  2147. // route allows traffic to be routed from the virtual private gateway to the
  2148. // VPN customer gateway.
  2149. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  2150. req, out := c.DeleteVpnConnectionRouteRequest(input)
  2151. err := req.Send()
  2152. return out, err
  2153. }
  2154. const opDeleteVpnGateway = "DeleteVpnGateway"
  2155. // DeleteVpnGatewayRequest generates a request for the DeleteVpnGateway operation.
  2156. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  2157. op := &request.Operation{
  2158. Name: opDeleteVpnGateway,
  2159. HTTPMethod: "POST",
  2160. HTTPPath: "/",
  2161. }
  2162. if input == nil {
  2163. input = &DeleteVpnGatewayInput{}
  2164. }
  2165. req = c.newRequest(op, input, output)
  2166. output = &DeleteVpnGatewayOutput{}
  2167. req.Data = output
  2168. return
  2169. }
  2170. // Deletes the specified virtual private gateway. We recommend that before you
  2171. // delete a virtual private gateway, you detach it from the VPC and delete the
  2172. // VPN connection. Note that you don't need to delete the virtual private gateway
  2173. // if you plan to delete and recreate the VPN connection between your VPC and
  2174. // your network.
  2175. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  2176. req, out := c.DeleteVpnGatewayRequest(input)
  2177. err := req.Send()
  2178. return out, err
  2179. }
  2180. const opDeregisterImage = "DeregisterImage"
  2181. // DeregisterImageRequest generates a request for the DeregisterImage operation.
  2182. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  2183. op := &request.Operation{
  2184. Name: opDeregisterImage,
  2185. HTTPMethod: "POST",
  2186. HTTPPath: "/",
  2187. }
  2188. if input == nil {
  2189. input = &DeregisterImageInput{}
  2190. }
  2191. req = c.newRequest(op, input, output)
  2192. output = &DeregisterImageOutput{}
  2193. req.Data = output
  2194. return
  2195. }
  2196. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  2197. // to launch new instances.
  2198. //
  2199. // This command does not delete the AMI.
  2200. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  2201. req, out := c.DeregisterImageRequest(input)
  2202. err := req.Send()
  2203. return out, err
  2204. }
  2205. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  2206. // DescribeAccountAttributesRequest generates a request for the DescribeAccountAttributes operation.
  2207. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  2208. op := &request.Operation{
  2209. Name: opDescribeAccountAttributes,
  2210. HTTPMethod: "POST",
  2211. HTTPPath: "/",
  2212. }
  2213. if input == nil {
  2214. input = &DescribeAccountAttributesInput{}
  2215. }
  2216. req = c.newRequest(op, input, output)
  2217. output = &DescribeAccountAttributesOutput{}
  2218. req.Data = output
  2219. return
  2220. }
  2221. // Describes attributes of your AWS account. The following are the supported
  2222. // account attributes:
  2223. //
  2224. // supported-platforms: Indicates whether your account can launch instances
  2225. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  2226. //
  2227. // default-vpc: The ID of the default VPC for your account, or none.
  2228. //
  2229. // max-instances: The maximum number of On-Demand instances that you can
  2230. // run.
  2231. //
  2232. // vpc-max-security-groups-per-interface: The maximum number of security
  2233. // groups that you can assign to a network interface.
  2234. //
  2235. // max-elastic-ips: The maximum number of Elastic IP addresses that you can
  2236. // allocate for use with EC2-Classic.
  2237. //
  2238. // vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you
  2239. // can allocate for use with EC2-VPC.
  2240. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  2241. req, out := c.DescribeAccountAttributesRequest(input)
  2242. err := req.Send()
  2243. return out, err
  2244. }
  2245. const opDescribeAddresses = "DescribeAddresses"
  2246. // DescribeAddressesRequest generates a request for the DescribeAddresses operation.
  2247. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  2248. op := &request.Operation{
  2249. Name: opDescribeAddresses,
  2250. HTTPMethod: "POST",
  2251. HTTPPath: "/",
  2252. }
  2253. if input == nil {
  2254. input = &DescribeAddressesInput{}
  2255. }
  2256. req = c.newRequest(op, input, output)
  2257. output = &DescribeAddressesOutput{}
  2258. req.Data = output
  2259. return
  2260. }
  2261. // Describes one or more of your Elastic IP addresses.
  2262. //
  2263. // An Elastic IP address is for use in either the EC2-Classic platform or in
  2264. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  2265. // in the Amazon Elastic Compute Cloud User Guide.
  2266. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  2267. req, out := c.DescribeAddressesRequest(input)
  2268. err := req.Send()
  2269. return out, err
  2270. }
  2271. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  2272. // DescribeAvailabilityZonesRequest generates a request for the DescribeAvailabilityZones operation.
  2273. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  2274. op := &request.Operation{
  2275. Name: opDescribeAvailabilityZones,
  2276. HTTPMethod: "POST",
  2277. HTTPPath: "/",
  2278. }
  2279. if input == nil {
  2280. input = &DescribeAvailabilityZonesInput{}
  2281. }
  2282. req = c.newRequest(op, input, output)
  2283. output = &DescribeAvailabilityZonesOutput{}
  2284. req.Data = output
  2285. return
  2286. }
  2287. // Describes one or more of the Availability Zones that are available to you.
  2288. // The results include zones only for the region you're currently using. If
  2289. // there is an event impacting an Availability Zone, you can use this request
  2290. // to view the state and any provided message for that Availability Zone.
  2291. //
  2292. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  2293. // in the Amazon Elastic Compute Cloud User Guide.
  2294. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  2295. req, out := c.DescribeAvailabilityZonesRequest(input)
  2296. err := req.Send()
  2297. return out, err
  2298. }
  2299. const opDescribeBundleTasks = "DescribeBundleTasks"
  2300. // DescribeBundleTasksRequest generates a request for the DescribeBundleTasks operation.
  2301. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  2302. op := &request.Operation{
  2303. Name: opDescribeBundleTasks,
  2304. HTTPMethod: "POST",
  2305. HTTPPath: "/",
  2306. }
  2307. if input == nil {
  2308. input = &DescribeBundleTasksInput{}
  2309. }
  2310. req = c.newRequest(op, input, output)
  2311. output = &DescribeBundleTasksOutput{}
  2312. req.Data = output
  2313. return
  2314. }
  2315. // Describes one or more of your bundling tasks.
  2316. //
  2317. // Completed bundle tasks are listed for only a limited time. If your bundle
  2318. // task is no longer in the list, you can still register an AMI from it. Just
  2319. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  2320. // you provided to the bundle task.
  2321. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  2322. req, out := c.DescribeBundleTasksRequest(input)
  2323. err := req.Send()
  2324. return out, err
  2325. }
  2326. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  2327. // DescribeClassicLinkInstancesRequest generates a request for the DescribeClassicLinkInstances operation.
  2328. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  2329. op := &request.Operation{
  2330. Name: opDescribeClassicLinkInstances,
  2331. HTTPMethod: "POST",
  2332. HTTPPath: "/",
  2333. }
  2334. if input == nil {
  2335. input = &DescribeClassicLinkInstancesInput{}
  2336. }
  2337. req = c.newRequest(op, input, output)
  2338. output = &DescribeClassicLinkInstancesOutput{}
  2339. req.Data = output
  2340. return
  2341. }
  2342. // Describes one or more of your linked EC2-Classic instances. This request
  2343. // only returns information about EC2-Classic instances linked to a VPC through
  2344. // ClassicLink; you cannot use this request to return information about other
  2345. // instances.
  2346. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  2347. req, out := c.DescribeClassicLinkInstancesRequest(input)
  2348. err := req.Send()
  2349. return out, err
  2350. }
  2351. const opDescribeConversionTasks = "DescribeConversionTasks"
  2352. // DescribeConversionTasksRequest generates a request for the DescribeConversionTasks operation.
  2353. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  2354. op := &request.Operation{
  2355. Name: opDescribeConversionTasks,
  2356. HTTPMethod: "POST",
  2357. HTTPPath: "/",
  2358. }
  2359. if input == nil {
  2360. input = &DescribeConversionTasksInput{}
  2361. }
  2362. req = c.newRequest(op, input, output)
  2363. output = &DescribeConversionTasksOutput{}
  2364. req.Data = output
  2365. return
  2366. }
  2367. // Describes one or more of your conversion tasks. For more information, see
  2368. // Using the Command Line Tools to Import Your Virtual Machine to Amazon EC2
  2369. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
  2370. // in the Amazon Elastic Compute Cloud User Guide.
  2371. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  2372. req, out := c.DescribeConversionTasksRequest(input)
  2373. err := req.Send()
  2374. return out, err
  2375. }
  2376. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  2377. // DescribeCustomerGatewaysRequest generates a request for the DescribeCustomerGateways operation.
  2378. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  2379. op := &request.Operation{
  2380. Name: opDescribeCustomerGateways,
  2381. HTTPMethod: "POST",
  2382. HTTPPath: "/",
  2383. }
  2384. if input == nil {
  2385. input = &DescribeCustomerGatewaysInput{}
  2386. }
  2387. req = c.newRequest(op, input, output)
  2388. output = &DescribeCustomerGatewaysOutput{}
  2389. req.Data = output
  2390. return
  2391. }
  2392. // Describes one or more of your VPN customer gateways.
  2393. //
  2394. // For more information about VPN customer gateways, see Adding a Hardware
  2395. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  2396. // in the Amazon Virtual Private Cloud User Guide.
  2397. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  2398. req, out := c.DescribeCustomerGatewaysRequest(input)
  2399. err := req.Send()
  2400. return out, err
  2401. }
  2402. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  2403. // DescribeDhcpOptionsRequest generates a request for the DescribeDhcpOptions operation.
  2404. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  2405. op := &request.Operation{
  2406. Name: opDescribeDhcpOptions,
  2407. HTTPMethod: "POST",
  2408. HTTPPath: "/",
  2409. }
  2410. if input == nil {
  2411. input = &DescribeDhcpOptionsInput{}
  2412. }
  2413. req = c.newRequest(op, input, output)
  2414. output = &DescribeDhcpOptionsOutput{}
  2415. req.Data = output
  2416. return
  2417. }
  2418. // Describes one or more of your DHCP options sets.
  2419. //
  2420. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  2421. // in the Amazon Virtual Private Cloud User Guide.
  2422. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  2423. req, out := c.DescribeDhcpOptionsRequest(input)
  2424. err := req.Send()
  2425. return out, err
  2426. }
  2427. const opDescribeExportTasks = "DescribeExportTasks"
  2428. // DescribeExportTasksRequest generates a request for the DescribeExportTasks operation.
  2429. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  2430. op := &request.Operation{
  2431. Name: opDescribeExportTasks,
  2432. HTTPMethod: "POST",
  2433. HTTPPath: "/",
  2434. }
  2435. if input == nil {
  2436. input = &DescribeExportTasksInput{}
  2437. }
  2438. req = c.newRequest(op, input, output)
  2439. output = &DescribeExportTasksOutput{}
  2440. req.Data = output
  2441. return
  2442. }
  2443. // Describes one or more of your export tasks.
  2444. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  2445. req, out := c.DescribeExportTasksRequest(input)
  2446. err := req.Send()
  2447. return out, err
  2448. }
  2449. const opDescribeFlowLogs = "DescribeFlowLogs"
  2450. // DescribeFlowLogsRequest generates a request for the DescribeFlowLogs operation.
  2451. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  2452. op := &request.Operation{
  2453. Name: opDescribeFlowLogs,
  2454. HTTPMethod: "POST",
  2455. HTTPPath: "/",
  2456. }
  2457. if input == nil {
  2458. input = &DescribeFlowLogsInput{}
  2459. }
  2460. req = c.newRequest(op, input, output)
  2461. output = &DescribeFlowLogsOutput{}
  2462. req.Data = output
  2463. return
  2464. }
  2465. // Describes one or more flow logs. To view the information in your flow logs
  2466. // (the log streams for the network interfaces), you must use the CloudWatch
  2467. // Logs console or the CloudWatch Logs API.
  2468. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  2469. req, out := c.DescribeFlowLogsRequest(input)
  2470. err := req.Send()
  2471. return out, err
  2472. }
  2473. const opDescribeImageAttribute = "DescribeImageAttribute"
  2474. // DescribeImageAttributeRequest generates a request for the DescribeImageAttribute operation.
  2475. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  2476. op := &request.Operation{
  2477. Name: opDescribeImageAttribute,
  2478. HTTPMethod: "POST",
  2479. HTTPPath: "/",
  2480. }
  2481. if input == nil {
  2482. input = &DescribeImageAttributeInput{}
  2483. }
  2484. req = c.newRequest(op, input, output)
  2485. output = &DescribeImageAttributeOutput{}
  2486. req.Data = output
  2487. return
  2488. }
  2489. // Describes the specified attribute of the specified AMI. You can specify only
  2490. // one attribute at a time.
  2491. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  2492. req, out := c.DescribeImageAttributeRequest(input)
  2493. err := req.Send()
  2494. return out, err
  2495. }
  2496. const opDescribeImages = "DescribeImages"
  2497. // DescribeImagesRequest generates a request for the DescribeImages operation.
  2498. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  2499. op := &request.Operation{
  2500. Name: opDescribeImages,
  2501. HTTPMethod: "POST",
  2502. HTTPPath: "/",
  2503. }
  2504. if input == nil {
  2505. input = &DescribeImagesInput{}
  2506. }
  2507. req = c.newRequest(op, input, output)
  2508. output = &DescribeImagesOutput{}
  2509. req.Data = output
  2510. return
  2511. }
  2512. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  2513. // Images available to you include public images, private images that you own,
  2514. // and private images owned by other AWS accounts but for which you have explicit
  2515. // launch permissions.
  2516. //
  2517. // Deregistered images are included in the returned results for an unspecified
  2518. // interval after deregistration.
  2519. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  2520. req, out := c.DescribeImagesRequest(input)
  2521. err := req.Send()
  2522. return out, err
  2523. }
  2524. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  2525. // DescribeImportImageTasksRequest generates a request for the DescribeImportImageTasks operation.
  2526. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  2527. op := &request.Operation{
  2528. Name: opDescribeImportImageTasks,
  2529. HTTPMethod: "POST",
  2530. HTTPPath: "/",
  2531. }
  2532. if input == nil {
  2533. input = &DescribeImportImageTasksInput{}
  2534. }
  2535. req = c.newRequest(op, input, output)
  2536. output = &DescribeImportImageTasksOutput{}
  2537. req.Data = output
  2538. return
  2539. }
  2540. // Displays details about an import virtual machine or import snapshot tasks
  2541. // that are already created.
  2542. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  2543. req, out := c.DescribeImportImageTasksRequest(input)
  2544. err := req.Send()
  2545. return out, err
  2546. }
  2547. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  2548. // DescribeImportSnapshotTasksRequest generates a request for the DescribeImportSnapshotTasks operation.
  2549. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  2550. op := &request.Operation{
  2551. Name: opDescribeImportSnapshotTasks,
  2552. HTTPMethod: "POST",
  2553. HTTPPath: "/",
  2554. }
  2555. if input == nil {
  2556. input = &DescribeImportSnapshotTasksInput{}
  2557. }
  2558. req = c.newRequest(op, input, output)
  2559. output = &DescribeImportSnapshotTasksOutput{}
  2560. req.Data = output
  2561. return
  2562. }
  2563. // Describes your import snapshot tasks.
  2564. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  2565. req, out := c.DescribeImportSnapshotTasksRequest(input)
  2566. err := req.Send()
  2567. return out, err
  2568. }
  2569. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  2570. // DescribeInstanceAttributeRequest generates a request for the DescribeInstanceAttribute operation.
  2571. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  2572. op := &request.Operation{
  2573. Name: opDescribeInstanceAttribute,
  2574. HTTPMethod: "POST",
  2575. HTTPPath: "/",
  2576. }
  2577. if input == nil {
  2578. input = &DescribeInstanceAttributeInput{}
  2579. }
  2580. req = c.newRequest(op, input, output)
  2581. output = &DescribeInstanceAttributeOutput{}
  2582. req.Data = output
  2583. return
  2584. }
  2585. // Describes the specified attribute of the specified instance. You can specify
  2586. // only one attribute at a time. Valid attribute values are: instanceType |
  2587. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  2588. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  2589. // groupSet | ebsOptimized | sriovNetSupport
  2590. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  2591. req, out := c.DescribeInstanceAttributeRequest(input)
  2592. err := req.Send()
  2593. return out, err
  2594. }
  2595. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  2596. // DescribeInstanceStatusRequest generates a request for the DescribeInstanceStatus operation.
  2597. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  2598. op := &request.Operation{
  2599. Name: opDescribeInstanceStatus,
  2600. HTTPMethod: "POST",
  2601. HTTPPath: "/",
  2602. Paginator: &request.Paginator{
  2603. InputTokens: []string{"NextToken"},
  2604. OutputTokens: []string{"NextToken"},
  2605. LimitToken: "MaxResults",
  2606. TruncationToken: "",
  2607. },
  2608. }
  2609. if input == nil {
  2610. input = &DescribeInstanceStatusInput{}
  2611. }
  2612. req = c.newRequest(op, input, output)
  2613. output = &DescribeInstanceStatusOutput{}
  2614. req.Data = output
  2615. return
  2616. }
  2617. // Describes the status of one or more instances.
  2618. //
  2619. // Instance status includes the following components:
  2620. //
  2621. // Status checks - Amazon EC2 performs status checks on running EC2 instances
  2622. // to identify hardware and software issues. For more information, see Status
  2623. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  2624. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  2625. // in the Amazon Elastic Compute Cloud User Guide.
  2626. //
  2627. // Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  2628. // or terminate) for your instances related to hardware issues, software updates,
  2629. // or system maintenance. For more information, see Scheduled Events for Your
  2630. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  2631. // in the Amazon Elastic Compute Cloud User Guide.
  2632. //
  2633. // Instance state - You can manage your instances from the moment you launch
  2634. // them through their termination. For more information, see Instance Lifecycle
  2635. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  2636. // in the Amazon Elastic Compute Cloud User Guide.
  2637. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  2638. req, out := c.DescribeInstanceStatusRequest(input)
  2639. err := req.Send()
  2640. return out, err
  2641. }
  2642. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(p *DescribeInstanceStatusOutput, lastPage bool) (shouldContinue bool)) error {
  2643. page, _ := c.DescribeInstanceStatusRequest(input)
  2644. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2645. return fn(p.(*DescribeInstanceStatusOutput), lastPage)
  2646. })
  2647. }
  2648. const opDescribeInstances = "DescribeInstances"
  2649. // DescribeInstancesRequest generates a request for the DescribeInstances operation.
  2650. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  2651. op := &request.Operation{
  2652. Name: opDescribeInstances,
  2653. HTTPMethod: "POST",
  2654. HTTPPath: "/",
  2655. Paginator: &request.Paginator{
  2656. InputTokens: []string{"NextToken"},
  2657. OutputTokens: []string{"NextToken"},
  2658. LimitToken: "MaxResults",
  2659. TruncationToken: "",
  2660. },
  2661. }
  2662. if input == nil {
  2663. input = &DescribeInstancesInput{}
  2664. }
  2665. req = c.newRequest(op, input, output)
  2666. output = &DescribeInstancesOutput{}
  2667. req.Data = output
  2668. return
  2669. }
  2670. // Describes one or more of your instances.
  2671. //
  2672. // If you specify one or more instance IDs, Amazon EC2 returns information
  2673. // for those instances. If you do not specify instance IDs, Amazon EC2 returns
  2674. // information for all relevant instances. If you specify an instance ID that
  2675. // is not valid, an error is returned. If you specify an instance that you do
  2676. // not own, it is not included in the returned results.
  2677. //
  2678. // Recently terminated instances might appear in the returned results. This
  2679. // interval is usually less than one hour.
  2680. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  2681. req, out := c.DescribeInstancesRequest(input)
  2682. err := req.Send()
  2683. return out, err
  2684. }
  2685. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(p *DescribeInstancesOutput, lastPage bool) (shouldContinue bool)) error {
  2686. page, _ := c.DescribeInstancesRequest(input)
  2687. return page.EachPage(func(p interface{}, lastPage bool) bool {
  2688. return fn(p.(*DescribeInstancesOutput), lastPage)
  2689. })
  2690. }
  2691. const opDescribeInternetGateways = "DescribeInternetGateways"
  2692. // DescribeInternetGatewaysRequest generates a request for the DescribeInternetGateways operation.
  2693. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  2694. op := &request.Operation{
  2695. Name: opDescribeInternetGateways,
  2696. HTTPMethod: "POST",
  2697. HTTPPath: "/",
  2698. }
  2699. if input == nil {
  2700. input = &DescribeInternetGatewaysInput{}
  2701. }
  2702. req = c.newRequest(op, input, output)
  2703. output = &DescribeInternetGatewaysOutput{}
  2704. req.Data = output
  2705. return
  2706. }
  2707. // Describes one or more of your Internet gateways.
  2708. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  2709. req, out := c.DescribeInternetGatewaysRequest(input)
  2710. err := req.Send()
  2711. return out, err
  2712. }
  2713. const opDescribeKeyPairs = "DescribeKeyPairs"
  2714. // DescribeKeyPairsRequest generates a request for the DescribeKeyPairs operation.
  2715. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  2716. op := &request.Operation{
  2717. Name: opDescribeKeyPairs,
  2718. HTTPMethod: "POST",
  2719. HTTPPath: "/",
  2720. }
  2721. if input == nil {
  2722. input = &DescribeKeyPairsInput{}
  2723. }
  2724. req = c.newRequest(op, input, output)
  2725. output = &DescribeKeyPairsOutput{}
  2726. req.Data = output
  2727. return
  2728. }
  2729. // Describes one or more of your key pairs.
  2730. //
  2731. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  2732. // in the Amazon Elastic Compute Cloud User Guide.
  2733. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  2734. req, out := c.DescribeKeyPairsRequest(input)
  2735. err := req.Send()
  2736. return out, err
  2737. }
  2738. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  2739. // DescribeMovingAddressesRequest generates a request for the DescribeMovingAddresses operation.
  2740. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  2741. op := &request.Operation{
  2742. Name: opDescribeMovingAddresses,
  2743. HTTPMethod: "POST",
  2744. HTTPPath: "/",
  2745. }
  2746. if input == nil {
  2747. input = &DescribeMovingAddressesInput{}
  2748. }
  2749. req = c.newRequest(op, input, output)
  2750. output = &DescribeMovingAddressesOutput{}
  2751. req.Data = output
  2752. return
  2753. }
  2754. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  2755. // or that are being restored to the EC2-Classic platform. This request does
  2756. // not return information about any other Elastic IP addresses in your account.
  2757. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  2758. req, out := c.DescribeMovingAddressesRequest(input)
  2759. err := req.Send()
  2760. return out, err
  2761. }
  2762. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  2763. // DescribeNetworkAclsRequest generates a request for the DescribeNetworkAcls operation.
  2764. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  2765. op := &request.Operation{
  2766. Name: opDescribeNetworkAcls,
  2767. HTTPMethod: "POST",
  2768. HTTPPath: "/",
  2769. }
  2770. if input == nil {
  2771. input = &DescribeNetworkAclsInput{}
  2772. }
  2773. req = c.newRequest(op, input, output)
  2774. output = &DescribeNetworkAclsOutput{}
  2775. req.Data = output
  2776. return
  2777. }
  2778. // Describes one or more of your network ACLs.
  2779. //
  2780. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  2781. // in the Amazon Virtual Private Cloud User Guide.
  2782. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  2783. req, out := c.DescribeNetworkAclsRequest(input)
  2784. err := req.Send()
  2785. return out, err
  2786. }
  2787. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  2788. // DescribeNetworkInterfaceAttributeRequest generates a request for the DescribeNetworkInterfaceAttribute operation.
  2789. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  2790. op := &request.Operation{
  2791. Name: opDescribeNetworkInterfaceAttribute,
  2792. HTTPMethod: "POST",
  2793. HTTPPath: "/",
  2794. }
  2795. if input == nil {
  2796. input = &DescribeNetworkInterfaceAttributeInput{}
  2797. }
  2798. req = c.newRequest(op, input, output)
  2799. output = &DescribeNetworkInterfaceAttributeOutput{}
  2800. req.Data = output
  2801. return
  2802. }
  2803. // Describes a network interface attribute. You can specify only one attribute
  2804. // at a time.
  2805. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  2806. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  2807. err := req.Send()
  2808. return out, err
  2809. }
  2810. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  2811. // DescribeNetworkInterfacesRequest generates a request for the DescribeNetworkInterfaces operation.
  2812. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  2813. op := &request.Operation{
  2814. Name: opDescribeNetworkInterfaces,
  2815. HTTPMethod: "POST",
  2816. HTTPPath: "/",
  2817. }
  2818. if input == nil {
  2819. input = &DescribeNetworkInterfacesInput{}
  2820. }
  2821. req = c.newRequest(op, input, output)
  2822. output = &DescribeNetworkInterfacesOutput{}
  2823. req.Data = output
  2824. return
  2825. }
  2826. // Describes one or more of your network interfaces.
  2827. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  2828. req, out := c.DescribeNetworkInterfacesRequest(input)
  2829. err := req.Send()
  2830. return out, err
  2831. }
  2832. const opDescribePlacementGroups = "DescribePlacementGroups"
  2833. // DescribePlacementGroupsRequest generates a request for the DescribePlacementGroups operation.
  2834. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  2835. op := &request.Operation{
  2836. Name: opDescribePlacementGroups,
  2837. HTTPMethod: "POST",
  2838. HTTPPath: "/",
  2839. }
  2840. if input == nil {
  2841. input = &DescribePlacementGroupsInput{}
  2842. }
  2843. req = c.newRequest(op, input, output)
  2844. output = &DescribePlacementGroupsOutput{}
  2845. req.Data = output
  2846. return
  2847. }
  2848. // Describes one or more of your placement groups. For more information about
  2849. // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  2850. // in the Amazon Elastic Compute Cloud User Guide.
  2851. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  2852. req, out := c.DescribePlacementGroupsRequest(input)
  2853. err := req.Send()
  2854. return out, err
  2855. }
  2856. const opDescribePrefixLists = "DescribePrefixLists"
  2857. // DescribePrefixListsRequest generates a request for the DescribePrefixLists operation.
  2858. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  2859. op := &request.Operation{
  2860. Name: opDescribePrefixLists,
  2861. HTTPMethod: "POST",
  2862. HTTPPath: "/",
  2863. }
  2864. if input == nil {
  2865. input = &DescribePrefixListsInput{}
  2866. }
  2867. req = c.newRequest(op, input, output)
  2868. output = &DescribePrefixListsOutput{}
  2869. req.Data = output
  2870. return
  2871. }
  2872. // Describes available AWS services in a prefix list format, which includes
  2873. // the prefix list name and prefix list ID of the service and the IP address
  2874. // range for the service. A prefix list ID is required for creating an outbound
  2875. // security group rule that allows traffic from a VPC to access an AWS service
  2876. // through a VPC endpoint.
  2877. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  2878. req, out := c.DescribePrefixListsRequest(input)
  2879. err := req.Send()
  2880. return out, err
  2881. }
  2882. const opDescribeRegions = "DescribeRegions"
  2883. // DescribeRegionsRequest generates a request for the DescribeRegions operation.
  2884. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  2885. op := &request.Operation{
  2886. Name: opDescribeRegions,
  2887. HTTPMethod: "POST",
  2888. HTTPPath: "/",
  2889. }
  2890. if input == nil {
  2891. input = &DescribeRegionsInput{}
  2892. }
  2893. req = c.newRequest(op, input, output)
  2894. output = &DescribeRegionsOutput{}
  2895. req.Data = output
  2896. return
  2897. }
  2898. // Describes one or more regions that are currently available to you.
  2899. //
  2900. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  2901. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  2902. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  2903. req, out := c.DescribeRegionsRequest(input)
  2904. err := req.Send()
  2905. return out, err
  2906. }
  2907. const opDescribeReservedInstances = "DescribeReservedInstances"
  2908. // DescribeReservedInstancesRequest generates a request for the DescribeReservedInstances operation.
  2909. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  2910. op := &request.Operation{
  2911. Name: opDescribeReservedInstances,
  2912. HTTPMethod: "POST",
  2913. HTTPPath: "/",
  2914. }
  2915. if input == nil {
  2916. input = &DescribeReservedInstancesInput{}
  2917. }
  2918. req = c.newRequest(op, input, output)
  2919. output = &DescribeReservedInstancesOutput{}
  2920. req.Data = output
  2921. return
  2922. }
  2923. // Describes one or more of the Reserved Instances that you purchased.
  2924. //
  2925. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  2926. // in the Amazon Elastic Compute Cloud User Guide.
  2927. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  2928. req, out := c.DescribeReservedInstancesRequest(input)
  2929. err := req.Send()
  2930. return out, err
  2931. }
  2932. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  2933. // DescribeReservedInstancesListingsRequest generates a request for the DescribeReservedInstancesListings operation.
  2934. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  2935. op := &request.Operation{
  2936. Name: opDescribeReservedInstancesListings,
  2937. HTTPMethod: "POST",
  2938. HTTPPath: "/",
  2939. }
  2940. if input == nil {
  2941. input = &DescribeReservedInstancesListingsInput{}
  2942. }
  2943. req = c.newRequest(op, input, output)
  2944. output = &DescribeReservedInstancesListingsOutput{}
  2945. req.Data = output
  2946. return
  2947. }
  2948. // Describes your account's Reserved Instance listings in the Reserved Instance
  2949. // Marketplace.
  2950. //
  2951. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  2952. // Instance capacity that they no longer need with buyers who want to purchase
  2953. // additional capacity. Reserved Instances bought and sold through the Reserved
  2954. // Instance Marketplace work like any other Reserved Instances.
  2955. //
  2956. // As a seller, you choose to list some or all of your Reserved Instances,
  2957. // and you specify the upfront price to receive for them. Your Reserved Instances
  2958. // are then listed in the Reserved Instance Marketplace and are available for
  2959. // purchase.
  2960. //
  2961. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  2962. // and the Marketplace matches what you're searching for with what's available.
  2963. // The Marketplace first sells the lowest priced Reserved Instances to you,
  2964. // and continues to sell available Reserved Instance listings to you until your
  2965. // demand is met. You are charged based on the total price of all of the listings
  2966. // that you purchase.
  2967. //
  2968. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  2969. // in the Amazon Elastic Compute Cloud User Guide.
  2970. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  2971. req, out := c.DescribeReservedInstancesListingsRequest(input)
  2972. err := req.Send()
  2973. return out, err
  2974. }
  2975. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  2976. // DescribeReservedInstancesModificationsRequest generates a request for the DescribeReservedInstancesModifications operation.
  2977. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  2978. op := &request.Operation{
  2979. Name: opDescribeReservedInstancesModifications,
  2980. HTTPMethod: "POST",
  2981. HTTPPath: "/",
  2982. Paginator: &request.Paginator{
  2983. InputTokens: []string{"NextToken"},
  2984. OutputTokens: []string{"NextToken"},
  2985. LimitToken: "",
  2986. TruncationToken: "",
  2987. },
  2988. }
  2989. if input == nil {
  2990. input = &DescribeReservedInstancesModificationsInput{}
  2991. }
  2992. req = c.newRequest(op, input, output)
  2993. output = &DescribeReservedInstancesModificationsOutput{}
  2994. req.Data = output
  2995. return
  2996. }
  2997. // Describes the modifications made to your Reserved Instances. If no parameter
  2998. // is specified, information about all your Reserved Instances modification
  2999. // requests is returned. If a modification ID is specified, only information
  3000. // about the specific modification is returned.
  3001. //
  3002. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  3003. // in the Amazon Elastic Compute Cloud User Guide.
  3004. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  3005. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  3006. err := req.Send()
  3007. return out, err
  3008. }
  3009. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(p *DescribeReservedInstancesModificationsOutput, lastPage bool) (shouldContinue bool)) error {
  3010. page, _ := c.DescribeReservedInstancesModificationsRequest(input)
  3011. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3012. return fn(p.(*DescribeReservedInstancesModificationsOutput), lastPage)
  3013. })
  3014. }
  3015. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  3016. // DescribeReservedInstancesOfferingsRequest generates a request for the DescribeReservedInstancesOfferings operation.
  3017. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  3018. op := &request.Operation{
  3019. Name: opDescribeReservedInstancesOfferings,
  3020. HTTPMethod: "POST",
  3021. HTTPPath: "/",
  3022. Paginator: &request.Paginator{
  3023. InputTokens: []string{"NextToken"},
  3024. OutputTokens: []string{"NextToken"},
  3025. LimitToken: "MaxResults",
  3026. TruncationToken: "",
  3027. },
  3028. }
  3029. if input == nil {
  3030. input = &DescribeReservedInstancesOfferingsInput{}
  3031. }
  3032. req = c.newRequest(op, input, output)
  3033. output = &DescribeReservedInstancesOfferingsOutput{}
  3034. req.Data = output
  3035. return
  3036. }
  3037. // Describes Reserved Instance offerings that are available for purchase. With
  3038. // Reserved Instances, you purchase the right to launch instances for a period
  3039. // of time. During that time period, you do not receive insufficient capacity
  3040. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  3041. // instances for the actual time used.
  3042. //
  3043. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  3044. // in the Amazon Elastic Compute Cloud User Guide.
  3045. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  3046. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  3047. err := req.Send()
  3048. return out, err
  3049. }
  3050. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(p *DescribeReservedInstancesOfferingsOutput, lastPage bool) (shouldContinue bool)) error {
  3051. page, _ := c.DescribeReservedInstancesOfferingsRequest(input)
  3052. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3053. return fn(p.(*DescribeReservedInstancesOfferingsOutput), lastPage)
  3054. })
  3055. }
  3056. const opDescribeRouteTables = "DescribeRouteTables"
  3057. // DescribeRouteTablesRequest generates a request for the DescribeRouteTables operation.
  3058. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  3059. op := &request.Operation{
  3060. Name: opDescribeRouteTables,
  3061. HTTPMethod: "POST",
  3062. HTTPPath: "/",
  3063. }
  3064. if input == nil {
  3065. input = &DescribeRouteTablesInput{}
  3066. }
  3067. req = c.newRequest(op, input, output)
  3068. output = &DescribeRouteTablesOutput{}
  3069. req.Data = output
  3070. return
  3071. }
  3072. // Describes one or more of your route tables.
  3073. //
  3074. // Each subnet in your VPC must be associated with a route table. If a subnet
  3075. // is not explicitly associated with any route table, it is implicitly associated
  3076. // with the main route table. This command does not return the subnet ID for
  3077. // implicit associations.
  3078. //
  3079. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3080. // in the Amazon Virtual Private Cloud User Guide.
  3081. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  3082. req, out := c.DescribeRouteTablesRequest(input)
  3083. err := req.Send()
  3084. return out, err
  3085. }
  3086. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  3087. // DescribeSecurityGroupsRequest generates a request for the DescribeSecurityGroups operation.
  3088. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  3089. op := &request.Operation{
  3090. Name: opDescribeSecurityGroups,
  3091. HTTPMethod: "POST",
  3092. HTTPPath: "/",
  3093. }
  3094. if input == nil {
  3095. input = &DescribeSecurityGroupsInput{}
  3096. }
  3097. req = c.newRequest(op, input, output)
  3098. output = &DescribeSecurityGroupsOutput{}
  3099. req.Data = output
  3100. return
  3101. }
  3102. // Describes one or more of your security groups.
  3103. //
  3104. // A security group is for use with instances either in the EC2-Classic platform
  3105. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  3106. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  3107. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  3108. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  3109. // in the Amazon Virtual Private Cloud User Guide.
  3110. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  3111. req, out := c.DescribeSecurityGroupsRequest(input)
  3112. err := req.Send()
  3113. return out, err
  3114. }
  3115. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  3116. // DescribeSnapshotAttributeRequest generates a request for the DescribeSnapshotAttribute operation.
  3117. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  3118. op := &request.Operation{
  3119. Name: opDescribeSnapshotAttribute,
  3120. HTTPMethod: "POST",
  3121. HTTPPath: "/",
  3122. }
  3123. if input == nil {
  3124. input = &DescribeSnapshotAttributeInput{}
  3125. }
  3126. req = c.newRequest(op, input, output)
  3127. output = &DescribeSnapshotAttributeOutput{}
  3128. req.Data = output
  3129. return
  3130. }
  3131. // Describes the specified attribute of the specified snapshot. You can specify
  3132. // only one attribute at a time.
  3133. //
  3134. // For more information about EBS snapshots, see Amazon EBS Snapshots in the
  3135. // Amazon Elastic Compute Cloud User Guide.
  3136. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  3137. req, out := c.DescribeSnapshotAttributeRequest(input)
  3138. err := req.Send()
  3139. return out, err
  3140. }
  3141. const opDescribeSnapshots = "DescribeSnapshots"
  3142. // DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation.
  3143. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  3144. op := &request.Operation{
  3145. Name: opDescribeSnapshots,
  3146. HTTPMethod: "POST",
  3147. HTTPPath: "/",
  3148. Paginator: &request.Paginator{
  3149. InputTokens: []string{"NextToken"},
  3150. OutputTokens: []string{"NextToken"},
  3151. LimitToken: "",
  3152. TruncationToken: "",
  3153. },
  3154. }
  3155. if input == nil {
  3156. input = &DescribeSnapshotsInput{}
  3157. }
  3158. req = c.newRequest(op, input, output)
  3159. output = &DescribeSnapshotsOutput{}
  3160. req.Data = output
  3161. return
  3162. }
  3163. // Describes one or more of the EBS snapshots available to you. Available snapshots
  3164. // include public snapshots available for any AWS account to launch, private
  3165. // snapshots that you own, and private snapshots owned by another AWS account
  3166. // but for which you've been given explicit create volume permissions.
  3167. //
  3168. // The create volume permissions fall into the following categories:
  3169. //
  3170. // public: The owner of the snapshot granted create volume permissions for
  3171. // the snapshot to the all group. All AWS accounts have create volume permissions
  3172. // for these snapshots. explicit: The owner of the snapshot granted create
  3173. // volume permissions to a specific AWS account. implicit: An AWS account has
  3174. // implicit create volume permissions for all snapshots it owns. The list of
  3175. // snapshots returned can be modified by specifying snapshot IDs, snapshot owners,
  3176. // or AWS accounts with create volume permissions. If no options are specified,
  3177. // Amazon EC2 returns all snapshots for which you have create volume permissions.
  3178. //
  3179. // If you specify one or more snapshot IDs, only snapshots that have the specified
  3180. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  3181. // If you specify a snapshot ID for which you do not have access, it is not
  3182. // included in the returned results.
  3183. //
  3184. // If you specify one or more snapshot owners, only snapshots from the specified
  3185. // owners and for which you have access are returned. The results can include
  3186. // the AWS account IDs of the specified owners, amazon for snapshots owned by
  3187. // Amazon, or self for snapshots that you own.
  3188. //
  3189. // If you specify a list of restorable users, only snapshots with create snapshot
  3190. // permissions for those users are returned. You can specify AWS account IDs
  3191. // (if you own the snapshots), self for snapshots for which you own or have
  3192. // explicit permissions, or all for public snapshots.
  3193. //
  3194. // If you are describing a long list of snapshots, you can paginate the output
  3195. // to make the list more manageable. The MaxResults parameter sets the maximum
  3196. // number of results returned in a single page. If the list of results exceeds
  3197. // your MaxResults value, then that number of results is returned along with
  3198. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  3199. // to retrieve the remaining results.
  3200. //
  3201. // For more information about EBS snapshots, see Amazon EBS Snapshots in the
  3202. // Amazon Elastic Compute Cloud User Guide.
  3203. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  3204. req, out := c.DescribeSnapshotsRequest(input)
  3205. err := req.Send()
  3206. return out, err
  3207. }
  3208. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error {
  3209. page, _ := c.DescribeSnapshotsRequest(input)
  3210. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3211. return fn(p.(*DescribeSnapshotsOutput), lastPage)
  3212. })
  3213. }
  3214. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  3215. // DescribeSpotDatafeedSubscriptionRequest generates a request for the DescribeSpotDatafeedSubscription operation.
  3216. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  3217. op := &request.Operation{
  3218. Name: opDescribeSpotDatafeedSubscription,
  3219. HTTPMethod: "POST",
  3220. HTTPPath: "/",
  3221. }
  3222. if input == nil {
  3223. input = &DescribeSpotDatafeedSubscriptionInput{}
  3224. }
  3225. req = c.newRequest(op, input, output)
  3226. output = &DescribeSpotDatafeedSubscriptionOutput{}
  3227. req.Data = output
  3228. return
  3229. }
  3230. // Describes the data feed for Spot Instances. For more information, see Spot
  3231. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  3232. // in the Amazon Elastic Compute Cloud User Guide.
  3233. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  3234. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  3235. err := req.Send()
  3236. return out, err
  3237. }
  3238. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  3239. // DescribeSpotFleetInstancesRequest generates a request for the DescribeSpotFleetInstances operation.
  3240. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  3241. op := &request.Operation{
  3242. Name: opDescribeSpotFleetInstances,
  3243. HTTPMethod: "POST",
  3244. HTTPPath: "/",
  3245. }
  3246. if input == nil {
  3247. input = &DescribeSpotFleetInstancesInput{}
  3248. }
  3249. req = c.newRequest(op, input, output)
  3250. output = &DescribeSpotFleetInstancesOutput{}
  3251. req.Data = output
  3252. return
  3253. }
  3254. // Describes the running instances for the specified Spot fleet.
  3255. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  3256. req, out := c.DescribeSpotFleetInstancesRequest(input)
  3257. err := req.Send()
  3258. return out, err
  3259. }
  3260. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  3261. // DescribeSpotFleetRequestHistoryRequest generates a request for the DescribeSpotFleetRequestHistory operation.
  3262. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  3263. op := &request.Operation{
  3264. Name: opDescribeSpotFleetRequestHistory,
  3265. HTTPMethod: "POST",
  3266. HTTPPath: "/",
  3267. }
  3268. if input == nil {
  3269. input = &DescribeSpotFleetRequestHistoryInput{}
  3270. }
  3271. req = c.newRequest(op, input, output)
  3272. output = &DescribeSpotFleetRequestHistoryOutput{}
  3273. req.Data = output
  3274. return
  3275. }
  3276. // Describes the events for the specified Spot fleet request during the specified
  3277. // time.
  3278. //
  3279. // Spot fleet events are delayed by up to 30 seconds before they can be described.
  3280. // This ensures that you can query by the last evaluated time and not miss a
  3281. // recorded event.
  3282. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  3283. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  3284. err := req.Send()
  3285. return out, err
  3286. }
  3287. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  3288. // DescribeSpotFleetRequestsRequest generates a request for the DescribeSpotFleetRequests operation.
  3289. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  3290. op := &request.Operation{
  3291. Name: opDescribeSpotFleetRequests,
  3292. HTTPMethod: "POST",
  3293. HTTPPath: "/",
  3294. }
  3295. if input == nil {
  3296. input = &DescribeSpotFleetRequestsInput{}
  3297. }
  3298. req = c.newRequest(op, input, output)
  3299. output = &DescribeSpotFleetRequestsOutput{}
  3300. req.Data = output
  3301. return
  3302. }
  3303. // Describes your Spot fleet requests.
  3304. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  3305. req, out := c.DescribeSpotFleetRequestsRequest(input)
  3306. err := req.Send()
  3307. return out, err
  3308. }
  3309. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  3310. // DescribeSpotInstanceRequestsRequest generates a request for the DescribeSpotInstanceRequests operation.
  3311. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  3312. op := &request.Operation{
  3313. Name: opDescribeSpotInstanceRequests,
  3314. HTTPMethod: "POST",
  3315. HTTPPath: "/",
  3316. }
  3317. if input == nil {
  3318. input = &DescribeSpotInstanceRequestsInput{}
  3319. }
  3320. req = c.newRequest(op, input, output)
  3321. output = &DescribeSpotInstanceRequestsOutput{}
  3322. req.Data = output
  3323. return
  3324. }
  3325. // Describes the Spot Instance requests that belong to your account. Spot Instances
  3326. // are instances that Amazon EC2 launches when the bid price that you specify
  3327. // exceeds the current Spot Price. Amazon EC2 periodically sets the Spot Price
  3328. // based on available Spot Instance capacity and current Spot Instance requests.
  3329. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  3330. // in the Amazon Elastic Compute Cloud User Guide.
  3331. //
  3332. // You can use DescribeSpotInstanceRequests to find a running Spot Instance
  3333. // by examining the response. If the status of the Spot Instance is fulfilled,
  3334. // the instance ID appears in the response and contains the identifier of the
  3335. // instance. Alternatively, you can use DescribeInstances with a filter to look
  3336. // for instances where the instance lifecycle is spot.
  3337. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  3338. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  3339. err := req.Send()
  3340. return out, err
  3341. }
  3342. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  3343. // DescribeSpotPriceHistoryRequest generates a request for the DescribeSpotPriceHistory operation.
  3344. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  3345. op := &request.Operation{
  3346. Name: opDescribeSpotPriceHistory,
  3347. HTTPMethod: "POST",
  3348. HTTPPath: "/",
  3349. Paginator: &request.Paginator{
  3350. InputTokens: []string{"NextToken"},
  3351. OutputTokens: []string{"NextToken"},
  3352. LimitToken: "MaxResults",
  3353. TruncationToken: "",
  3354. },
  3355. }
  3356. if input == nil {
  3357. input = &DescribeSpotPriceHistoryInput{}
  3358. }
  3359. req = c.newRequest(op, input, output)
  3360. output = &DescribeSpotPriceHistoryOutput{}
  3361. req.Data = output
  3362. return
  3363. }
  3364. // Describes the Spot Price history. The prices returned are listed in chronological
  3365. // order, from the oldest to the most recent, for up to the past 90 days. For
  3366. // more information, see Spot Instance Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  3367. // in the Amazon Elastic Compute Cloud User Guide.
  3368. //
  3369. // When you specify a start and end time, this operation returns the prices
  3370. // of the instance types within the time range that you specified and the time
  3371. // when the price changed. The price is valid within the time period that you
  3372. // specified; the response merely indicates the last time that the price changed.
  3373. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  3374. req, out := c.DescribeSpotPriceHistoryRequest(input)
  3375. err := req.Send()
  3376. return out, err
  3377. }
  3378. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(p *DescribeSpotPriceHistoryOutput, lastPage bool) (shouldContinue bool)) error {
  3379. page, _ := c.DescribeSpotPriceHistoryRequest(input)
  3380. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3381. return fn(p.(*DescribeSpotPriceHistoryOutput), lastPage)
  3382. })
  3383. }
  3384. const opDescribeSubnets = "DescribeSubnets"
  3385. // DescribeSubnetsRequest generates a request for the DescribeSubnets operation.
  3386. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  3387. op := &request.Operation{
  3388. Name: opDescribeSubnets,
  3389. HTTPMethod: "POST",
  3390. HTTPPath: "/",
  3391. }
  3392. if input == nil {
  3393. input = &DescribeSubnetsInput{}
  3394. }
  3395. req = c.newRequest(op, input, output)
  3396. output = &DescribeSubnetsOutput{}
  3397. req.Data = output
  3398. return
  3399. }
  3400. // Describes one or more of your subnets.
  3401. //
  3402. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  3403. // in the Amazon Virtual Private Cloud User Guide.
  3404. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  3405. req, out := c.DescribeSubnetsRequest(input)
  3406. err := req.Send()
  3407. return out, err
  3408. }
  3409. const opDescribeTags = "DescribeTags"
  3410. // DescribeTagsRequest generates a request for the DescribeTags operation.
  3411. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  3412. op := &request.Operation{
  3413. Name: opDescribeTags,
  3414. HTTPMethod: "POST",
  3415. HTTPPath: "/",
  3416. }
  3417. if input == nil {
  3418. input = &DescribeTagsInput{}
  3419. }
  3420. req = c.newRequest(op, input, output)
  3421. output = &DescribeTagsOutput{}
  3422. req.Data = output
  3423. return
  3424. }
  3425. // Describes one or more of the tags for your EC2 resources.
  3426. //
  3427. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  3428. // in the Amazon Elastic Compute Cloud User Guide.
  3429. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  3430. req, out := c.DescribeTagsRequest(input)
  3431. err := req.Send()
  3432. return out, err
  3433. }
  3434. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  3435. // DescribeVolumeAttributeRequest generates a request for the DescribeVolumeAttribute operation.
  3436. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  3437. op := &request.Operation{
  3438. Name: opDescribeVolumeAttribute,
  3439. HTTPMethod: "POST",
  3440. HTTPPath: "/",
  3441. }
  3442. if input == nil {
  3443. input = &DescribeVolumeAttributeInput{}
  3444. }
  3445. req = c.newRequest(op, input, output)
  3446. output = &DescribeVolumeAttributeOutput{}
  3447. req.Data = output
  3448. return
  3449. }
  3450. // Describes the specified attribute of the specified volume. You can specify
  3451. // only one attribute at a time.
  3452. //
  3453. // For more information about EBS volumes, see Amazon EBS Volumes in the Amazon
  3454. // Elastic Compute Cloud User Guide.
  3455. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  3456. req, out := c.DescribeVolumeAttributeRequest(input)
  3457. err := req.Send()
  3458. return out, err
  3459. }
  3460. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  3461. // DescribeVolumeStatusRequest generates a request for the DescribeVolumeStatus operation.
  3462. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  3463. op := &request.Operation{
  3464. Name: opDescribeVolumeStatus,
  3465. HTTPMethod: "POST",
  3466. HTTPPath: "/",
  3467. Paginator: &request.Paginator{
  3468. InputTokens: []string{"NextToken"},
  3469. OutputTokens: []string{"NextToken"},
  3470. LimitToken: "MaxResults",
  3471. TruncationToken: "",
  3472. },
  3473. }
  3474. if input == nil {
  3475. input = &DescribeVolumeStatusInput{}
  3476. }
  3477. req = c.newRequest(op, input, output)
  3478. output = &DescribeVolumeStatusOutput{}
  3479. req.Data = output
  3480. return
  3481. }
  3482. // Describes the status of the specified volumes. Volume status provides the
  3483. // result of the checks performed on your volumes to determine events that can
  3484. // impair the performance of your volumes. The performance of a volume can be
  3485. // affected if an issue occurs on the volume's underlying host. If the volume's
  3486. // underlying host experiences a power outage or system issue, after the system
  3487. // is restored, there could be data inconsistencies on the volume. Volume events
  3488. // notify you if this occurs. Volume actions notify you if any action needs
  3489. // to be taken in response to the event.
  3490. //
  3491. // The DescribeVolumeStatus operation provides the following information about
  3492. // the specified volumes:
  3493. //
  3494. // Status: Reflects the current status of the volume. The possible values are
  3495. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  3496. // status of the volume is ok. If the check fails, the overall status is impaired.
  3497. // If the status is insufficient-data, then the checks may still be taking place
  3498. // on your volume at the time. We recommend that you retry the request. For
  3499. // more information on volume status, see Monitoring the Status of Your Volumes
  3500. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  3501. //
  3502. // Events: Reflect the cause of a volume status and may require you to take
  3503. // action. For example, if your volume returns an impaired status, then the
  3504. // volume event might be potential-data-inconsistency. This means that your
  3505. // volume has been affected by an issue with the underlying host, has all I/O
  3506. // operations disabled, and may have inconsistent data.
  3507. //
  3508. // Actions: Reflect the actions you may have to take in response to an event.
  3509. // For example, if the status of the volume is impaired and the volume event
  3510. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  3511. // This means that you may want to enable the I/O operations for the volume
  3512. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  3513. //
  3514. // Volume status is based on the volume status checks, and does not reflect
  3515. // the volume state. Therefore, volume status does not indicate volumes in the
  3516. // error state (for example, when a volume is incapable of accepting I/O.)
  3517. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  3518. req, out := c.DescribeVolumeStatusRequest(input)
  3519. err := req.Send()
  3520. return out, err
  3521. }
  3522. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(p *DescribeVolumeStatusOutput, lastPage bool) (shouldContinue bool)) error {
  3523. page, _ := c.DescribeVolumeStatusRequest(input)
  3524. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3525. return fn(p.(*DescribeVolumeStatusOutput), lastPage)
  3526. })
  3527. }
  3528. const opDescribeVolumes = "DescribeVolumes"
  3529. // DescribeVolumesRequest generates a request for the DescribeVolumes operation.
  3530. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  3531. op := &request.Operation{
  3532. Name: opDescribeVolumes,
  3533. HTTPMethod: "POST",
  3534. HTTPPath: "/",
  3535. Paginator: &request.Paginator{
  3536. InputTokens: []string{"NextToken"},
  3537. OutputTokens: []string{"NextToken"},
  3538. LimitToken: "MaxResults",
  3539. TruncationToken: "",
  3540. },
  3541. }
  3542. if input == nil {
  3543. input = &DescribeVolumesInput{}
  3544. }
  3545. req = c.newRequest(op, input, output)
  3546. output = &DescribeVolumesOutput{}
  3547. req.Data = output
  3548. return
  3549. }
  3550. // Describes the specified EBS volumes.
  3551. //
  3552. // If you are describing a long list of volumes, you can paginate the output
  3553. // to make the list more manageable. The MaxResults parameter sets the maximum
  3554. // number of results returned in a single page. If the list of results exceeds
  3555. // your MaxResults value, then that number of results is returned along with
  3556. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  3557. // to retrieve the remaining results.
  3558. //
  3559. // For more information about EBS volumes, see Amazon EBS Volumes in the Amazon
  3560. // Elastic Compute Cloud User Guide.
  3561. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  3562. req, out := c.DescribeVolumesRequest(input)
  3563. err := req.Send()
  3564. return out, err
  3565. }
  3566. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(p *DescribeVolumesOutput, lastPage bool) (shouldContinue bool)) error {
  3567. page, _ := c.DescribeVolumesRequest(input)
  3568. return page.EachPage(func(p interface{}, lastPage bool) bool {
  3569. return fn(p.(*DescribeVolumesOutput), lastPage)
  3570. })
  3571. }
  3572. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  3573. // DescribeVpcAttributeRequest generates a request for the DescribeVpcAttribute operation.
  3574. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  3575. op := &request.Operation{
  3576. Name: opDescribeVpcAttribute,
  3577. HTTPMethod: "POST",
  3578. HTTPPath: "/",
  3579. }
  3580. if input == nil {
  3581. input = &DescribeVpcAttributeInput{}
  3582. }
  3583. req = c.newRequest(op, input, output)
  3584. output = &DescribeVpcAttributeOutput{}
  3585. req.Data = output
  3586. return
  3587. }
  3588. // Describes the specified attribute of the specified VPC. You can specify only
  3589. // one attribute at a time.
  3590. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  3591. req, out := c.DescribeVpcAttributeRequest(input)
  3592. err := req.Send()
  3593. return out, err
  3594. }
  3595. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  3596. // DescribeVpcClassicLinkRequest generates a request for the DescribeVpcClassicLink operation.
  3597. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  3598. op := &request.Operation{
  3599. Name: opDescribeVpcClassicLink,
  3600. HTTPMethod: "POST",
  3601. HTTPPath: "/",
  3602. }
  3603. if input == nil {
  3604. input = &DescribeVpcClassicLinkInput{}
  3605. }
  3606. req = c.newRequest(op, input, output)
  3607. output = &DescribeVpcClassicLinkOutput{}
  3608. req.Data = output
  3609. return
  3610. }
  3611. // Describes the ClassicLink status of one or more VPCs.
  3612. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  3613. req, out := c.DescribeVpcClassicLinkRequest(input)
  3614. err := req.Send()
  3615. return out, err
  3616. }
  3617. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  3618. // DescribeVpcEndpointServicesRequest generates a request for the DescribeVpcEndpointServices operation.
  3619. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  3620. op := &request.Operation{
  3621. Name: opDescribeVpcEndpointServices,
  3622. HTTPMethod: "POST",
  3623. HTTPPath: "/",
  3624. }
  3625. if input == nil {
  3626. input = &DescribeVpcEndpointServicesInput{}
  3627. }
  3628. req = c.newRequest(op, input, output)
  3629. output = &DescribeVpcEndpointServicesOutput{}
  3630. req.Data = output
  3631. return
  3632. }
  3633. // Describes all supported AWS services that can be specified when creating
  3634. // a VPC endpoint.
  3635. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  3636. req, out := c.DescribeVpcEndpointServicesRequest(input)
  3637. err := req.Send()
  3638. return out, err
  3639. }
  3640. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  3641. // DescribeVpcEndpointsRequest generates a request for the DescribeVpcEndpoints operation.
  3642. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  3643. op := &request.Operation{
  3644. Name: opDescribeVpcEndpoints,
  3645. HTTPMethod: "POST",
  3646. HTTPPath: "/",
  3647. }
  3648. if input == nil {
  3649. input = &DescribeVpcEndpointsInput{}
  3650. }
  3651. req = c.newRequest(op, input, output)
  3652. output = &DescribeVpcEndpointsOutput{}
  3653. req.Data = output
  3654. return
  3655. }
  3656. // Describes one or more of your VPC endpoints.
  3657. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  3658. req, out := c.DescribeVpcEndpointsRequest(input)
  3659. err := req.Send()
  3660. return out, err
  3661. }
  3662. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  3663. // DescribeVpcPeeringConnectionsRequest generates a request for the DescribeVpcPeeringConnections operation.
  3664. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  3665. op := &request.Operation{
  3666. Name: opDescribeVpcPeeringConnections,
  3667. HTTPMethod: "POST",
  3668. HTTPPath: "/",
  3669. }
  3670. if input == nil {
  3671. input = &DescribeVpcPeeringConnectionsInput{}
  3672. }
  3673. req = c.newRequest(op, input, output)
  3674. output = &DescribeVpcPeeringConnectionsOutput{}
  3675. req.Data = output
  3676. return
  3677. }
  3678. // Describes one or more of your VPC peering connections.
  3679. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  3680. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  3681. err := req.Send()
  3682. return out, err
  3683. }
  3684. const opDescribeVpcs = "DescribeVpcs"
  3685. // DescribeVpcsRequest generates a request for the DescribeVpcs operation.
  3686. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  3687. op := &request.Operation{
  3688. Name: opDescribeVpcs,
  3689. HTTPMethod: "POST",
  3690. HTTPPath: "/",
  3691. }
  3692. if input == nil {
  3693. input = &DescribeVpcsInput{}
  3694. }
  3695. req = c.newRequest(op, input, output)
  3696. output = &DescribeVpcsOutput{}
  3697. req.Data = output
  3698. return
  3699. }
  3700. // Describes one or more of your VPCs.
  3701. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  3702. req, out := c.DescribeVpcsRequest(input)
  3703. err := req.Send()
  3704. return out, err
  3705. }
  3706. const opDescribeVpnConnections = "DescribeVpnConnections"
  3707. // DescribeVpnConnectionsRequest generates a request for the DescribeVpnConnections operation.
  3708. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  3709. op := &request.Operation{
  3710. Name: opDescribeVpnConnections,
  3711. HTTPMethod: "POST",
  3712. HTTPPath: "/",
  3713. }
  3714. if input == nil {
  3715. input = &DescribeVpnConnectionsInput{}
  3716. }
  3717. req = c.newRequest(op, input, output)
  3718. output = &DescribeVpnConnectionsOutput{}
  3719. req.Data = output
  3720. return
  3721. }
  3722. // Describes one or more of your VPN connections.
  3723. //
  3724. // For more information about VPN connections, see Adding a Hardware Virtual
  3725. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3726. // in the Amazon Virtual Private Cloud User Guide.
  3727. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  3728. req, out := c.DescribeVpnConnectionsRequest(input)
  3729. err := req.Send()
  3730. return out, err
  3731. }
  3732. const opDescribeVpnGateways = "DescribeVpnGateways"
  3733. // DescribeVpnGatewaysRequest generates a request for the DescribeVpnGateways operation.
  3734. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  3735. op := &request.Operation{
  3736. Name: opDescribeVpnGateways,
  3737. HTTPMethod: "POST",
  3738. HTTPPath: "/",
  3739. }
  3740. if input == nil {
  3741. input = &DescribeVpnGatewaysInput{}
  3742. }
  3743. req = c.newRequest(op, input, output)
  3744. output = &DescribeVpnGatewaysOutput{}
  3745. req.Data = output
  3746. return
  3747. }
  3748. // Describes one or more of your virtual private gateways.
  3749. //
  3750. // For more information about virtual private gateways, see Adding an IPsec
  3751. // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  3752. // in the Amazon Virtual Private Cloud User Guide.
  3753. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  3754. req, out := c.DescribeVpnGatewaysRequest(input)
  3755. err := req.Send()
  3756. return out, err
  3757. }
  3758. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  3759. // DetachClassicLinkVpcRequest generates a request for the DetachClassicLinkVpc operation.
  3760. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  3761. op := &request.Operation{
  3762. Name: opDetachClassicLinkVpc,
  3763. HTTPMethod: "POST",
  3764. HTTPPath: "/",
  3765. }
  3766. if input == nil {
  3767. input = &DetachClassicLinkVpcInput{}
  3768. }
  3769. req = c.newRequest(op, input, output)
  3770. output = &DetachClassicLinkVpcOutput{}
  3771. req.Data = output
  3772. return
  3773. }
  3774. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  3775. // has been unlinked, the VPC security groups are no longer associated with
  3776. // it. An instance is automatically unlinked from a VPC when it's stopped.
  3777. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  3778. req, out := c.DetachClassicLinkVpcRequest(input)
  3779. err := req.Send()
  3780. return out, err
  3781. }
  3782. const opDetachInternetGateway = "DetachInternetGateway"
  3783. // DetachInternetGatewayRequest generates a request for the DetachInternetGateway operation.
  3784. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  3785. op := &request.Operation{
  3786. Name: opDetachInternetGateway,
  3787. HTTPMethod: "POST",
  3788. HTTPPath: "/",
  3789. }
  3790. if input == nil {
  3791. input = &DetachInternetGatewayInput{}
  3792. }
  3793. req = c.newRequest(op, input, output)
  3794. output = &DetachInternetGatewayOutput{}
  3795. req.Data = output
  3796. return
  3797. }
  3798. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  3799. // Internet and the VPC. The VPC must not contain any running instances with
  3800. // Elastic IP addresses.
  3801. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  3802. req, out := c.DetachInternetGatewayRequest(input)
  3803. err := req.Send()
  3804. return out, err
  3805. }
  3806. const opDetachNetworkInterface = "DetachNetworkInterface"
  3807. // DetachNetworkInterfaceRequest generates a request for the DetachNetworkInterface operation.
  3808. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  3809. op := &request.Operation{
  3810. Name: opDetachNetworkInterface,
  3811. HTTPMethod: "POST",
  3812. HTTPPath: "/",
  3813. }
  3814. if input == nil {
  3815. input = &DetachNetworkInterfaceInput{}
  3816. }
  3817. req = c.newRequest(op, input, output)
  3818. output = &DetachNetworkInterfaceOutput{}
  3819. req.Data = output
  3820. return
  3821. }
  3822. // Detaches a network interface from an instance.
  3823. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  3824. req, out := c.DetachNetworkInterfaceRequest(input)
  3825. err := req.Send()
  3826. return out, err
  3827. }
  3828. const opDetachVolume = "DetachVolume"
  3829. // DetachVolumeRequest generates a request for the DetachVolume operation.
  3830. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  3831. op := &request.Operation{
  3832. Name: opDetachVolume,
  3833. HTTPMethod: "POST",
  3834. HTTPPath: "/",
  3835. }
  3836. if input == nil {
  3837. input = &DetachVolumeInput{}
  3838. }
  3839. req = c.newRequest(op, input, output)
  3840. output = &VolumeAttachment{}
  3841. req.Data = output
  3842. return
  3843. }
  3844. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  3845. // on the device within your operating system before detaching the volume. Failure
  3846. // to do so results in the volume being stuck in a busy state while detaching.
  3847. //
  3848. // If an Amazon EBS volume is the root device of an instance, it can't be detached
  3849. // while the instance is running. To detach the root volume, stop the instance
  3850. // first.
  3851. //
  3852. // When a volume with an AWS Marketplace product code is detached from an instance,
  3853. // the product code is no longer associated with the instance.
  3854. //
  3855. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  3856. // in the Amazon Elastic Compute Cloud User Guide.
  3857. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  3858. req, out := c.DetachVolumeRequest(input)
  3859. err := req.Send()
  3860. return out, err
  3861. }
  3862. const opDetachVpnGateway = "DetachVpnGateway"
  3863. // DetachVpnGatewayRequest generates a request for the DetachVpnGateway operation.
  3864. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  3865. op := &request.Operation{
  3866. Name: opDetachVpnGateway,
  3867. HTTPMethod: "POST",
  3868. HTTPPath: "/",
  3869. }
  3870. if input == nil {
  3871. input = &DetachVpnGatewayInput{}
  3872. }
  3873. req = c.newRequest(op, input, output)
  3874. output = &DetachVpnGatewayOutput{}
  3875. req.Data = output
  3876. return
  3877. }
  3878. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  3879. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  3880. // gateway has been completely detached from a VPC by describing the virtual
  3881. // private gateway (any attachments to the virtual private gateway are also
  3882. // described).
  3883. //
  3884. // You must wait for the attachment's state to switch to detached before you
  3885. // can delete the VPC or attach a different VPC to the virtual private gateway.
  3886. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  3887. req, out := c.DetachVpnGatewayRequest(input)
  3888. err := req.Send()
  3889. return out, err
  3890. }
  3891. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  3892. // DisableVgwRoutePropagationRequest generates a request for the DisableVgwRoutePropagation operation.
  3893. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  3894. op := &request.Operation{
  3895. Name: opDisableVgwRoutePropagation,
  3896. HTTPMethod: "POST",
  3897. HTTPPath: "/",
  3898. }
  3899. if input == nil {
  3900. input = &DisableVgwRoutePropagationInput{}
  3901. }
  3902. req = c.newRequest(op, input, output)
  3903. output = &DisableVgwRoutePropagationOutput{}
  3904. req.Data = output
  3905. return
  3906. }
  3907. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  3908. // route table of a VPC.
  3909. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  3910. req, out := c.DisableVgwRoutePropagationRequest(input)
  3911. err := req.Send()
  3912. return out, err
  3913. }
  3914. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  3915. // DisableVpcClassicLinkRequest generates a request for the DisableVpcClassicLink operation.
  3916. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  3917. op := &request.Operation{
  3918. Name: opDisableVpcClassicLink,
  3919. HTTPMethod: "POST",
  3920. HTTPPath: "/",
  3921. }
  3922. if input == nil {
  3923. input = &DisableVpcClassicLinkInput{}
  3924. }
  3925. req = c.newRequest(op, input, output)
  3926. output = &DisableVpcClassicLinkOutput{}
  3927. req.Data = output
  3928. return
  3929. }
  3930. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  3931. // that has EC2-Classic instances linked to it.
  3932. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  3933. req, out := c.DisableVpcClassicLinkRequest(input)
  3934. err := req.Send()
  3935. return out, err
  3936. }
  3937. const opDisassociateAddress = "DisassociateAddress"
  3938. // DisassociateAddressRequest generates a request for the DisassociateAddress operation.
  3939. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  3940. op := &request.Operation{
  3941. Name: opDisassociateAddress,
  3942. HTTPMethod: "POST",
  3943. HTTPPath: "/",
  3944. }
  3945. if input == nil {
  3946. input = &DisassociateAddressInput{}
  3947. }
  3948. req = c.newRequest(op, input, output)
  3949. output = &DisassociateAddressOutput{}
  3950. req.Data = output
  3951. return
  3952. }
  3953. // Disassociates an Elastic IP address from the instance or network interface
  3954. // it's associated with.
  3955. //
  3956. // An Elastic IP address is for use in either the EC2-Classic platform or in
  3957. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  3958. // in the Amazon Elastic Compute Cloud User Guide.
  3959. //
  3960. // This is an idempotent operation. If you perform the operation more than
  3961. // once, Amazon EC2 doesn't return an error.
  3962. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  3963. req, out := c.DisassociateAddressRequest(input)
  3964. err := req.Send()
  3965. return out, err
  3966. }
  3967. const opDisassociateRouteTable = "DisassociateRouteTable"
  3968. // DisassociateRouteTableRequest generates a request for the DisassociateRouteTable operation.
  3969. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  3970. op := &request.Operation{
  3971. Name: opDisassociateRouteTable,
  3972. HTTPMethod: "POST",
  3973. HTTPPath: "/",
  3974. }
  3975. if input == nil {
  3976. input = &DisassociateRouteTableInput{}
  3977. }
  3978. req = c.newRequest(op, input, output)
  3979. output = &DisassociateRouteTableOutput{}
  3980. req.Data = output
  3981. return
  3982. }
  3983. // Disassociates a subnet from a route table.
  3984. //
  3985. // After you perform this action, the subnet no longer uses the routes in the
  3986. // route table. Instead, it uses the routes in the VPC's main route table. For
  3987. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3988. // in the Amazon Virtual Private Cloud User Guide.
  3989. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  3990. req, out := c.DisassociateRouteTableRequest(input)
  3991. err := req.Send()
  3992. return out, err
  3993. }
  3994. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  3995. // EnableVgwRoutePropagationRequest generates a request for the EnableVgwRoutePropagation operation.
  3996. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  3997. op := &request.Operation{
  3998. Name: opEnableVgwRoutePropagation,
  3999. HTTPMethod: "POST",
  4000. HTTPPath: "/",
  4001. }
  4002. if input == nil {
  4003. input = &EnableVgwRoutePropagationInput{}
  4004. }
  4005. req = c.newRequest(op, input, output)
  4006. output = &EnableVgwRoutePropagationOutput{}
  4007. req.Data = output
  4008. return
  4009. }
  4010. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  4011. // route table of a VPC.
  4012. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  4013. req, out := c.EnableVgwRoutePropagationRequest(input)
  4014. err := req.Send()
  4015. return out, err
  4016. }
  4017. const opEnableVolumeIO = "EnableVolumeIO"
  4018. // EnableVolumeIORequest generates a request for the EnableVolumeIO operation.
  4019. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  4020. op := &request.Operation{
  4021. Name: opEnableVolumeIO,
  4022. HTTPMethod: "POST",
  4023. HTTPPath: "/",
  4024. }
  4025. if input == nil {
  4026. input = &EnableVolumeIOInput{}
  4027. }
  4028. req = c.newRequest(op, input, output)
  4029. output = &EnableVolumeIOOutput{}
  4030. req.Data = output
  4031. return
  4032. }
  4033. // Enables I/O operations for a volume that had I/O operations disabled because
  4034. // the data on the volume was potentially inconsistent.
  4035. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  4036. req, out := c.EnableVolumeIORequest(input)
  4037. err := req.Send()
  4038. return out, err
  4039. }
  4040. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  4041. // EnableVpcClassicLinkRequest generates a request for the EnableVpcClassicLink operation.
  4042. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  4043. op := &request.Operation{
  4044. Name: opEnableVpcClassicLink,
  4045. HTTPMethod: "POST",
  4046. HTTPPath: "/",
  4047. }
  4048. if input == nil {
  4049. input = &EnableVpcClassicLinkInput{}
  4050. }
  4051. req = c.newRequest(op, input, output)
  4052. output = &EnableVpcClassicLinkOutput{}
  4053. req.Data = output
  4054. return
  4055. }
  4056. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  4057. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  4058. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  4059. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  4060. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  4061. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  4062. // in the Amazon Elastic Compute Cloud User Guide.
  4063. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  4064. req, out := c.EnableVpcClassicLinkRequest(input)
  4065. err := req.Send()
  4066. return out, err
  4067. }
  4068. const opGetConsoleOutput = "GetConsoleOutput"
  4069. // GetConsoleOutputRequest generates a request for the GetConsoleOutput operation.
  4070. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  4071. op := &request.Operation{
  4072. Name: opGetConsoleOutput,
  4073. HTTPMethod: "POST",
  4074. HTTPPath: "/",
  4075. }
  4076. if input == nil {
  4077. input = &GetConsoleOutputInput{}
  4078. }
  4079. req = c.newRequest(op, input, output)
  4080. output = &GetConsoleOutputOutput{}
  4081. req.Data = output
  4082. return
  4083. }
  4084. // Gets the console output for the specified instance.
  4085. //
  4086. // Instances do not have a physical monitor through which you can view their
  4087. // console output. They also lack physical controls that allow you to power
  4088. // up, reboot, or shut them down. To allow these actions, we provide them through
  4089. // the Amazon EC2 API and command line interface.
  4090. //
  4091. // Instance console output is buffered and posted shortly after instance boot,
  4092. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
  4093. // which is available for at least one hour after the most recent post.
  4094. //
  4095. // For Linux instances, the instance console output displays the exact console
  4096. // output that would normally be displayed on a physical monitor attached to
  4097. // a computer. This output is buffered because the instance produces it and
  4098. // then posts it to a store where the instance's owner can retrieve it.
  4099. //
  4100. // For Windows instances, the instance console output includes output from
  4101. // the EC2Config service.
  4102. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  4103. req, out := c.GetConsoleOutputRequest(input)
  4104. err := req.Send()
  4105. return out, err
  4106. }
  4107. const opGetPasswordData = "GetPasswordData"
  4108. // GetPasswordDataRequest generates a request for the GetPasswordData operation.
  4109. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  4110. op := &request.Operation{
  4111. Name: opGetPasswordData,
  4112. HTTPMethod: "POST",
  4113. HTTPPath: "/",
  4114. }
  4115. if input == nil {
  4116. input = &GetPasswordDataInput{}
  4117. }
  4118. req = c.newRequest(op, input, output)
  4119. output = &GetPasswordDataOutput{}
  4120. req.Data = output
  4121. return
  4122. }
  4123. // Retrieves the encrypted administrator password for an instance running Windows.
  4124. //
  4125. // The Windows password is generated at boot if the EC2Config service plugin,
  4126. // Ec2SetPassword, is enabled. This usually only happens the first time an AMI
  4127. // is launched, and then Ec2SetPassword is automatically disabled. The password
  4128. // is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
  4129. // bundling.
  4130. //
  4131. // The password is encrypted using the key pair that you specified when you
  4132. // launched the instance. You must provide the corresponding key pair file.
  4133. //
  4134. // Password generation and encryption takes a few moments. We recommend that
  4135. // you wait up to 15 minutes after launching an instance before trying to retrieve
  4136. // the generated password.
  4137. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  4138. req, out := c.GetPasswordDataRequest(input)
  4139. err := req.Send()
  4140. return out, err
  4141. }
  4142. const opImportImage = "ImportImage"
  4143. // ImportImageRequest generates a request for the ImportImage operation.
  4144. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  4145. op := &request.Operation{
  4146. Name: opImportImage,
  4147. HTTPMethod: "POST",
  4148. HTTPPath: "/",
  4149. }
  4150. if input == nil {
  4151. input = &ImportImageInput{}
  4152. }
  4153. req = c.newRequest(op, input, output)
  4154. output = &ImportImageOutput{}
  4155. req.Data = output
  4156. return
  4157. }
  4158. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  4159. // Machine Image (AMI).
  4160. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  4161. req, out := c.ImportImageRequest(input)
  4162. err := req.Send()
  4163. return out, err
  4164. }
  4165. const opImportInstance = "ImportInstance"
  4166. // ImportInstanceRequest generates a request for the ImportInstance operation.
  4167. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  4168. op := &request.Operation{
  4169. Name: opImportInstance,
  4170. HTTPMethod: "POST",
  4171. HTTPPath: "/",
  4172. }
  4173. if input == nil {
  4174. input = &ImportInstanceInput{}
  4175. }
  4176. req = c.newRequest(op, input, output)
  4177. output = &ImportInstanceOutput{}
  4178. req.Data = output
  4179. return
  4180. }
  4181. // Creates an import instance task using metadata from the specified disk image.
  4182. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  4183. // use ImportImage. After importing the image, you then upload it using the
  4184. // ec2-import-volume command in the EC2 command line tools. For more information,
  4185. // see Using the Command Line Tools to Import Your Virtual Machine to Amazon
  4186. // EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
  4187. // in the Amazon Elastic Compute Cloud User Guide.
  4188. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  4189. req, out := c.ImportInstanceRequest(input)
  4190. err := req.Send()
  4191. return out, err
  4192. }
  4193. const opImportKeyPair = "ImportKeyPair"
  4194. // ImportKeyPairRequest generates a request for the ImportKeyPair operation.
  4195. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  4196. op := &request.Operation{
  4197. Name: opImportKeyPair,
  4198. HTTPMethod: "POST",
  4199. HTTPPath: "/",
  4200. }
  4201. if input == nil {
  4202. input = &ImportKeyPairInput{}
  4203. }
  4204. req = c.newRequest(op, input, output)
  4205. output = &ImportKeyPairOutput{}
  4206. req.Data = output
  4207. return
  4208. }
  4209. // Imports the public key from an RSA key pair that you created with a third-party
  4210. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  4211. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  4212. // you create the key pair and give AWS just the public key. The private key
  4213. // is never transferred between you and AWS.
  4214. //
  4215. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  4216. // in the Amazon Elastic Compute Cloud User Guide.
  4217. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  4218. req, out := c.ImportKeyPairRequest(input)
  4219. err := req.Send()
  4220. return out, err
  4221. }
  4222. const opImportSnapshot = "ImportSnapshot"
  4223. // ImportSnapshotRequest generates a request for the ImportSnapshot operation.
  4224. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  4225. op := &request.Operation{
  4226. Name: opImportSnapshot,
  4227. HTTPMethod: "POST",
  4228. HTTPPath: "/",
  4229. }
  4230. if input == nil {
  4231. input = &ImportSnapshotInput{}
  4232. }
  4233. req = c.newRequest(op, input, output)
  4234. output = &ImportSnapshotOutput{}
  4235. req.Data = output
  4236. return
  4237. }
  4238. // Imports a disk into an EBS snapshot.
  4239. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  4240. req, out := c.ImportSnapshotRequest(input)
  4241. err := req.Send()
  4242. return out, err
  4243. }
  4244. const opImportVolume = "ImportVolume"
  4245. // ImportVolumeRequest generates a request for the ImportVolume operation.
  4246. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  4247. op := &request.Operation{
  4248. Name: opImportVolume,
  4249. HTTPMethod: "POST",
  4250. HTTPPath: "/",
  4251. }
  4252. if input == nil {
  4253. input = &ImportVolumeInput{}
  4254. }
  4255. req = c.newRequest(op, input, output)
  4256. output = &ImportVolumeOutput{}
  4257. req.Data = output
  4258. return
  4259. }
  4260. // Creates an import volume task using metadata from the specified disk image.
  4261. // After importing the image, you then upload it using the ec2-import-volume
  4262. // command in the Amazon EC2 command-line interface (CLI) tools. For more information,
  4263. // see Using the Command Line Tools to Import Your Virtual Machine to Amazon
  4264. // EC2 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UploadingYourInstancesandVolumes.html)
  4265. // in the Amazon Elastic Compute Cloud User Guide.
  4266. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  4267. req, out := c.ImportVolumeRequest(input)
  4268. err := req.Send()
  4269. return out, err
  4270. }
  4271. const opModifyImageAttribute = "ModifyImageAttribute"
  4272. // ModifyImageAttributeRequest generates a request for the ModifyImageAttribute operation.
  4273. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  4274. op := &request.Operation{
  4275. Name: opModifyImageAttribute,
  4276. HTTPMethod: "POST",
  4277. HTTPPath: "/",
  4278. }
  4279. if input == nil {
  4280. input = &ModifyImageAttributeInput{}
  4281. }
  4282. req = c.newRequest(op, input, output)
  4283. output = &ModifyImageAttributeOutput{}
  4284. req.Data = output
  4285. return
  4286. }
  4287. // Modifies the specified attribute of the specified AMI. You can specify only
  4288. // one attribute at a time.
  4289. //
  4290. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  4291. // product code cannot be made public.
  4292. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  4293. req, out := c.ModifyImageAttributeRequest(input)
  4294. err := req.Send()
  4295. return out, err
  4296. }
  4297. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  4298. // ModifyInstanceAttributeRequest generates a request for the ModifyInstanceAttribute operation.
  4299. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  4300. op := &request.Operation{
  4301. Name: opModifyInstanceAttribute,
  4302. HTTPMethod: "POST",
  4303. HTTPPath: "/",
  4304. }
  4305. if input == nil {
  4306. input = &ModifyInstanceAttributeInput{}
  4307. }
  4308. req = c.newRequest(op, input, output)
  4309. output = &ModifyInstanceAttributeOutput{}
  4310. req.Data = output
  4311. return
  4312. }
  4313. // Modifies the specified attribute of the specified instance. You can specify
  4314. // only one attribute at a time.
  4315. //
  4316. // To modify some attributes, the instance must be stopped. For more information,
  4317. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  4318. // in the Amazon Elastic Compute Cloud User Guide.
  4319. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  4320. req, out := c.ModifyInstanceAttributeRequest(input)
  4321. err := req.Send()
  4322. return out, err
  4323. }
  4324. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  4325. // ModifyNetworkInterfaceAttributeRequest generates a request for the ModifyNetworkInterfaceAttribute operation.
  4326. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  4327. op := &request.Operation{
  4328. Name: opModifyNetworkInterfaceAttribute,
  4329. HTTPMethod: "POST",
  4330. HTTPPath: "/",
  4331. }
  4332. if input == nil {
  4333. input = &ModifyNetworkInterfaceAttributeInput{}
  4334. }
  4335. req = c.newRequest(op, input, output)
  4336. output = &ModifyNetworkInterfaceAttributeOutput{}
  4337. req.Data = output
  4338. return
  4339. }
  4340. // Modifies the specified network interface attribute. You can specify only
  4341. // one attribute at a time.
  4342. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  4343. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  4344. err := req.Send()
  4345. return out, err
  4346. }
  4347. const opModifyReservedInstances = "ModifyReservedInstances"
  4348. // ModifyReservedInstancesRequest generates a request for the ModifyReservedInstances operation.
  4349. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  4350. op := &request.Operation{
  4351. Name: opModifyReservedInstances,
  4352. HTTPMethod: "POST",
  4353. HTTPPath: "/",
  4354. }
  4355. if input == nil {
  4356. input = &ModifyReservedInstancesInput{}
  4357. }
  4358. req = c.newRequest(op, input, output)
  4359. output = &ModifyReservedInstancesOutput{}
  4360. req.Data = output
  4361. return
  4362. }
  4363. // Modifies the Availability Zone, instance count, instance type, or network
  4364. // platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
  4365. // Instances to be modified must be identical, except for Availability Zone,
  4366. // network platform, and instance type.
  4367. //
  4368. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  4369. // in the Amazon Elastic Compute Cloud User Guide.
  4370. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  4371. req, out := c.ModifyReservedInstancesRequest(input)
  4372. err := req.Send()
  4373. return out, err
  4374. }
  4375. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  4376. // ModifySnapshotAttributeRequest generates a request for the ModifySnapshotAttribute operation.
  4377. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  4378. op := &request.Operation{
  4379. Name: opModifySnapshotAttribute,
  4380. HTTPMethod: "POST",
  4381. HTTPPath: "/",
  4382. }
  4383. if input == nil {
  4384. input = &ModifySnapshotAttributeInput{}
  4385. }
  4386. req = c.newRequest(op, input, output)
  4387. output = &ModifySnapshotAttributeOutput{}
  4388. req.Data = output
  4389. return
  4390. }
  4391. // Adds or removes permission settings for the specified snapshot. You may add
  4392. // or remove specified AWS account IDs from a snapshot's list of create volume
  4393. // permissions, but you cannot do both in a single API call. If you need to
  4394. // both add and remove account IDs for a snapshot, you must use multiple API
  4395. // calls.
  4396. //
  4397. // For more information on modifying snapshot permissions, see Sharing Snapshots
  4398. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  4399. // in the Amazon Elastic Compute Cloud User Guide.
  4400. //
  4401. // Snapshots with AWS Marketplace product codes cannot be made public.
  4402. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  4403. req, out := c.ModifySnapshotAttributeRequest(input)
  4404. err := req.Send()
  4405. return out, err
  4406. }
  4407. const opModifySubnetAttribute = "ModifySubnetAttribute"
  4408. // ModifySubnetAttributeRequest generates a request for the ModifySubnetAttribute operation.
  4409. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  4410. op := &request.Operation{
  4411. Name: opModifySubnetAttribute,
  4412. HTTPMethod: "POST",
  4413. HTTPPath: "/",
  4414. }
  4415. if input == nil {
  4416. input = &ModifySubnetAttributeInput{}
  4417. }
  4418. req = c.newRequest(op, input, output)
  4419. output = &ModifySubnetAttributeOutput{}
  4420. req.Data = output
  4421. return
  4422. }
  4423. // Modifies a subnet attribute.
  4424. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  4425. req, out := c.ModifySubnetAttributeRequest(input)
  4426. err := req.Send()
  4427. return out, err
  4428. }
  4429. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  4430. // ModifyVolumeAttributeRequest generates a request for the ModifyVolumeAttribute operation.
  4431. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  4432. op := &request.Operation{
  4433. Name: opModifyVolumeAttribute,
  4434. HTTPMethod: "POST",
  4435. HTTPPath: "/",
  4436. }
  4437. if input == nil {
  4438. input = &ModifyVolumeAttributeInput{}
  4439. }
  4440. req = c.newRequest(op, input, output)
  4441. output = &ModifyVolumeAttributeOutput{}
  4442. req.Data = output
  4443. return
  4444. }
  4445. // Modifies a volume attribute.
  4446. //
  4447. // By default, all I/O operations for the volume are suspended when the data
  4448. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  4449. // latent data corruption. The I/O access to the volume can be resumed by first
  4450. // enabling I/O access and then checking the data consistency on your volume.
  4451. //
  4452. // You can change the default behavior to resume I/O operations. We recommend
  4453. // that you change this only for boot volumes or for volumes that are stateless
  4454. // or disposable.
  4455. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  4456. req, out := c.ModifyVolumeAttributeRequest(input)
  4457. err := req.Send()
  4458. return out, err
  4459. }
  4460. const opModifyVpcAttribute = "ModifyVpcAttribute"
  4461. // ModifyVpcAttributeRequest generates a request for the ModifyVpcAttribute operation.
  4462. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  4463. op := &request.Operation{
  4464. Name: opModifyVpcAttribute,
  4465. HTTPMethod: "POST",
  4466. HTTPPath: "/",
  4467. }
  4468. if input == nil {
  4469. input = &ModifyVpcAttributeInput{}
  4470. }
  4471. req = c.newRequest(op, input, output)
  4472. output = &ModifyVpcAttributeOutput{}
  4473. req.Data = output
  4474. return
  4475. }
  4476. // Modifies the specified attribute of the specified VPC.
  4477. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  4478. req, out := c.ModifyVpcAttributeRequest(input)
  4479. err := req.Send()
  4480. return out, err
  4481. }
  4482. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  4483. // ModifyVpcEndpointRequest generates a request for the ModifyVpcEndpoint operation.
  4484. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  4485. op := &request.Operation{
  4486. Name: opModifyVpcEndpoint,
  4487. HTTPMethod: "POST",
  4488. HTTPPath: "/",
  4489. }
  4490. if input == nil {
  4491. input = &ModifyVpcEndpointInput{}
  4492. }
  4493. req = c.newRequest(op, input, output)
  4494. output = &ModifyVpcEndpointOutput{}
  4495. req.Data = output
  4496. return
  4497. }
  4498. // Modifies attributes of a specified VPC endpoint. You can modify the policy
  4499. // associated with the endpoint, and you can add and remove route tables associated
  4500. // with the endpoint.
  4501. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  4502. req, out := c.ModifyVpcEndpointRequest(input)
  4503. err := req.Send()
  4504. return out, err
  4505. }
  4506. const opMonitorInstances = "MonitorInstances"
  4507. // MonitorInstancesRequest generates a request for the MonitorInstances operation.
  4508. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  4509. op := &request.Operation{
  4510. Name: opMonitorInstances,
  4511. HTTPMethod: "POST",
  4512. HTTPPath: "/",
  4513. }
  4514. if input == nil {
  4515. input = &MonitorInstancesInput{}
  4516. }
  4517. req = c.newRequest(op, input, output)
  4518. output = &MonitorInstancesOutput{}
  4519. req.Data = output
  4520. return
  4521. }
  4522. // Enables monitoring for a running instance. For more information about monitoring
  4523. // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  4524. // in the Amazon Elastic Compute Cloud User Guide.
  4525. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  4526. req, out := c.MonitorInstancesRequest(input)
  4527. err := req.Send()
  4528. return out, err
  4529. }
  4530. const opMoveAddressToVpc = "MoveAddressToVpc"
  4531. // MoveAddressToVpcRequest generates a request for the MoveAddressToVpc operation.
  4532. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  4533. op := &request.Operation{
  4534. Name: opMoveAddressToVpc,
  4535. HTTPMethod: "POST",
  4536. HTTPPath: "/",
  4537. }
  4538. if input == nil {
  4539. input = &MoveAddressToVpcInput{}
  4540. }
  4541. req = c.newRequest(op, input, output)
  4542. output = &MoveAddressToVpcOutput{}
  4543. req.Data = output
  4544. return
  4545. }
  4546. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  4547. // platform. The Elastic IP address must be allocated to your account, and it
  4548. // must not be associated with an instance. After the Elastic IP address is
  4549. // moved, it is no longer available for use in the EC2-Classic platform, unless
  4550. // you move it back using the RestoreAddressToClassic request. You cannot move
  4551. // an Elastic IP address that's allocated for use in the EC2-VPC platform to
  4552. // the EC2-Classic platform.
  4553. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  4554. req, out := c.MoveAddressToVpcRequest(input)
  4555. err := req.Send()
  4556. return out, err
  4557. }
  4558. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  4559. // PurchaseReservedInstancesOfferingRequest generates a request for the PurchaseReservedInstancesOffering operation.
  4560. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  4561. op := &request.Operation{
  4562. Name: opPurchaseReservedInstancesOffering,
  4563. HTTPMethod: "POST",
  4564. HTTPPath: "/",
  4565. }
  4566. if input == nil {
  4567. input = &PurchaseReservedInstancesOfferingInput{}
  4568. }
  4569. req = c.newRequest(op, input, output)
  4570. output = &PurchaseReservedInstancesOfferingOutput{}
  4571. req.Data = output
  4572. return
  4573. }
  4574. // Purchases a Reserved Instance for use with your account. With Amazon EC2
  4575. // Reserved Instances, you obtain a capacity reservation for a certain instance
  4576. // configuration over a specified period of time and pay a lower hourly rate
  4577. // compared to on-Demand Instance pricing.
  4578. //
  4579. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  4580. // offerings that match your specifications. After you've purchased a Reserved
  4581. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  4582. //
  4583. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  4584. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  4585. // in the Amazon Elastic Compute Cloud User Guide.
  4586. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  4587. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  4588. err := req.Send()
  4589. return out, err
  4590. }
  4591. const opRebootInstances = "RebootInstances"
  4592. // RebootInstancesRequest generates a request for the RebootInstances operation.
  4593. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  4594. op := &request.Operation{
  4595. Name: opRebootInstances,
  4596. HTTPMethod: "POST",
  4597. HTTPPath: "/",
  4598. }
  4599. if input == nil {
  4600. input = &RebootInstancesInput{}
  4601. }
  4602. req = c.newRequest(op, input, output)
  4603. output = &RebootInstancesOutput{}
  4604. req.Data = output
  4605. return
  4606. }
  4607. // Requests a reboot of one or more instances. This operation is asynchronous;
  4608. // it only queues a request to reboot the specified instances. The operation
  4609. // succeeds if the instances are valid and belong to you. Requests to reboot
  4610. // terminated instances are ignored.
  4611. //
  4612. // If a Linux/Unix instance does not cleanly shut down within four minutes,
  4613. // Amazon EC2 performs a hard reboot.
  4614. //
  4615. // For more information about troubleshooting, see Getting Console Output and
  4616. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  4617. // in the Amazon Elastic Compute Cloud User Guide.
  4618. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  4619. req, out := c.RebootInstancesRequest(input)
  4620. err := req.Send()
  4621. return out, err
  4622. }
  4623. const opRegisterImage = "RegisterImage"
  4624. // RegisterImageRequest generates a request for the RegisterImage operation.
  4625. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  4626. op := &request.Operation{
  4627. Name: opRegisterImage,
  4628. HTTPMethod: "POST",
  4629. HTTPPath: "/",
  4630. }
  4631. if input == nil {
  4632. input = &RegisterImageInput{}
  4633. }
  4634. req = c.newRequest(op, input, output)
  4635. output = &RegisterImageOutput{}
  4636. req.Data = output
  4637. return
  4638. }
  4639. // Registers an AMI. When you're creating an AMI, this is the final step you
  4640. // must complete before you can launch an instance from the AMI. For more information
  4641. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  4642. // in the Amazon Elastic Compute Cloud User Guide.
  4643. //
  4644. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  4645. // in a single request, so you don't have to register the AMI yourself.
  4646. //
  4647. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI
  4648. // from a snapshot of a root device volume. For more information, see Launching
  4649. // an Instance from a Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_LaunchingInstanceFromSnapshot.html)
  4650. // in the Amazon Elastic Compute Cloud User Guide.
  4651. //
  4652. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  4653. // Linux Enterprise Server (SLES), use the EC2 billingProduct code associated
  4654. // with an AMI to verify subscription status for package updates. Creating an
  4655. // AMI from an EBS snapshot does not maintain this billing code, and subsequent
  4656. // instances launched from such an AMI will not be able to connect to package
  4657. // update infrastructure.
  4658. //
  4659. // Similarly, although you can create a Windows AMI from a snapshot, you can't
  4660. // successfully launch an instance from the AMI.
  4661. //
  4662. // To create Windows AMIs or to create AMIs for Linux operating systems that
  4663. // must retain AMI billing codes to work properly, see CreateImage.
  4664. //
  4665. // If needed, you can deregister an AMI at any time. Any modifications you
  4666. // make to an AMI backed by an instance store volume invalidates its registration.
  4667. // If you make changes to an image, deregister the previous image and register
  4668. // the new image.
  4669. //
  4670. // You can't register an image where a secondary (non-root) snapshot has AWS
  4671. // Marketplace product codes.
  4672. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  4673. req, out := c.RegisterImageRequest(input)
  4674. err := req.Send()
  4675. return out, err
  4676. }
  4677. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  4678. // RejectVpcPeeringConnectionRequest generates a request for the RejectVpcPeeringConnection operation.
  4679. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  4680. op := &request.Operation{
  4681. Name: opRejectVpcPeeringConnection,
  4682. HTTPMethod: "POST",
  4683. HTTPPath: "/",
  4684. }
  4685. if input == nil {
  4686. input = &RejectVpcPeeringConnectionInput{}
  4687. }
  4688. req = c.newRequest(op, input, output)
  4689. output = &RejectVpcPeeringConnectionOutput{}
  4690. req.Data = output
  4691. return
  4692. }
  4693. // Rejects a VPC peering connection request. The VPC peering connection must
  4694. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  4695. // request to view your outstanding VPC peering connection requests. To delete
  4696. // an active VPC peering connection, or to delete a VPC peering connection request
  4697. // that you initiated, use DeleteVpcPeeringConnection.
  4698. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  4699. req, out := c.RejectVpcPeeringConnectionRequest(input)
  4700. err := req.Send()
  4701. return out, err
  4702. }
  4703. const opReleaseAddress = "ReleaseAddress"
  4704. // ReleaseAddressRequest generates a request for the ReleaseAddress operation.
  4705. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  4706. op := &request.Operation{
  4707. Name: opReleaseAddress,
  4708. HTTPMethod: "POST",
  4709. HTTPPath: "/",
  4710. }
  4711. if input == nil {
  4712. input = &ReleaseAddressInput{}
  4713. }
  4714. req = c.newRequest(op, input, output)
  4715. output = &ReleaseAddressOutput{}
  4716. req.Data = output
  4717. return
  4718. }
  4719. // Releases the specified Elastic IP address.
  4720. //
  4721. // After releasing an Elastic IP address, it is released to the IP address
  4722. // pool and might be unavailable to you. Be sure to update your DNS records
  4723. // and any servers or devices that communicate with the address. If you attempt
  4724. // to release an Elastic IP address that you already released, you'll get an
  4725. // AuthFailure error if the address is already allocated to another AWS account.
  4726. //
  4727. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  4728. // disassociates it from any instance that it's associated with. To disassociate
  4729. // an Elastic IP address without releasing it, use DisassociateAddress.
  4730. //
  4731. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  4732. // IP address before you try to release it. Otherwise, Amazon EC2 returns an
  4733. // error (InvalidIPAddress.InUse).
  4734. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  4735. req, out := c.ReleaseAddressRequest(input)
  4736. err := req.Send()
  4737. return out, err
  4738. }
  4739. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  4740. // ReplaceNetworkAclAssociationRequest generates a request for the ReplaceNetworkAclAssociation operation.
  4741. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  4742. op := &request.Operation{
  4743. Name: opReplaceNetworkAclAssociation,
  4744. HTTPMethod: "POST",
  4745. HTTPPath: "/",
  4746. }
  4747. if input == nil {
  4748. input = &ReplaceNetworkAclAssociationInput{}
  4749. }
  4750. req = c.newRequest(op, input, output)
  4751. output = &ReplaceNetworkAclAssociationOutput{}
  4752. req.Data = output
  4753. return
  4754. }
  4755. // Changes which network ACL a subnet is associated with. By default when you
  4756. // create a subnet, it's automatically associated with the default network ACL.
  4757. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  4758. // in the Amazon Virtual Private Cloud User Guide.
  4759. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  4760. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  4761. err := req.Send()
  4762. return out, err
  4763. }
  4764. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  4765. // ReplaceNetworkAclEntryRequest generates a request for the ReplaceNetworkAclEntry operation.
  4766. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  4767. op := &request.Operation{
  4768. Name: opReplaceNetworkAclEntry,
  4769. HTTPMethod: "POST",
  4770. HTTPPath: "/",
  4771. }
  4772. if input == nil {
  4773. input = &ReplaceNetworkAclEntryInput{}
  4774. }
  4775. req = c.newRequest(op, input, output)
  4776. output = &ReplaceNetworkAclEntryOutput{}
  4777. req.Data = output
  4778. return
  4779. }
  4780. // Replaces an entry (rule) in a network ACL. For more information about network
  4781. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  4782. // in the Amazon Virtual Private Cloud User Guide.
  4783. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  4784. req, out := c.ReplaceNetworkAclEntryRequest(input)
  4785. err := req.Send()
  4786. return out, err
  4787. }
  4788. const opReplaceRoute = "ReplaceRoute"
  4789. // ReplaceRouteRequest generates a request for the ReplaceRoute operation.
  4790. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  4791. op := &request.Operation{
  4792. Name: opReplaceRoute,
  4793. HTTPMethod: "POST",
  4794. HTTPPath: "/",
  4795. }
  4796. if input == nil {
  4797. input = &ReplaceRouteInput{}
  4798. }
  4799. req = c.newRequest(op, input, output)
  4800. output = &ReplaceRouteOutput{}
  4801. req.Data = output
  4802. return
  4803. }
  4804. // Replaces an existing route within a route table in a VPC. You must provide
  4805. // only one of the following: Internet gateway or virtual private gateway, NAT
  4806. // instance, VPC peering connection, or network interface.
  4807. //
  4808. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4809. // in the Amazon Virtual Private Cloud User Guide.
  4810. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  4811. req, out := c.ReplaceRouteRequest(input)
  4812. err := req.Send()
  4813. return out, err
  4814. }
  4815. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  4816. // ReplaceRouteTableAssociationRequest generates a request for the ReplaceRouteTableAssociation operation.
  4817. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  4818. op := &request.Operation{
  4819. Name: opReplaceRouteTableAssociation,
  4820. HTTPMethod: "POST",
  4821. HTTPPath: "/",
  4822. }
  4823. if input == nil {
  4824. input = &ReplaceRouteTableAssociationInput{}
  4825. }
  4826. req = c.newRequest(op, input, output)
  4827. output = &ReplaceRouteTableAssociationOutput{}
  4828. req.Data = output
  4829. return
  4830. }
  4831. // Changes the route table associated with a given subnet in a VPC. After the
  4832. // operation completes, the subnet uses the routes in the new route table it's
  4833. // associated with. For more information about route tables, see Route Tables
  4834. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  4835. // in the Amazon Virtual Private Cloud User Guide.
  4836. //
  4837. // You can also use ReplaceRouteTableAssociation to change which table is the
  4838. // main route table in the VPC. You just specify the main route table's association
  4839. // ID and the route table to be the new main route table.
  4840. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  4841. req, out := c.ReplaceRouteTableAssociationRequest(input)
  4842. err := req.Send()
  4843. return out, err
  4844. }
  4845. const opReportInstanceStatus = "ReportInstanceStatus"
  4846. // ReportInstanceStatusRequest generates a request for the ReportInstanceStatus operation.
  4847. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  4848. op := &request.Operation{
  4849. Name: opReportInstanceStatus,
  4850. HTTPMethod: "POST",
  4851. HTTPPath: "/",
  4852. }
  4853. if input == nil {
  4854. input = &ReportInstanceStatusInput{}
  4855. }
  4856. req = c.newRequest(op, input, output)
  4857. output = &ReportInstanceStatusOutput{}
  4858. req.Data = output
  4859. return
  4860. }
  4861. // Submits feedback about the status of an instance. The instance must be in
  4862. // the running state. If your experience with the instance differs from the
  4863. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  4864. // to report your experience with the instance. Amazon EC2 collects this information
  4865. // to improve the accuracy of status checks.
  4866. //
  4867. // Use of this action does not change the value returned by DescribeInstanceStatus.
  4868. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  4869. req, out := c.ReportInstanceStatusRequest(input)
  4870. err := req.Send()
  4871. return out, err
  4872. }
  4873. const opRequestSpotFleet = "RequestSpotFleet"
  4874. // RequestSpotFleetRequest generates a request for the RequestSpotFleet operation.
  4875. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  4876. op := &request.Operation{
  4877. Name: opRequestSpotFleet,
  4878. HTTPMethod: "POST",
  4879. HTTPPath: "/",
  4880. }
  4881. if input == nil {
  4882. input = &RequestSpotFleetInput{}
  4883. }
  4884. req = c.newRequest(op, input, output)
  4885. output = &RequestSpotFleetOutput{}
  4886. req.Data = output
  4887. return
  4888. }
  4889. // Creates a Spot fleet request.
  4890. //
  4891. // You can submit a single request that specifies multiple instance types,
  4892. // each with its own instance weighting that reflects its value to your application
  4893. // workload. Amazon EC2 computes the bid price for each launch specification
  4894. // and requests Spot Instances in the Spot pool where the price per unit is
  4895. // the lowest. For more information, see Spot Fleets (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet.html)
  4896. // in the Amazon Elastic Compute Cloud User Guide.
  4897. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  4898. req, out := c.RequestSpotFleetRequest(input)
  4899. err := req.Send()
  4900. return out, err
  4901. }
  4902. const opRequestSpotInstances = "RequestSpotInstances"
  4903. // RequestSpotInstancesRequest generates a request for the RequestSpotInstances operation.
  4904. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  4905. op := &request.Operation{
  4906. Name: opRequestSpotInstances,
  4907. HTTPMethod: "POST",
  4908. HTTPPath: "/",
  4909. }
  4910. if input == nil {
  4911. input = &RequestSpotInstancesInput{}
  4912. }
  4913. req = c.newRequest(op, input, output)
  4914. output = &RequestSpotInstancesOutput{}
  4915. req.Data = output
  4916. return
  4917. }
  4918. // Creates a Spot Instance request. Spot Instances are instances that Amazon
  4919. // EC2 launches when the bid price that you specify exceeds the current Spot
  4920. // Price. Amazon EC2 periodically sets the Spot Price based on available Spot
  4921. // Instance capacity and current Spot Instance requests. For more information,
  4922. // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  4923. // in the Amazon Elastic Compute Cloud User Guide.
  4924. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  4925. req, out := c.RequestSpotInstancesRequest(input)
  4926. err := req.Send()
  4927. return out, err
  4928. }
  4929. const opResetImageAttribute = "ResetImageAttribute"
  4930. // ResetImageAttributeRequest generates a request for the ResetImageAttribute operation.
  4931. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  4932. op := &request.Operation{
  4933. Name: opResetImageAttribute,
  4934. HTTPMethod: "POST",
  4935. HTTPPath: "/",
  4936. }
  4937. if input == nil {
  4938. input = &ResetImageAttributeInput{}
  4939. }
  4940. req = c.newRequest(op, input, output)
  4941. output = &ResetImageAttributeOutput{}
  4942. req.Data = output
  4943. return
  4944. }
  4945. // Resets an attribute of an AMI to its default value.
  4946. //
  4947. // The productCodes attribute can't be reset.
  4948. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  4949. req, out := c.ResetImageAttributeRequest(input)
  4950. err := req.Send()
  4951. return out, err
  4952. }
  4953. const opResetInstanceAttribute = "ResetInstanceAttribute"
  4954. // ResetInstanceAttributeRequest generates a request for the ResetInstanceAttribute operation.
  4955. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  4956. op := &request.Operation{
  4957. Name: opResetInstanceAttribute,
  4958. HTTPMethod: "POST",
  4959. HTTPPath: "/",
  4960. }
  4961. if input == nil {
  4962. input = &ResetInstanceAttributeInput{}
  4963. }
  4964. req = c.newRequest(op, input, output)
  4965. output = &ResetInstanceAttributeOutput{}
  4966. req.Data = output
  4967. return
  4968. }
  4969. // Resets an attribute of an instance to its default value. To reset the kernel
  4970. // or ramdisk, the instance must be in a stopped state. To reset the SourceDestCheck,
  4971. // the instance can be either running or stopped.
  4972. //
  4973. // The SourceDestCheck attribute controls whether source/destination checking
  4974. // is enabled. The default value is true, which means checking is enabled. This
  4975. // value must be false for a NAT instance to perform NAT. For more information,
  4976. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  4977. // in the Amazon Virtual Private Cloud User Guide.
  4978. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  4979. req, out := c.ResetInstanceAttributeRequest(input)
  4980. err := req.Send()
  4981. return out, err
  4982. }
  4983. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  4984. // ResetNetworkInterfaceAttributeRequest generates a request for the ResetNetworkInterfaceAttribute operation.
  4985. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  4986. op := &request.Operation{
  4987. Name: opResetNetworkInterfaceAttribute,
  4988. HTTPMethod: "POST",
  4989. HTTPPath: "/",
  4990. }
  4991. if input == nil {
  4992. input = &ResetNetworkInterfaceAttributeInput{}
  4993. }
  4994. req = c.newRequest(op, input, output)
  4995. output = &ResetNetworkInterfaceAttributeOutput{}
  4996. req.Data = output
  4997. return
  4998. }
  4999. // Resets a network interface attribute. You can specify only one attribute
  5000. // at a time.
  5001. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  5002. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  5003. err := req.Send()
  5004. return out, err
  5005. }
  5006. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  5007. // ResetSnapshotAttributeRequest generates a request for the ResetSnapshotAttribute operation.
  5008. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  5009. op := &request.Operation{
  5010. Name: opResetSnapshotAttribute,
  5011. HTTPMethod: "POST",
  5012. HTTPPath: "/",
  5013. }
  5014. if input == nil {
  5015. input = &ResetSnapshotAttributeInput{}
  5016. }
  5017. req = c.newRequest(op, input, output)
  5018. output = &ResetSnapshotAttributeOutput{}
  5019. req.Data = output
  5020. return
  5021. }
  5022. // Resets permission settings for the specified snapshot.
  5023. //
  5024. // For more information on modifying snapshot permissions, see Sharing Snapshots
  5025. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  5026. // in the Amazon Elastic Compute Cloud User Guide.
  5027. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  5028. req, out := c.ResetSnapshotAttributeRequest(input)
  5029. err := req.Send()
  5030. return out, err
  5031. }
  5032. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  5033. // RestoreAddressToClassicRequest generates a request for the RestoreAddressToClassic operation.
  5034. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  5035. op := &request.Operation{
  5036. Name: opRestoreAddressToClassic,
  5037. HTTPMethod: "POST",
  5038. HTTPPath: "/",
  5039. }
  5040. if input == nil {
  5041. input = &RestoreAddressToClassicInput{}
  5042. }
  5043. req = c.newRequest(op, input, output)
  5044. output = &RestoreAddressToClassicOutput{}
  5045. req.Data = output
  5046. return
  5047. }
  5048. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  5049. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  5050. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  5051. // not be associated with an instance or network interface.
  5052. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  5053. req, out := c.RestoreAddressToClassicRequest(input)
  5054. err := req.Send()
  5055. return out, err
  5056. }
  5057. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  5058. // RevokeSecurityGroupEgressRequest generates a request for the RevokeSecurityGroupEgress operation.
  5059. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  5060. op := &request.Operation{
  5061. Name: opRevokeSecurityGroupEgress,
  5062. HTTPMethod: "POST",
  5063. HTTPPath: "/",
  5064. }
  5065. if input == nil {
  5066. input = &RevokeSecurityGroupEgressInput{}
  5067. }
  5068. req = c.newRequest(op, input, output)
  5069. output = &RevokeSecurityGroupEgressOutput{}
  5070. req.Data = output
  5071. return
  5072. }
  5073. // Removes one or more egress rules from a security group for EC2-VPC. The values
  5074. // that you specify in the revoke request (for example, ports) must match the
  5075. // existing rule's values for the rule to be revoked.
  5076. //
  5077. // Each rule consists of the protocol and the CIDR range or source security
  5078. // group. For the TCP and UDP protocols, you must also specify the destination
  5079. // port or range of ports. For the ICMP protocol, you must also specify the
  5080. // ICMP type and code.
  5081. //
  5082. // Rule changes are propagated to instances within the security group as quickly
  5083. // as possible. However, a small delay might occur.
  5084. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  5085. req, out := c.RevokeSecurityGroupEgressRequest(input)
  5086. err := req.Send()
  5087. return out, err
  5088. }
  5089. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  5090. // RevokeSecurityGroupIngressRequest generates a request for the RevokeSecurityGroupIngress operation.
  5091. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  5092. op := &request.Operation{
  5093. Name: opRevokeSecurityGroupIngress,
  5094. HTTPMethod: "POST",
  5095. HTTPPath: "/",
  5096. }
  5097. if input == nil {
  5098. input = &RevokeSecurityGroupIngressInput{}
  5099. }
  5100. req = c.newRequest(op, input, output)
  5101. output = &RevokeSecurityGroupIngressOutput{}
  5102. req.Data = output
  5103. return
  5104. }
  5105. // Removes one or more ingress rules from a security group. The values that
  5106. // you specify in the revoke request (for example, ports) must match the existing
  5107. // rule's values for the rule to be removed.
  5108. //
  5109. // Each rule consists of the protocol and the CIDR range or source security
  5110. // group. For the TCP and UDP protocols, you must also specify the destination
  5111. // port or range of ports. For the ICMP protocol, you must also specify the
  5112. // ICMP type and code.
  5113. //
  5114. // Rule changes are propagated to instances within the security group as quickly
  5115. // as possible. However, a small delay might occur.
  5116. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  5117. req, out := c.RevokeSecurityGroupIngressRequest(input)
  5118. err := req.Send()
  5119. return out, err
  5120. }
  5121. const opRunInstances = "RunInstances"
  5122. // RunInstancesRequest generates a request for the RunInstances operation.
  5123. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  5124. op := &request.Operation{
  5125. Name: opRunInstances,
  5126. HTTPMethod: "POST",
  5127. HTTPPath: "/",
  5128. }
  5129. if input == nil {
  5130. input = &RunInstancesInput{}
  5131. }
  5132. req = c.newRequest(op, input, output)
  5133. output = &Reservation{}
  5134. req.Data = output
  5135. return
  5136. }
  5137. // Launches the specified number of instances using an AMI for which you have
  5138. // permissions.
  5139. //
  5140. // When you launch an instance, it enters the pending state. After the instance
  5141. // is ready for you, it enters the running state. To check the state of your
  5142. // instance, call DescribeInstances.
  5143. //
  5144. // If you don't specify a security group when launching an instance, Amazon
  5145. // EC2 uses the default security group. For more information, see Security Groups
  5146. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  5147. // in the Amazon Elastic Compute Cloud User Guide.
  5148. //
  5149. // [EC2-VPC only accounts] If you don't specify a subnet in the request, we
  5150. // choose a default subnet from your default VPC for you.
  5151. //
  5152. // [EC2-Classic accounts] If you're launching into EC2-Classic and you don't
  5153. // specify an Availability Zone, we choose one for you.
  5154. //
  5155. // Linux instances have access to the public key of the key pair at boot. You
  5156. // can use this key to provide secure access to the instance. Amazon EC2 public
  5157. // images use this feature to provide secure access without passwords. For more
  5158. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  5159. // in the Amazon Elastic Compute Cloud User Guide.
  5160. //
  5161. // You can provide optional user data when launching an instance. For more
  5162. // information, see Instance Metadata (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html)
  5163. // in the Amazon Elastic Compute Cloud User Guide.
  5164. //
  5165. // If any of the AMIs have a product code attached for which the user has not
  5166. // subscribed, RunInstances fails.
  5167. //
  5168. // T2 instance types can only be launched into a VPC. If you do not have a
  5169. // default VPC, or if you do not specify a subnet ID in the request, RunInstances
  5170. // fails.
  5171. //
  5172. // For more information about troubleshooting, see What To Do If An Instance
  5173. // Immediately Terminates (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  5174. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  5175. // in the Amazon Elastic Compute Cloud User Guide.
  5176. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  5177. req, out := c.RunInstancesRequest(input)
  5178. err := req.Send()
  5179. return out, err
  5180. }
  5181. const opStartInstances = "StartInstances"
  5182. // StartInstancesRequest generates a request for the StartInstances operation.
  5183. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  5184. op := &request.Operation{
  5185. Name: opStartInstances,
  5186. HTTPMethod: "POST",
  5187. HTTPPath: "/",
  5188. }
  5189. if input == nil {
  5190. input = &StartInstancesInput{}
  5191. }
  5192. req = c.newRequest(op, input, output)
  5193. output = &StartInstancesOutput{}
  5194. req.Data = output
  5195. return
  5196. }
  5197. // Starts an Amazon EBS-backed AMI that you've previously stopped.
  5198. //
  5199. // Instances that use Amazon EBS volumes as their root devices can be quickly
  5200. // stopped and started. When an instance is stopped, the compute resources are
  5201. // released and you are not billed for hourly instance usage. However, your
  5202. // root partition Amazon EBS volume remains, continues to persist your data,
  5203. // and you are charged for Amazon EBS volume usage. You can restart your instance
  5204. // at any time. Each time you transition an instance from stopped to started,
  5205. // Amazon EC2 charges a full instance hour, even if transitions happen multiple
  5206. // times within a single hour.
  5207. //
  5208. // Before stopping an instance, make sure it is in a state from which it can
  5209. // be restarted. Stopping an instance does not preserve data stored in RAM.
  5210. //
  5211. // Performing this operation on an instance that uses an instance store as
  5212. // its root device returns an error.
  5213. //
  5214. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  5215. // in the Amazon Elastic Compute Cloud User Guide.
  5216. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  5217. req, out := c.StartInstancesRequest(input)
  5218. err := req.Send()
  5219. return out, err
  5220. }
  5221. const opStopInstances = "StopInstances"
  5222. // StopInstancesRequest generates a request for the StopInstances operation.
  5223. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  5224. op := &request.Operation{
  5225. Name: opStopInstances,
  5226. HTTPMethod: "POST",
  5227. HTTPPath: "/",
  5228. }
  5229. if input == nil {
  5230. input = &StopInstancesInput{}
  5231. }
  5232. req = c.newRequest(op, input, output)
  5233. output = &StopInstancesOutput{}
  5234. req.Data = output
  5235. return
  5236. }
  5237. // Stops an Amazon EBS-backed instance. Each time you transition an instance
  5238. // from stopped to started, Amazon EC2 charges a full instance hour, even if
  5239. // transitions happen multiple times within a single hour.
  5240. //
  5241. // You can't start or stop Spot Instances.
  5242. //
  5243. // Instances that use Amazon EBS volumes as their root devices can be quickly
  5244. // stopped and started. When an instance is stopped, the compute resources are
  5245. // released and you are not billed for hourly instance usage. However, your
  5246. // root partition Amazon EBS volume remains, continues to persist your data,
  5247. // and you are charged for Amazon EBS volume usage. You can restart your instance
  5248. // at any time.
  5249. //
  5250. // Before stopping an instance, make sure it is in a state from which it can
  5251. // be restarted. Stopping an instance does not preserve data stored in RAM.
  5252. //
  5253. // Performing this operation on an instance that uses an instance store as
  5254. // its root device returns an error.
  5255. //
  5256. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  5257. // instance store-backed instances. What happens to an instance differs if you
  5258. // stop it or terminate it. For example, when you stop an instance, the root
  5259. // device and any other devices attached to the instance persist. When you terminate
  5260. // an instance, the root device and any other devices attached during the instance
  5261. // launch are automatically deleted. For more information about the differences
  5262. // between stopping and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  5263. // in the Amazon Elastic Compute Cloud User Guide.
  5264. //
  5265. // For more information about troubleshooting, see Troubleshooting Stopping
  5266. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  5267. // in the Amazon Elastic Compute Cloud User Guide.
  5268. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  5269. req, out := c.StopInstancesRequest(input)
  5270. err := req.Send()
  5271. return out, err
  5272. }
  5273. const opTerminateInstances = "TerminateInstances"
  5274. // TerminateInstancesRequest generates a request for the TerminateInstances operation.
  5275. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  5276. op := &request.Operation{
  5277. Name: opTerminateInstances,
  5278. HTTPMethod: "POST",
  5279. HTTPPath: "/",
  5280. }
  5281. if input == nil {
  5282. input = &TerminateInstancesInput{}
  5283. }
  5284. req = c.newRequest(op, input, output)
  5285. output = &TerminateInstancesOutput{}
  5286. req.Data = output
  5287. return
  5288. }
  5289. // Shuts down one or more instances. This operation is idempotent; if you terminate
  5290. // an instance more than once, each call succeeds.
  5291. //
  5292. // Terminated instances remain visible after termination (for approximately
  5293. // one hour).
  5294. //
  5295. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  5296. // instance launched. Volumes attached after instance launch continue running.
  5297. //
  5298. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  5299. // instance store-backed instances. What happens to an instance differs if you
  5300. // stop it or terminate it. For example, when you stop an instance, the root
  5301. // device and any other devices attached to the instance persist. When you terminate
  5302. // an instance, any attached EBS volumes with the DeleteOnTermination block
  5303. // device mapping parameter set to true are automatically deleted. For more
  5304. // information about the differences between stopping and terminating instances,
  5305. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  5306. // in the Amazon Elastic Compute Cloud User Guide.
  5307. //
  5308. // For more information about troubleshooting, see Troubleshooting Terminating
  5309. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  5310. // in the Amazon Elastic Compute Cloud User Guide.
  5311. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  5312. req, out := c.TerminateInstancesRequest(input)
  5313. err := req.Send()
  5314. return out, err
  5315. }
  5316. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  5317. // UnassignPrivateIpAddressesRequest generates a request for the UnassignPrivateIpAddresses operation.
  5318. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  5319. op := &request.Operation{
  5320. Name: opUnassignPrivateIpAddresses,
  5321. HTTPMethod: "POST",
  5322. HTTPPath: "/",
  5323. }
  5324. if input == nil {
  5325. input = &UnassignPrivateIpAddressesInput{}
  5326. }
  5327. req = c.newRequest(op, input, output)
  5328. output = &UnassignPrivateIpAddressesOutput{}
  5329. req.Data = output
  5330. return
  5331. }
  5332. // Unassigns one or more secondary private IP addresses from a network interface.
  5333. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  5334. req, out := c.UnassignPrivateIpAddressesRequest(input)
  5335. err := req.Send()
  5336. return out, err
  5337. }
  5338. const opUnmonitorInstances = "UnmonitorInstances"
  5339. // UnmonitorInstancesRequest generates a request for the UnmonitorInstances operation.
  5340. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  5341. op := &request.Operation{
  5342. Name: opUnmonitorInstances,
  5343. HTTPMethod: "POST",
  5344. HTTPPath: "/",
  5345. }
  5346. if input == nil {
  5347. input = &UnmonitorInstancesInput{}
  5348. }
  5349. req = c.newRequest(op, input, output)
  5350. output = &UnmonitorInstancesOutput{}
  5351. req.Data = output
  5352. return
  5353. }
  5354. // Disables monitoring for a running instance. For more information about monitoring
  5355. // instances, see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  5356. // in the Amazon Elastic Compute Cloud User Guide.
  5357. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  5358. req, out := c.UnmonitorInstancesRequest(input)
  5359. err := req.Send()
  5360. return out, err
  5361. }
  5362. type AcceptVpcPeeringConnectionInput struct {
  5363. // Checks whether you have the required permissions for the action, without
  5364. // actually making the request, and provides an error response. If you have
  5365. // the required permissions, the error response is DryRunOperation. Otherwise,
  5366. // it is UnauthorizedOperation.
  5367. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5368. // The ID of the VPC peering connection.
  5369. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  5370. metadataAcceptVpcPeeringConnectionInput `json:"-" xml:"-"`
  5371. }
  5372. type metadataAcceptVpcPeeringConnectionInput struct {
  5373. SDKShapeTraits bool `type:"structure"`
  5374. }
  5375. // String returns the string representation
  5376. func (s AcceptVpcPeeringConnectionInput) String() string {
  5377. return awsutil.Prettify(s)
  5378. }
  5379. // GoString returns the string representation
  5380. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  5381. return s.String()
  5382. }
  5383. type AcceptVpcPeeringConnectionOutput struct {
  5384. // Information about the VPC peering connection.
  5385. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  5386. metadataAcceptVpcPeeringConnectionOutput `json:"-" xml:"-"`
  5387. }
  5388. type metadataAcceptVpcPeeringConnectionOutput struct {
  5389. SDKShapeTraits bool `type:"structure"`
  5390. }
  5391. // String returns the string representation
  5392. func (s AcceptVpcPeeringConnectionOutput) String() string {
  5393. return awsutil.Prettify(s)
  5394. }
  5395. // GoString returns the string representation
  5396. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  5397. return s.String()
  5398. }
  5399. // Describes an account attribute.
  5400. type AccountAttribute struct {
  5401. // The name of the account attribute.
  5402. AttributeName *string `locationName:"attributeName" type:"string"`
  5403. // One or more values for the account attribute.
  5404. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  5405. metadataAccountAttribute `json:"-" xml:"-"`
  5406. }
  5407. type metadataAccountAttribute struct {
  5408. SDKShapeTraits bool `type:"structure"`
  5409. }
  5410. // String returns the string representation
  5411. func (s AccountAttribute) String() string {
  5412. return awsutil.Prettify(s)
  5413. }
  5414. // GoString returns the string representation
  5415. func (s AccountAttribute) GoString() string {
  5416. return s.String()
  5417. }
  5418. // Describes a value of an account attribute.
  5419. type AccountAttributeValue struct {
  5420. // The value of the attribute.
  5421. AttributeValue *string `locationName:"attributeValue" type:"string"`
  5422. metadataAccountAttributeValue `json:"-" xml:"-"`
  5423. }
  5424. type metadataAccountAttributeValue struct {
  5425. SDKShapeTraits bool `type:"structure"`
  5426. }
  5427. // String returns the string representation
  5428. func (s AccountAttributeValue) String() string {
  5429. return awsutil.Prettify(s)
  5430. }
  5431. // GoString returns the string representation
  5432. func (s AccountAttributeValue) GoString() string {
  5433. return s.String()
  5434. }
  5435. // Describes a running instance in a Spot fleet.
  5436. type ActiveInstance struct {
  5437. // The ID of the instance.
  5438. InstanceId *string `locationName:"instanceId" type:"string"`
  5439. // The instance type.
  5440. InstanceType *string `locationName:"instanceType" type:"string"`
  5441. // The ID of the Spot Instance request.
  5442. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  5443. metadataActiveInstance `json:"-" xml:"-"`
  5444. }
  5445. type metadataActiveInstance struct {
  5446. SDKShapeTraits bool `type:"structure"`
  5447. }
  5448. // String returns the string representation
  5449. func (s ActiveInstance) String() string {
  5450. return awsutil.Prettify(s)
  5451. }
  5452. // GoString returns the string representation
  5453. func (s ActiveInstance) GoString() string {
  5454. return s.String()
  5455. }
  5456. // Describes an Elastic IP address.
  5457. type Address struct {
  5458. // The ID representing the allocation of the address for use with EC2-VPC.
  5459. AllocationId *string `locationName:"allocationId" type:"string"`
  5460. // The ID representing the association of the address with an instance in a
  5461. // VPC.
  5462. AssociationId *string `locationName:"associationId" type:"string"`
  5463. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  5464. // (standard) or instances in a VPC (vpc).
  5465. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  5466. // The ID of the instance that the address is associated with (if any).
  5467. InstanceId *string `locationName:"instanceId" type:"string"`
  5468. // The ID of the network interface.
  5469. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  5470. // The ID of the AWS account that owns the network interface.
  5471. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  5472. // The private IP address associated with the Elastic IP address.
  5473. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  5474. // The Elastic IP address.
  5475. PublicIp *string `locationName:"publicIp" type:"string"`
  5476. metadataAddress `json:"-" xml:"-"`
  5477. }
  5478. type metadataAddress struct {
  5479. SDKShapeTraits bool `type:"structure"`
  5480. }
  5481. // String returns the string representation
  5482. func (s Address) String() string {
  5483. return awsutil.Prettify(s)
  5484. }
  5485. // GoString returns the string representation
  5486. func (s Address) GoString() string {
  5487. return s.String()
  5488. }
  5489. type AllocateAddressInput struct {
  5490. // Set to vpc to allocate the address for use with instances in a VPC.
  5491. //
  5492. // Default: The address is for use with instances in EC2-Classic.
  5493. Domain *string `type:"string" enum:"DomainType"`
  5494. // Checks whether you have the required permissions for the action, without
  5495. // actually making the request, and provides an error response. If you have
  5496. // the required permissions, the error response is DryRunOperation. Otherwise,
  5497. // it is UnauthorizedOperation.
  5498. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5499. metadataAllocateAddressInput `json:"-" xml:"-"`
  5500. }
  5501. type metadataAllocateAddressInput struct {
  5502. SDKShapeTraits bool `type:"structure"`
  5503. }
  5504. // String returns the string representation
  5505. func (s AllocateAddressInput) String() string {
  5506. return awsutil.Prettify(s)
  5507. }
  5508. // GoString returns the string representation
  5509. func (s AllocateAddressInput) GoString() string {
  5510. return s.String()
  5511. }
  5512. type AllocateAddressOutput struct {
  5513. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  5514. // IP address for use with instances in a VPC.
  5515. AllocationId *string `locationName:"allocationId" type:"string"`
  5516. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  5517. // (standard) or instances in a VPC (vpc).
  5518. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  5519. // The Elastic IP address.
  5520. PublicIp *string `locationName:"publicIp" type:"string"`
  5521. metadataAllocateAddressOutput `json:"-" xml:"-"`
  5522. }
  5523. type metadataAllocateAddressOutput struct {
  5524. SDKShapeTraits bool `type:"structure"`
  5525. }
  5526. // String returns the string representation
  5527. func (s AllocateAddressOutput) String() string {
  5528. return awsutil.Prettify(s)
  5529. }
  5530. // GoString returns the string representation
  5531. func (s AllocateAddressOutput) GoString() string {
  5532. return s.String()
  5533. }
  5534. type AssignPrivateIpAddressesInput struct {
  5535. // Indicates whether to allow an IP address that is already assigned to another
  5536. // network interface or instance to be reassigned to the specified network interface.
  5537. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  5538. // The ID of the network interface.
  5539. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  5540. // One or more IP addresses to be assigned as a secondary private IP address
  5541. // to the network interface. You can't specify this parameter when also specifying
  5542. // a number of secondary IP addresses.
  5543. //
  5544. // If you don't specify an IP address, Amazon EC2 automatically selects an
  5545. // IP address within the subnet range.
  5546. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  5547. // The number of secondary IP addresses to assign to the network interface.
  5548. // You can't specify this parameter when also specifying private IP addresses.
  5549. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  5550. metadataAssignPrivateIpAddressesInput `json:"-" xml:"-"`
  5551. }
  5552. type metadataAssignPrivateIpAddressesInput struct {
  5553. SDKShapeTraits bool `type:"structure"`
  5554. }
  5555. // String returns the string representation
  5556. func (s AssignPrivateIpAddressesInput) String() string {
  5557. return awsutil.Prettify(s)
  5558. }
  5559. // GoString returns the string representation
  5560. func (s AssignPrivateIpAddressesInput) GoString() string {
  5561. return s.String()
  5562. }
  5563. type AssignPrivateIpAddressesOutput struct {
  5564. metadataAssignPrivateIpAddressesOutput `json:"-" xml:"-"`
  5565. }
  5566. type metadataAssignPrivateIpAddressesOutput struct {
  5567. SDKShapeTraits bool `type:"structure"`
  5568. }
  5569. // String returns the string representation
  5570. func (s AssignPrivateIpAddressesOutput) String() string {
  5571. return awsutil.Prettify(s)
  5572. }
  5573. // GoString returns the string representation
  5574. func (s AssignPrivateIpAddressesOutput) GoString() string {
  5575. return s.String()
  5576. }
  5577. type AssociateAddressInput struct {
  5578. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  5579. AllocationId *string `type:"string"`
  5580. // [EC2-VPC] Allows an Elastic IP address that is already associated with an
  5581. // instance or network interface to be re-associated with the specified instance
  5582. // or network interface. Otherwise, the operation fails.
  5583. //
  5584. // Default: false
  5585. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  5586. // Checks whether you have the required permissions for the action, without
  5587. // actually making the request, and provides an error response. If you have
  5588. // the required permissions, the error response is DryRunOperation. Otherwise,
  5589. // it is UnauthorizedOperation.
  5590. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5591. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  5592. // can specify either the instance ID or the network interface ID, but not both.
  5593. // The operation fails if you specify an instance ID unless exactly one network
  5594. // interface is attached.
  5595. InstanceId *string `type:"string"`
  5596. // [EC2-VPC] The ID of the network interface. If the instance has more than
  5597. // one network interface, you must specify a network interface ID.
  5598. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  5599. // [EC2-VPC] The primary or secondary private IP address to associate with the
  5600. // Elastic IP address. If no private IP address is specified, the Elastic IP
  5601. // address is associated with the primary private IP address.
  5602. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  5603. // The Elastic IP address. This is required for EC2-Classic.
  5604. PublicIp *string `type:"string"`
  5605. metadataAssociateAddressInput `json:"-" xml:"-"`
  5606. }
  5607. type metadataAssociateAddressInput struct {
  5608. SDKShapeTraits bool `type:"structure"`
  5609. }
  5610. // String returns the string representation
  5611. func (s AssociateAddressInput) String() string {
  5612. return awsutil.Prettify(s)
  5613. }
  5614. // GoString returns the string representation
  5615. func (s AssociateAddressInput) GoString() string {
  5616. return s.String()
  5617. }
  5618. type AssociateAddressOutput struct {
  5619. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  5620. // with an instance.
  5621. AssociationId *string `locationName:"associationId" type:"string"`
  5622. metadataAssociateAddressOutput `json:"-" xml:"-"`
  5623. }
  5624. type metadataAssociateAddressOutput struct {
  5625. SDKShapeTraits bool `type:"structure"`
  5626. }
  5627. // String returns the string representation
  5628. func (s AssociateAddressOutput) String() string {
  5629. return awsutil.Prettify(s)
  5630. }
  5631. // GoString returns the string representation
  5632. func (s AssociateAddressOutput) GoString() string {
  5633. return s.String()
  5634. }
  5635. type AssociateDhcpOptionsInput struct {
  5636. // The ID of the DHCP options set, or default to associate no DHCP options with
  5637. // the VPC.
  5638. DhcpOptionsId *string `type:"string" required:"true"`
  5639. // Checks whether you have the required permissions for the action, without
  5640. // actually making the request, and provides an error response. If you have
  5641. // the required permissions, the error response is DryRunOperation. Otherwise,
  5642. // it is UnauthorizedOperation.
  5643. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5644. // The ID of the VPC.
  5645. VpcId *string `type:"string" required:"true"`
  5646. metadataAssociateDhcpOptionsInput `json:"-" xml:"-"`
  5647. }
  5648. type metadataAssociateDhcpOptionsInput struct {
  5649. SDKShapeTraits bool `type:"structure"`
  5650. }
  5651. // String returns the string representation
  5652. func (s AssociateDhcpOptionsInput) String() string {
  5653. return awsutil.Prettify(s)
  5654. }
  5655. // GoString returns the string representation
  5656. func (s AssociateDhcpOptionsInput) GoString() string {
  5657. return s.String()
  5658. }
  5659. type AssociateDhcpOptionsOutput struct {
  5660. metadataAssociateDhcpOptionsOutput `json:"-" xml:"-"`
  5661. }
  5662. type metadataAssociateDhcpOptionsOutput struct {
  5663. SDKShapeTraits bool `type:"structure"`
  5664. }
  5665. // String returns the string representation
  5666. func (s AssociateDhcpOptionsOutput) String() string {
  5667. return awsutil.Prettify(s)
  5668. }
  5669. // GoString returns the string representation
  5670. func (s AssociateDhcpOptionsOutput) GoString() string {
  5671. return s.String()
  5672. }
  5673. type AssociateRouteTableInput struct {
  5674. // Checks whether you have the required permissions for the action, without
  5675. // actually making the request, and provides an error response. If you have
  5676. // the required permissions, the error response is DryRunOperation. Otherwise,
  5677. // it is UnauthorizedOperation.
  5678. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5679. // The ID of the route table.
  5680. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  5681. // The ID of the subnet.
  5682. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  5683. metadataAssociateRouteTableInput `json:"-" xml:"-"`
  5684. }
  5685. type metadataAssociateRouteTableInput struct {
  5686. SDKShapeTraits bool `type:"structure"`
  5687. }
  5688. // String returns the string representation
  5689. func (s AssociateRouteTableInput) String() string {
  5690. return awsutil.Prettify(s)
  5691. }
  5692. // GoString returns the string representation
  5693. func (s AssociateRouteTableInput) GoString() string {
  5694. return s.String()
  5695. }
  5696. type AssociateRouteTableOutput struct {
  5697. // The route table association ID (needed to disassociate the route table).
  5698. AssociationId *string `locationName:"associationId" type:"string"`
  5699. metadataAssociateRouteTableOutput `json:"-" xml:"-"`
  5700. }
  5701. type metadataAssociateRouteTableOutput struct {
  5702. SDKShapeTraits bool `type:"structure"`
  5703. }
  5704. // String returns the string representation
  5705. func (s AssociateRouteTableOutput) String() string {
  5706. return awsutil.Prettify(s)
  5707. }
  5708. // GoString returns the string representation
  5709. func (s AssociateRouteTableOutput) GoString() string {
  5710. return s.String()
  5711. }
  5712. type AttachClassicLinkVpcInput struct {
  5713. // Checks whether you have the required permissions for the action, without
  5714. // actually making the request, and provides an error response. If you have
  5715. // the required permissions, the error response is DryRunOperation. Otherwise,
  5716. // it is UnauthorizedOperation.
  5717. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5718. // The ID of one or more of the VPC's security groups. You cannot specify security
  5719. // groups from a different VPC.
  5720. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  5721. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  5722. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  5723. // The ID of a ClassicLink-enabled VPC.
  5724. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  5725. metadataAttachClassicLinkVpcInput `json:"-" xml:"-"`
  5726. }
  5727. type metadataAttachClassicLinkVpcInput struct {
  5728. SDKShapeTraits bool `type:"structure"`
  5729. }
  5730. // String returns the string representation
  5731. func (s AttachClassicLinkVpcInput) String() string {
  5732. return awsutil.Prettify(s)
  5733. }
  5734. // GoString returns the string representation
  5735. func (s AttachClassicLinkVpcInput) GoString() string {
  5736. return s.String()
  5737. }
  5738. type AttachClassicLinkVpcOutput struct {
  5739. // Returns true if the request succeeds; otherwise, it returns an error.
  5740. Return *bool `locationName:"return" type:"boolean"`
  5741. metadataAttachClassicLinkVpcOutput `json:"-" xml:"-"`
  5742. }
  5743. type metadataAttachClassicLinkVpcOutput struct {
  5744. SDKShapeTraits bool `type:"structure"`
  5745. }
  5746. // String returns the string representation
  5747. func (s AttachClassicLinkVpcOutput) String() string {
  5748. return awsutil.Prettify(s)
  5749. }
  5750. // GoString returns the string representation
  5751. func (s AttachClassicLinkVpcOutput) GoString() string {
  5752. return s.String()
  5753. }
  5754. type AttachInternetGatewayInput struct {
  5755. // Checks whether you have the required permissions for the action, without
  5756. // actually making the request, and provides an error response. If you have
  5757. // the required permissions, the error response is DryRunOperation. Otherwise,
  5758. // it is UnauthorizedOperation.
  5759. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5760. // The ID of the Internet gateway.
  5761. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  5762. // The ID of the VPC.
  5763. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  5764. metadataAttachInternetGatewayInput `json:"-" xml:"-"`
  5765. }
  5766. type metadataAttachInternetGatewayInput struct {
  5767. SDKShapeTraits bool `type:"structure"`
  5768. }
  5769. // String returns the string representation
  5770. func (s AttachInternetGatewayInput) String() string {
  5771. return awsutil.Prettify(s)
  5772. }
  5773. // GoString returns the string representation
  5774. func (s AttachInternetGatewayInput) GoString() string {
  5775. return s.String()
  5776. }
  5777. type AttachInternetGatewayOutput struct {
  5778. metadataAttachInternetGatewayOutput `json:"-" xml:"-"`
  5779. }
  5780. type metadataAttachInternetGatewayOutput struct {
  5781. SDKShapeTraits bool `type:"structure"`
  5782. }
  5783. // String returns the string representation
  5784. func (s AttachInternetGatewayOutput) String() string {
  5785. return awsutil.Prettify(s)
  5786. }
  5787. // GoString returns the string representation
  5788. func (s AttachInternetGatewayOutput) GoString() string {
  5789. return s.String()
  5790. }
  5791. type AttachNetworkInterfaceInput struct {
  5792. // The index of the device for the network interface attachment.
  5793. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  5794. // Checks whether you have the required permissions for the action, without
  5795. // actually making the request, and provides an error response. If you have
  5796. // the required permissions, the error response is DryRunOperation. Otherwise,
  5797. // it is UnauthorizedOperation.
  5798. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5799. // The ID of the instance.
  5800. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  5801. // The ID of the network interface.
  5802. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  5803. metadataAttachNetworkInterfaceInput `json:"-" xml:"-"`
  5804. }
  5805. type metadataAttachNetworkInterfaceInput struct {
  5806. SDKShapeTraits bool `type:"structure"`
  5807. }
  5808. // String returns the string representation
  5809. func (s AttachNetworkInterfaceInput) String() string {
  5810. return awsutil.Prettify(s)
  5811. }
  5812. // GoString returns the string representation
  5813. func (s AttachNetworkInterfaceInput) GoString() string {
  5814. return s.String()
  5815. }
  5816. type AttachNetworkInterfaceOutput struct {
  5817. // The ID of the network interface attachment.
  5818. AttachmentId *string `locationName:"attachmentId" type:"string"`
  5819. metadataAttachNetworkInterfaceOutput `json:"-" xml:"-"`
  5820. }
  5821. type metadataAttachNetworkInterfaceOutput struct {
  5822. SDKShapeTraits bool `type:"structure"`
  5823. }
  5824. // String returns the string representation
  5825. func (s AttachNetworkInterfaceOutput) String() string {
  5826. return awsutil.Prettify(s)
  5827. }
  5828. // GoString returns the string representation
  5829. func (s AttachNetworkInterfaceOutput) GoString() string {
  5830. return s.String()
  5831. }
  5832. type AttachVolumeInput struct {
  5833. // The device name to expose to the instance (for example, /dev/sdh or xvdh).
  5834. Device *string `type:"string" required:"true"`
  5835. // Checks whether you have the required permissions for the action, without
  5836. // actually making the request, and provides an error response. If you have
  5837. // the required permissions, the error response is DryRunOperation. Otherwise,
  5838. // it is UnauthorizedOperation.
  5839. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5840. // The ID of the instance.
  5841. InstanceId *string `type:"string" required:"true"`
  5842. // The ID of the EBS volume. The volume and instance must be within the same
  5843. // Availability Zone.
  5844. VolumeId *string `type:"string" required:"true"`
  5845. metadataAttachVolumeInput `json:"-" xml:"-"`
  5846. }
  5847. type metadataAttachVolumeInput struct {
  5848. SDKShapeTraits bool `type:"structure"`
  5849. }
  5850. // String returns the string representation
  5851. func (s AttachVolumeInput) String() string {
  5852. return awsutil.Prettify(s)
  5853. }
  5854. // GoString returns the string representation
  5855. func (s AttachVolumeInput) GoString() string {
  5856. return s.String()
  5857. }
  5858. type AttachVpnGatewayInput struct {
  5859. // Checks whether you have the required permissions for the action, without
  5860. // actually making the request, and provides an error response. If you have
  5861. // the required permissions, the error response is DryRunOperation. Otherwise,
  5862. // it is UnauthorizedOperation.
  5863. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5864. // The ID of the VPC.
  5865. VpcId *string `type:"string" required:"true"`
  5866. // The ID of the virtual private gateway.
  5867. VpnGatewayId *string `type:"string" required:"true"`
  5868. metadataAttachVpnGatewayInput `json:"-" xml:"-"`
  5869. }
  5870. type metadataAttachVpnGatewayInput struct {
  5871. SDKShapeTraits bool `type:"structure"`
  5872. }
  5873. // String returns the string representation
  5874. func (s AttachVpnGatewayInput) String() string {
  5875. return awsutil.Prettify(s)
  5876. }
  5877. // GoString returns the string representation
  5878. func (s AttachVpnGatewayInput) GoString() string {
  5879. return s.String()
  5880. }
  5881. type AttachVpnGatewayOutput struct {
  5882. // Information about the attachment.
  5883. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  5884. metadataAttachVpnGatewayOutput `json:"-" xml:"-"`
  5885. }
  5886. type metadataAttachVpnGatewayOutput struct {
  5887. SDKShapeTraits bool `type:"structure"`
  5888. }
  5889. // String returns the string representation
  5890. func (s AttachVpnGatewayOutput) String() string {
  5891. return awsutil.Prettify(s)
  5892. }
  5893. // GoString returns the string representation
  5894. func (s AttachVpnGatewayOutput) GoString() string {
  5895. return s.String()
  5896. }
  5897. // The value to use when a resource attribute accepts a Boolean value.
  5898. type AttributeBooleanValue struct {
  5899. // Valid values are true or false.
  5900. Value *bool `locationName:"value" type:"boolean"`
  5901. metadataAttributeBooleanValue `json:"-" xml:"-"`
  5902. }
  5903. type metadataAttributeBooleanValue struct {
  5904. SDKShapeTraits bool `type:"structure"`
  5905. }
  5906. // String returns the string representation
  5907. func (s AttributeBooleanValue) String() string {
  5908. return awsutil.Prettify(s)
  5909. }
  5910. // GoString returns the string representation
  5911. func (s AttributeBooleanValue) GoString() string {
  5912. return s.String()
  5913. }
  5914. // The value to use for a resource attribute.
  5915. type AttributeValue struct {
  5916. // Valid values are case-sensitive and vary by action.
  5917. Value *string `locationName:"value" type:"string"`
  5918. metadataAttributeValue `json:"-" xml:"-"`
  5919. }
  5920. type metadataAttributeValue struct {
  5921. SDKShapeTraits bool `type:"structure"`
  5922. }
  5923. // String returns the string representation
  5924. func (s AttributeValue) String() string {
  5925. return awsutil.Prettify(s)
  5926. }
  5927. // GoString returns the string representation
  5928. func (s AttributeValue) GoString() string {
  5929. return s.String()
  5930. }
  5931. type AuthorizeSecurityGroupEgressInput struct {
  5932. // The CIDR IP address range. You can't specify this parameter when specifying
  5933. // a source security group.
  5934. CidrIp *string `locationName:"cidrIp" type:"string"`
  5935. // Checks whether you have the required permissions for the action, without
  5936. // actually making the request, and provides an error response. If you have
  5937. // the required permissions, the error response is DryRunOperation. Otherwise,
  5938. // it is UnauthorizedOperation.
  5939. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5940. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  5941. // For the ICMP type number, use -1 to specify all ICMP types.
  5942. FromPort *int64 `locationName:"fromPort" type:"integer"`
  5943. // The ID of the security group.
  5944. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  5945. // A set of IP permissions. You can't specify a destination security group and
  5946. // a CIDR IP address range.
  5947. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  5948. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  5949. // Use -1 to specify all.
  5950. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  5951. // The name of a destination security group. To authorize outbound access to
  5952. // a destination security group, we recommend that you use a set of IP permissions
  5953. // instead.
  5954. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  5955. // The AWS account number for a destination security group. To authorize outbound
  5956. // access to a destination security group, we recommend that you use a set of
  5957. // IP permissions instead.
  5958. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  5959. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  5960. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  5961. ToPort *int64 `locationName:"toPort" type:"integer"`
  5962. metadataAuthorizeSecurityGroupEgressInput `json:"-" xml:"-"`
  5963. }
  5964. type metadataAuthorizeSecurityGroupEgressInput struct {
  5965. SDKShapeTraits bool `type:"structure"`
  5966. }
  5967. // String returns the string representation
  5968. func (s AuthorizeSecurityGroupEgressInput) String() string {
  5969. return awsutil.Prettify(s)
  5970. }
  5971. // GoString returns the string representation
  5972. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  5973. return s.String()
  5974. }
  5975. type AuthorizeSecurityGroupEgressOutput struct {
  5976. metadataAuthorizeSecurityGroupEgressOutput `json:"-" xml:"-"`
  5977. }
  5978. type metadataAuthorizeSecurityGroupEgressOutput struct {
  5979. SDKShapeTraits bool `type:"structure"`
  5980. }
  5981. // String returns the string representation
  5982. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  5983. return awsutil.Prettify(s)
  5984. }
  5985. // GoString returns the string representation
  5986. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  5987. return s.String()
  5988. }
  5989. type AuthorizeSecurityGroupIngressInput struct {
  5990. // The CIDR IP address range. You can't specify this parameter when specifying
  5991. // a source security group.
  5992. CidrIp *string `type:"string"`
  5993. // Checks whether you have the required permissions for the action, without
  5994. // actually making the request, and provides an error response. If you have
  5995. // the required permissions, the error response is DryRunOperation. Otherwise,
  5996. // it is UnauthorizedOperation.
  5997. DryRun *bool `locationName:"dryRun" type:"boolean"`
  5998. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  5999. // For the ICMP type number, use -1 to specify all ICMP types.
  6000. FromPort *int64 `type:"integer"`
  6001. // The ID of the security group. Required for a nondefault VPC.
  6002. GroupId *string `type:"string"`
  6003. // [EC2-Classic, default VPC] The name of the security group.
  6004. GroupName *string `type:"string"`
  6005. // A set of IP permissions. Can be used to specify multiple rules in a single
  6006. // command.
  6007. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  6008. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  6009. // (VPC only) Use -1 to specify all.
  6010. IpProtocol *string `type:"string"`
  6011. // [EC2-Classic, default VPC] The name of the source security group. You can't
  6012. // specify this parameter in combination with the following parameters: the
  6013. // CIDR IP address range, the start of the port range, the IP protocol, and
  6014. // the end of the port range. For EC2-VPC, the source security group must be
  6015. // in the same VPC.
  6016. SourceSecurityGroupName *string `type:"string"`
  6017. // [EC2-Classic, default VPC] The AWS account number for the source security
  6018. // group. For EC2-VPC, the source security group must be in the same VPC. You
  6019. // can't specify this parameter in combination with the following parameters:
  6020. // the CIDR IP address range, the IP protocol, the start of the port range,
  6021. // and the end of the port range. Creates rules that grant full ICMP, UDP, and
  6022. // TCP access. To create a rule with a specific IP protocol and port range,
  6023. // use a set of IP permissions instead.
  6024. SourceSecurityGroupOwnerId *string `type:"string"`
  6025. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  6026. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  6027. ToPort *int64 `type:"integer"`
  6028. metadataAuthorizeSecurityGroupIngressInput `json:"-" xml:"-"`
  6029. }
  6030. type metadataAuthorizeSecurityGroupIngressInput struct {
  6031. SDKShapeTraits bool `type:"structure"`
  6032. }
  6033. // String returns the string representation
  6034. func (s AuthorizeSecurityGroupIngressInput) String() string {
  6035. return awsutil.Prettify(s)
  6036. }
  6037. // GoString returns the string representation
  6038. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  6039. return s.String()
  6040. }
  6041. type AuthorizeSecurityGroupIngressOutput struct {
  6042. metadataAuthorizeSecurityGroupIngressOutput `json:"-" xml:"-"`
  6043. }
  6044. type metadataAuthorizeSecurityGroupIngressOutput struct {
  6045. SDKShapeTraits bool `type:"structure"`
  6046. }
  6047. // String returns the string representation
  6048. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  6049. return awsutil.Prettify(s)
  6050. }
  6051. // GoString returns the string representation
  6052. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  6053. return s.String()
  6054. }
  6055. // Describes an Availability Zone.
  6056. type AvailabilityZone struct {
  6057. // Any messages about the Availability Zone.
  6058. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  6059. // The name of the region.
  6060. RegionName *string `locationName:"regionName" type:"string"`
  6061. // The state of the Availability Zone (available | impaired | unavailable).
  6062. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  6063. // The name of the Availability Zone.
  6064. ZoneName *string `locationName:"zoneName" type:"string"`
  6065. metadataAvailabilityZone `json:"-" xml:"-"`
  6066. }
  6067. type metadataAvailabilityZone struct {
  6068. SDKShapeTraits bool `type:"structure"`
  6069. }
  6070. // String returns the string representation
  6071. func (s AvailabilityZone) String() string {
  6072. return awsutil.Prettify(s)
  6073. }
  6074. // GoString returns the string representation
  6075. func (s AvailabilityZone) GoString() string {
  6076. return s.String()
  6077. }
  6078. // Describes a message about an Availability Zone.
  6079. type AvailabilityZoneMessage struct {
  6080. // The message about the Availability Zone.
  6081. Message *string `locationName:"message" type:"string"`
  6082. metadataAvailabilityZoneMessage `json:"-" xml:"-"`
  6083. }
  6084. type metadataAvailabilityZoneMessage struct {
  6085. SDKShapeTraits bool `type:"structure"`
  6086. }
  6087. // String returns the string representation
  6088. func (s AvailabilityZoneMessage) String() string {
  6089. return awsutil.Prettify(s)
  6090. }
  6091. // GoString returns the string representation
  6092. func (s AvailabilityZoneMessage) GoString() string {
  6093. return s.String()
  6094. }
  6095. type BlobAttributeValue struct {
  6096. Value []byte `locationName:"value" type:"blob"`
  6097. metadataBlobAttributeValue `json:"-" xml:"-"`
  6098. }
  6099. type metadataBlobAttributeValue struct {
  6100. SDKShapeTraits bool `type:"structure"`
  6101. }
  6102. // String returns the string representation
  6103. func (s BlobAttributeValue) String() string {
  6104. return awsutil.Prettify(s)
  6105. }
  6106. // GoString returns the string representation
  6107. func (s BlobAttributeValue) GoString() string {
  6108. return s.String()
  6109. }
  6110. // Describes a block device mapping.
  6111. type BlockDeviceMapping struct {
  6112. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  6113. DeviceName *string `locationName:"deviceName" type:"string"`
  6114. // Parameters used to automatically set up EBS volumes when the instance is
  6115. // launched.
  6116. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  6117. // Suppresses the specified device included in the block device mapping of the
  6118. // AMI.
  6119. NoDevice *string `locationName:"noDevice" type:"string"`
  6120. // The virtual device name (ephemeralN). Instance store volumes are numbered
  6121. // starting from 0. An instance type with 2 available instance store volumes
  6122. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  6123. // instance store volumes depends on the instance type. After you connect to
  6124. // the instance, you must mount the volume.
  6125. //
  6126. // Constraints: For M3 instances, you must specify instance store volumes in
  6127. // the block device mapping for the instance. When you launch an M3 instance,
  6128. // we ignore any instance store volumes specified in the block device mapping
  6129. // for the AMI.
  6130. VirtualName *string `locationName:"virtualName" type:"string"`
  6131. metadataBlockDeviceMapping `json:"-" xml:"-"`
  6132. }
  6133. type metadataBlockDeviceMapping struct {
  6134. SDKShapeTraits bool `type:"structure"`
  6135. }
  6136. // String returns the string representation
  6137. func (s BlockDeviceMapping) String() string {
  6138. return awsutil.Prettify(s)
  6139. }
  6140. // GoString returns the string representation
  6141. func (s BlockDeviceMapping) GoString() string {
  6142. return s.String()
  6143. }
  6144. type BundleInstanceInput struct {
  6145. // Checks whether you have the required permissions for the action, without
  6146. // actually making the request, and provides an error response. If you have
  6147. // the required permissions, the error response is DryRunOperation. Otherwise,
  6148. // it is UnauthorizedOperation.
  6149. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6150. // The ID of the instance to bundle.
  6151. //
  6152. // Type: String
  6153. //
  6154. // Default: None
  6155. //
  6156. // Required: Yes
  6157. InstanceId *string `type:"string" required:"true"`
  6158. // The bucket in which to store the AMI. You can specify a bucket that you already
  6159. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  6160. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  6161. Storage *Storage `type:"structure" required:"true"`
  6162. metadataBundleInstanceInput `json:"-" xml:"-"`
  6163. }
  6164. type metadataBundleInstanceInput struct {
  6165. SDKShapeTraits bool `type:"structure"`
  6166. }
  6167. // String returns the string representation
  6168. func (s BundleInstanceInput) String() string {
  6169. return awsutil.Prettify(s)
  6170. }
  6171. // GoString returns the string representation
  6172. func (s BundleInstanceInput) GoString() string {
  6173. return s.String()
  6174. }
  6175. type BundleInstanceOutput struct {
  6176. // Information about the bundle task.
  6177. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  6178. metadataBundleInstanceOutput `json:"-" xml:"-"`
  6179. }
  6180. type metadataBundleInstanceOutput struct {
  6181. SDKShapeTraits bool `type:"structure"`
  6182. }
  6183. // String returns the string representation
  6184. func (s BundleInstanceOutput) String() string {
  6185. return awsutil.Prettify(s)
  6186. }
  6187. // GoString returns the string representation
  6188. func (s BundleInstanceOutput) GoString() string {
  6189. return s.String()
  6190. }
  6191. // Describes a bundle task.
  6192. type BundleTask struct {
  6193. // The ID of the bundle task.
  6194. BundleId *string `locationName:"bundleId" type:"string"`
  6195. // If the task fails, a description of the error.
  6196. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  6197. // The ID of the instance associated with this bundle task.
  6198. InstanceId *string `locationName:"instanceId" type:"string"`
  6199. // The level of task completion, as a percent (for example, 20%).
  6200. Progress *string `locationName:"progress" type:"string"`
  6201. // The time this task started.
  6202. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  6203. // The state of the task.
  6204. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  6205. // The Amazon S3 storage locations.
  6206. Storage *Storage `locationName:"storage" type:"structure"`
  6207. // The time of the most recent update for the task.
  6208. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  6209. metadataBundleTask `json:"-" xml:"-"`
  6210. }
  6211. type metadataBundleTask struct {
  6212. SDKShapeTraits bool `type:"structure"`
  6213. }
  6214. // String returns the string representation
  6215. func (s BundleTask) String() string {
  6216. return awsutil.Prettify(s)
  6217. }
  6218. // GoString returns the string representation
  6219. func (s BundleTask) GoString() string {
  6220. return s.String()
  6221. }
  6222. // Describes an error for BundleInstance.
  6223. type BundleTaskError struct {
  6224. // The error code.
  6225. Code *string `locationName:"code" type:"string"`
  6226. // The error message.
  6227. Message *string `locationName:"message" type:"string"`
  6228. metadataBundleTaskError `json:"-" xml:"-"`
  6229. }
  6230. type metadataBundleTaskError struct {
  6231. SDKShapeTraits bool `type:"structure"`
  6232. }
  6233. // String returns the string representation
  6234. func (s BundleTaskError) String() string {
  6235. return awsutil.Prettify(s)
  6236. }
  6237. // GoString returns the string representation
  6238. func (s BundleTaskError) GoString() string {
  6239. return s.String()
  6240. }
  6241. type CancelBundleTaskInput struct {
  6242. // The ID of the bundle task.
  6243. BundleId *string `type:"string" required:"true"`
  6244. // Checks whether you have the required permissions for the action, without
  6245. // actually making the request, and provides an error response. If you have
  6246. // the required permissions, the error response is DryRunOperation. Otherwise,
  6247. // it is UnauthorizedOperation.
  6248. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6249. metadataCancelBundleTaskInput `json:"-" xml:"-"`
  6250. }
  6251. type metadataCancelBundleTaskInput struct {
  6252. SDKShapeTraits bool `type:"structure"`
  6253. }
  6254. // String returns the string representation
  6255. func (s CancelBundleTaskInput) String() string {
  6256. return awsutil.Prettify(s)
  6257. }
  6258. // GoString returns the string representation
  6259. func (s CancelBundleTaskInput) GoString() string {
  6260. return s.String()
  6261. }
  6262. type CancelBundleTaskOutput struct {
  6263. // Information about the bundle task.
  6264. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  6265. metadataCancelBundleTaskOutput `json:"-" xml:"-"`
  6266. }
  6267. type metadataCancelBundleTaskOutput struct {
  6268. SDKShapeTraits bool `type:"structure"`
  6269. }
  6270. // String returns the string representation
  6271. func (s CancelBundleTaskOutput) String() string {
  6272. return awsutil.Prettify(s)
  6273. }
  6274. // GoString returns the string representation
  6275. func (s CancelBundleTaskOutput) GoString() string {
  6276. return s.String()
  6277. }
  6278. type CancelConversionTaskInput struct {
  6279. // The ID of the conversion task.
  6280. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  6281. // Checks whether you have the required permissions for the action, without
  6282. // actually making the request, and provides an error response. If you have
  6283. // the required permissions, the error response is DryRunOperation. Otherwise,
  6284. // it is UnauthorizedOperation.
  6285. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6286. // The reason for canceling the conversion task.
  6287. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  6288. metadataCancelConversionTaskInput `json:"-" xml:"-"`
  6289. }
  6290. type metadataCancelConversionTaskInput struct {
  6291. SDKShapeTraits bool `type:"structure"`
  6292. }
  6293. // String returns the string representation
  6294. func (s CancelConversionTaskInput) String() string {
  6295. return awsutil.Prettify(s)
  6296. }
  6297. // GoString returns the string representation
  6298. func (s CancelConversionTaskInput) GoString() string {
  6299. return s.String()
  6300. }
  6301. type CancelConversionTaskOutput struct {
  6302. metadataCancelConversionTaskOutput `json:"-" xml:"-"`
  6303. }
  6304. type metadataCancelConversionTaskOutput struct {
  6305. SDKShapeTraits bool `type:"structure"`
  6306. }
  6307. // String returns the string representation
  6308. func (s CancelConversionTaskOutput) String() string {
  6309. return awsutil.Prettify(s)
  6310. }
  6311. // GoString returns the string representation
  6312. func (s CancelConversionTaskOutput) GoString() string {
  6313. return s.String()
  6314. }
  6315. type CancelExportTaskInput struct {
  6316. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  6317. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  6318. metadataCancelExportTaskInput `json:"-" xml:"-"`
  6319. }
  6320. type metadataCancelExportTaskInput struct {
  6321. SDKShapeTraits bool `type:"structure"`
  6322. }
  6323. // String returns the string representation
  6324. func (s CancelExportTaskInput) String() string {
  6325. return awsutil.Prettify(s)
  6326. }
  6327. // GoString returns the string representation
  6328. func (s CancelExportTaskInput) GoString() string {
  6329. return s.String()
  6330. }
  6331. type CancelExportTaskOutput struct {
  6332. metadataCancelExportTaskOutput `json:"-" xml:"-"`
  6333. }
  6334. type metadataCancelExportTaskOutput struct {
  6335. SDKShapeTraits bool `type:"structure"`
  6336. }
  6337. // String returns the string representation
  6338. func (s CancelExportTaskOutput) String() string {
  6339. return awsutil.Prettify(s)
  6340. }
  6341. // GoString returns the string representation
  6342. func (s CancelExportTaskOutput) GoString() string {
  6343. return s.String()
  6344. }
  6345. type CancelImportTaskInput struct {
  6346. // The reason for canceling the task.
  6347. CancelReason *string `type:"string"`
  6348. // Checks whether you have the required permissions for the action, without
  6349. // actually making the request, and provides an error response. If you have
  6350. // the required permissions, the error response is DryRunOperation. Otherwise,
  6351. // it is UnauthorizedOperation.
  6352. DryRun *bool `type:"boolean"`
  6353. // The ID of the import image or import snapshot task to be canceled.
  6354. ImportTaskId *string `type:"string"`
  6355. metadataCancelImportTaskInput `json:"-" xml:"-"`
  6356. }
  6357. type metadataCancelImportTaskInput struct {
  6358. SDKShapeTraits bool `type:"structure"`
  6359. }
  6360. // String returns the string representation
  6361. func (s CancelImportTaskInput) String() string {
  6362. return awsutil.Prettify(s)
  6363. }
  6364. // GoString returns the string representation
  6365. func (s CancelImportTaskInput) GoString() string {
  6366. return s.String()
  6367. }
  6368. type CancelImportTaskOutput struct {
  6369. // The ID of the task being canceled.
  6370. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  6371. // The current state of the task being canceled.
  6372. PreviousState *string `locationName:"previousState" type:"string"`
  6373. // The current state of the task being canceled.
  6374. State *string `locationName:"state" type:"string"`
  6375. metadataCancelImportTaskOutput `json:"-" xml:"-"`
  6376. }
  6377. type metadataCancelImportTaskOutput struct {
  6378. SDKShapeTraits bool `type:"structure"`
  6379. }
  6380. // String returns the string representation
  6381. func (s CancelImportTaskOutput) String() string {
  6382. return awsutil.Prettify(s)
  6383. }
  6384. // GoString returns the string representation
  6385. func (s CancelImportTaskOutput) GoString() string {
  6386. return s.String()
  6387. }
  6388. type CancelReservedInstancesListingInput struct {
  6389. // The ID of the Reserved Instance listing.
  6390. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  6391. metadataCancelReservedInstancesListingInput `json:"-" xml:"-"`
  6392. }
  6393. type metadataCancelReservedInstancesListingInput struct {
  6394. SDKShapeTraits bool `type:"structure"`
  6395. }
  6396. // String returns the string representation
  6397. func (s CancelReservedInstancesListingInput) String() string {
  6398. return awsutil.Prettify(s)
  6399. }
  6400. // GoString returns the string representation
  6401. func (s CancelReservedInstancesListingInput) GoString() string {
  6402. return s.String()
  6403. }
  6404. type CancelReservedInstancesListingOutput struct {
  6405. // The Reserved Instance listing.
  6406. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  6407. metadataCancelReservedInstancesListingOutput `json:"-" xml:"-"`
  6408. }
  6409. type metadataCancelReservedInstancesListingOutput struct {
  6410. SDKShapeTraits bool `type:"structure"`
  6411. }
  6412. // String returns the string representation
  6413. func (s CancelReservedInstancesListingOutput) String() string {
  6414. return awsutil.Prettify(s)
  6415. }
  6416. // GoString returns the string representation
  6417. func (s CancelReservedInstancesListingOutput) GoString() string {
  6418. return s.String()
  6419. }
  6420. // Describes a Spot fleet error.
  6421. type CancelSpotFleetRequestsError struct {
  6422. // The error code.
  6423. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  6424. // The description for the error code.
  6425. Message *string `locationName:"message" type:"string" required:"true"`
  6426. metadataCancelSpotFleetRequestsError `json:"-" xml:"-"`
  6427. }
  6428. type metadataCancelSpotFleetRequestsError struct {
  6429. SDKShapeTraits bool `type:"structure"`
  6430. }
  6431. // String returns the string representation
  6432. func (s CancelSpotFleetRequestsError) String() string {
  6433. return awsutil.Prettify(s)
  6434. }
  6435. // GoString returns the string representation
  6436. func (s CancelSpotFleetRequestsError) GoString() string {
  6437. return s.String()
  6438. }
  6439. // Describes a Spot fleet request that was not successfully canceled.
  6440. type CancelSpotFleetRequestsErrorItem struct {
  6441. // The error.
  6442. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  6443. // The ID of the Spot fleet request.
  6444. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  6445. metadataCancelSpotFleetRequestsErrorItem `json:"-" xml:"-"`
  6446. }
  6447. type metadataCancelSpotFleetRequestsErrorItem struct {
  6448. SDKShapeTraits bool `type:"structure"`
  6449. }
  6450. // String returns the string representation
  6451. func (s CancelSpotFleetRequestsErrorItem) String() string {
  6452. return awsutil.Prettify(s)
  6453. }
  6454. // GoString returns the string representation
  6455. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  6456. return s.String()
  6457. }
  6458. // Contains the parameters for CancelSpotFleetRequests.
  6459. type CancelSpotFleetRequestsInput struct {
  6460. // Checks whether you have the required permissions for the action, without
  6461. // actually making the request, and provides an error response. If you have
  6462. // the required permissions, the error response is DryRunOperation. Otherwise,
  6463. // it is UnauthorizedOperation.
  6464. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6465. // The IDs of the Spot fleet requests.
  6466. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  6467. // Indicates whether to terminate instances for a Spot fleet request if it is
  6468. // canceled successfully.
  6469. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  6470. metadataCancelSpotFleetRequestsInput `json:"-" xml:"-"`
  6471. }
  6472. type metadataCancelSpotFleetRequestsInput struct {
  6473. SDKShapeTraits bool `type:"structure"`
  6474. }
  6475. // String returns the string representation
  6476. func (s CancelSpotFleetRequestsInput) String() string {
  6477. return awsutil.Prettify(s)
  6478. }
  6479. // GoString returns the string representation
  6480. func (s CancelSpotFleetRequestsInput) GoString() string {
  6481. return s.String()
  6482. }
  6483. // Contains the output of CancelSpotFleetRequests.
  6484. type CancelSpotFleetRequestsOutput struct {
  6485. // Information about the Spot fleet requests that are successfully canceled.
  6486. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  6487. // Information about the Spot fleet requests that are not successfully canceled.
  6488. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  6489. metadataCancelSpotFleetRequestsOutput `json:"-" xml:"-"`
  6490. }
  6491. type metadataCancelSpotFleetRequestsOutput struct {
  6492. SDKShapeTraits bool `type:"structure"`
  6493. }
  6494. // String returns the string representation
  6495. func (s CancelSpotFleetRequestsOutput) String() string {
  6496. return awsutil.Prettify(s)
  6497. }
  6498. // GoString returns the string representation
  6499. func (s CancelSpotFleetRequestsOutput) GoString() string {
  6500. return s.String()
  6501. }
  6502. // Describes a Spot fleet request that was successfully canceled.
  6503. type CancelSpotFleetRequestsSuccessItem struct {
  6504. // The current state of the Spot fleet request.
  6505. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  6506. // The previous state of the Spot fleet request.
  6507. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  6508. // The ID of the Spot fleet request.
  6509. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  6510. metadataCancelSpotFleetRequestsSuccessItem `json:"-" xml:"-"`
  6511. }
  6512. type metadataCancelSpotFleetRequestsSuccessItem struct {
  6513. SDKShapeTraits bool `type:"structure"`
  6514. }
  6515. // String returns the string representation
  6516. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  6517. return awsutil.Prettify(s)
  6518. }
  6519. // GoString returns the string representation
  6520. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  6521. return s.String()
  6522. }
  6523. // Contains the parameters for CancelSpotInstanceRequests.
  6524. type CancelSpotInstanceRequestsInput struct {
  6525. // Checks whether you have the required permissions for the action, without
  6526. // actually making the request, and provides an error response. If you have
  6527. // the required permissions, the error response is DryRunOperation. Otherwise,
  6528. // it is UnauthorizedOperation.
  6529. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6530. // One or more Spot Instance request IDs.
  6531. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  6532. metadataCancelSpotInstanceRequestsInput `json:"-" xml:"-"`
  6533. }
  6534. type metadataCancelSpotInstanceRequestsInput struct {
  6535. SDKShapeTraits bool `type:"structure"`
  6536. }
  6537. // String returns the string representation
  6538. func (s CancelSpotInstanceRequestsInput) String() string {
  6539. return awsutil.Prettify(s)
  6540. }
  6541. // GoString returns the string representation
  6542. func (s CancelSpotInstanceRequestsInput) GoString() string {
  6543. return s.String()
  6544. }
  6545. // Contains the output of CancelSpotInstanceRequests.
  6546. type CancelSpotInstanceRequestsOutput struct {
  6547. // One or more Spot Instance requests.
  6548. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  6549. metadataCancelSpotInstanceRequestsOutput `json:"-" xml:"-"`
  6550. }
  6551. type metadataCancelSpotInstanceRequestsOutput struct {
  6552. SDKShapeTraits bool `type:"structure"`
  6553. }
  6554. // String returns the string representation
  6555. func (s CancelSpotInstanceRequestsOutput) String() string {
  6556. return awsutil.Prettify(s)
  6557. }
  6558. // GoString returns the string representation
  6559. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  6560. return s.String()
  6561. }
  6562. // Describes a request to cancel a Spot Instance.
  6563. type CancelledSpotInstanceRequest struct {
  6564. // The ID of the Spot Instance request.
  6565. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  6566. // The state of the Spot Instance request.
  6567. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  6568. metadataCancelledSpotInstanceRequest `json:"-" xml:"-"`
  6569. }
  6570. type metadataCancelledSpotInstanceRequest struct {
  6571. SDKShapeTraits bool `type:"structure"`
  6572. }
  6573. // String returns the string representation
  6574. func (s CancelledSpotInstanceRequest) String() string {
  6575. return awsutil.Prettify(s)
  6576. }
  6577. // GoString returns the string representation
  6578. func (s CancelledSpotInstanceRequest) GoString() string {
  6579. return s.String()
  6580. }
  6581. // Describes a linked EC2-Classic instance.
  6582. type ClassicLinkInstance struct {
  6583. // A list of security groups.
  6584. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  6585. // The ID of the instance.
  6586. InstanceId *string `locationName:"instanceId" type:"string"`
  6587. // Any tags assigned to the instance.
  6588. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  6589. // The ID of the VPC.
  6590. VpcId *string `locationName:"vpcId" type:"string"`
  6591. metadataClassicLinkInstance `json:"-" xml:"-"`
  6592. }
  6593. type metadataClassicLinkInstance struct {
  6594. SDKShapeTraits bool `type:"structure"`
  6595. }
  6596. // String returns the string representation
  6597. func (s ClassicLinkInstance) String() string {
  6598. return awsutil.Prettify(s)
  6599. }
  6600. // GoString returns the string representation
  6601. func (s ClassicLinkInstance) GoString() string {
  6602. return s.String()
  6603. }
  6604. // Describes the client-specific data.
  6605. type ClientData struct {
  6606. // A user-defined comment about the disk upload.
  6607. Comment *string `type:"string"`
  6608. // The time that the disk upload ends.
  6609. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6610. // The size of the uploaded disk image, in GiB.
  6611. UploadSize *float64 `type:"double"`
  6612. // The time that the disk upload starts.
  6613. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  6614. metadataClientData `json:"-" xml:"-"`
  6615. }
  6616. type metadataClientData struct {
  6617. SDKShapeTraits bool `type:"structure"`
  6618. }
  6619. // String returns the string representation
  6620. func (s ClientData) String() string {
  6621. return awsutil.Prettify(s)
  6622. }
  6623. // GoString returns the string representation
  6624. func (s ClientData) GoString() string {
  6625. return s.String()
  6626. }
  6627. type ConfirmProductInstanceInput struct {
  6628. // Checks whether you have the required permissions for the action, without
  6629. // actually making the request, and provides an error response. If you have
  6630. // the required permissions, the error response is DryRunOperation. Otherwise,
  6631. // it is UnauthorizedOperation.
  6632. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6633. // The ID of the instance.
  6634. InstanceId *string `type:"string" required:"true"`
  6635. // The product code. This must be a product code that you own.
  6636. ProductCode *string `type:"string" required:"true"`
  6637. metadataConfirmProductInstanceInput `json:"-" xml:"-"`
  6638. }
  6639. type metadataConfirmProductInstanceInput struct {
  6640. SDKShapeTraits bool `type:"structure"`
  6641. }
  6642. // String returns the string representation
  6643. func (s ConfirmProductInstanceInput) String() string {
  6644. return awsutil.Prettify(s)
  6645. }
  6646. // GoString returns the string representation
  6647. func (s ConfirmProductInstanceInput) GoString() string {
  6648. return s.String()
  6649. }
  6650. type ConfirmProductInstanceOutput struct {
  6651. // The AWS account ID of the instance owner. This is only present if the product
  6652. // code is attached to the instance.
  6653. OwnerId *string `locationName:"ownerId" type:"string"`
  6654. // The return value of the request. Returns true if the specified product code
  6655. // is owned by the requester and associated with the specified instance.
  6656. Return *bool `locationName:"return" type:"boolean"`
  6657. metadataConfirmProductInstanceOutput `json:"-" xml:"-"`
  6658. }
  6659. type metadataConfirmProductInstanceOutput struct {
  6660. SDKShapeTraits bool `type:"structure"`
  6661. }
  6662. // String returns the string representation
  6663. func (s ConfirmProductInstanceOutput) String() string {
  6664. return awsutil.Prettify(s)
  6665. }
  6666. // GoString returns the string representation
  6667. func (s ConfirmProductInstanceOutput) GoString() string {
  6668. return s.String()
  6669. }
  6670. // Describes a conversion task.
  6671. type ConversionTask struct {
  6672. // The ID of the conversion task.
  6673. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  6674. // The time when the task expires. If the upload isn't complete before the expiration
  6675. // time, we automatically cancel the task.
  6676. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  6677. // If the task is for importing an instance, this contains information about
  6678. // the import instance task.
  6679. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  6680. // If the task is for importing a volume, this contains information about the
  6681. // import volume task.
  6682. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  6683. // The state of the conversion task.
  6684. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  6685. // The status message related to the conversion task.
  6686. StatusMessage *string `locationName:"statusMessage" type:"string"`
  6687. // Any tags assigned to the task.
  6688. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  6689. metadataConversionTask `json:"-" xml:"-"`
  6690. }
  6691. type metadataConversionTask struct {
  6692. SDKShapeTraits bool `type:"structure"`
  6693. }
  6694. // String returns the string representation
  6695. func (s ConversionTask) String() string {
  6696. return awsutil.Prettify(s)
  6697. }
  6698. // GoString returns the string representation
  6699. func (s ConversionTask) GoString() string {
  6700. return s.String()
  6701. }
  6702. type CopyImageInput struct {
  6703. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  6704. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  6705. // in the Amazon Elastic Compute Cloud User Guide.
  6706. ClientToken *string `type:"string"`
  6707. // A description for the new AMI in the destination region.
  6708. Description *string `type:"string"`
  6709. // Checks whether you have the required permissions for the action, without
  6710. // actually making the request, and provides an error response. If you have
  6711. // the required permissions, the error response is DryRunOperation. Otherwise,
  6712. // it is UnauthorizedOperation.
  6713. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6714. // The name of the new AMI in the destination region.
  6715. Name *string `type:"string" required:"true"`
  6716. // The ID of the AMI to copy.
  6717. SourceImageId *string `type:"string" required:"true"`
  6718. // The name of the region that contains the AMI to copy.
  6719. SourceRegion *string `type:"string" required:"true"`
  6720. metadataCopyImageInput `json:"-" xml:"-"`
  6721. }
  6722. type metadataCopyImageInput struct {
  6723. SDKShapeTraits bool `type:"structure"`
  6724. }
  6725. // String returns the string representation
  6726. func (s CopyImageInput) String() string {
  6727. return awsutil.Prettify(s)
  6728. }
  6729. // GoString returns the string representation
  6730. func (s CopyImageInput) GoString() string {
  6731. return s.String()
  6732. }
  6733. type CopyImageOutput struct {
  6734. // The ID of the new AMI.
  6735. ImageId *string `locationName:"imageId" type:"string"`
  6736. metadataCopyImageOutput `json:"-" xml:"-"`
  6737. }
  6738. type metadataCopyImageOutput struct {
  6739. SDKShapeTraits bool `type:"structure"`
  6740. }
  6741. // String returns the string representation
  6742. func (s CopyImageOutput) String() string {
  6743. return awsutil.Prettify(s)
  6744. }
  6745. // GoString returns the string representation
  6746. func (s CopyImageOutput) GoString() string {
  6747. return s.String()
  6748. }
  6749. type CopySnapshotInput struct {
  6750. // A description for the EBS snapshot.
  6751. Description *string `type:"string"`
  6752. // The destination region to use in the PresignedUrl parameter of a snapshot
  6753. // copy operation. This parameter is only valid for specifying the destination
  6754. // region in a PresignedUrl parameter, where it is required.
  6755. //
  6756. // CopySnapshot sends the snapshot copy to the regional endpoint that you
  6757. // send the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS
  6758. // CLI, this is specified with the --region parameter or the default region
  6759. // in your AWS configuration file).
  6760. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  6761. // Checks whether you have the required permissions for the action, without
  6762. // actually making the request, and provides an error response. If you have
  6763. // the required permissions, the error response is DryRunOperation. Otherwise,
  6764. // it is UnauthorizedOperation.
  6765. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6766. // Specifies whether the destination snapshot should be encrypted. There is
  6767. // no way to create an unencrypted snapshot copy from an encrypted snapshot;
  6768. // however, you can encrypt a copy of an unencrypted snapshot with this flag.
  6769. // The default CMK for EBS is used unless a non-default AWS Key Management Service
  6770. // (AWS KMS) CMK is specified with KmsKeyId. For more information, see Amazon
  6771. // EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  6772. // in the Amazon Elastic Compute Cloud User Guide.
  6773. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  6774. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  6775. // creating the snapshot copy. This parameter is only required if you want to
  6776. // use a non-default CMK; if this parameter is not specified, the default CMK
  6777. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  6778. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  6779. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  6780. // The specified CMK must exist in the region that the snapshot is being copied
  6781. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  6782. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  6783. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  6784. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  6785. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  6786. // should use the snapshot source endpoint, the CopySnapshot action, and include
  6787. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  6788. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  6789. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  6790. // same logic that is described in Authenticating Requests by Using Query Parameters
  6791. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  6792. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  6793. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  6794. // and the snapshot will move to an error state.
  6795. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  6796. // The ID of the region that contains the snapshot to be copied.
  6797. SourceRegion *string `type:"string" required:"true"`
  6798. // The ID of the EBS snapshot to copy.
  6799. SourceSnapshotId *string `type:"string" required:"true"`
  6800. metadataCopySnapshotInput `json:"-" xml:"-"`
  6801. }
  6802. type metadataCopySnapshotInput struct {
  6803. SDKShapeTraits bool `type:"structure"`
  6804. }
  6805. // String returns the string representation
  6806. func (s CopySnapshotInput) String() string {
  6807. return awsutil.Prettify(s)
  6808. }
  6809. // GoString returns the string representation
  6810. func (s CopySnapshotInput) GoString() string {
  6811. return s.String()
  6812. }
  6813. type CopySnapshotOutput struct {
  6814. // The ID of the new snapshot.
  6815. SnapshotId *string `locationName:"snapshotId" type:"string"`
  6816. metadataCopySnapshotOutput `json:"-" xml:"-"`
  6817. }
  6818. type metadataCopySnapshotOutput struct {
  6819. SDKShapeTraits bool `type:"structure"`
  6820. }
  6821. // String returns the string representation
  6822. func (s CopySnapshotOutput) String() string {
  6823. return awsutil.Prettify(s)
  6824. }
  6825. // GoString returns the string representation
  6826. func (s CopySnapshotOutput) GoString() string {
  6827. return s.String()
  6828. }
  6829. type CreateCustomerGatewayInput struct {
  6830. // For devices that support BGP, the customer gateway's BGP ASN.
  6831. //
  6832. // Default: 65000
  6833. BgpAsn *int64 `type:"integer" required:"true"`
  6834. // Checks whether you have the required permissions for the action, without
  6835. // actually making the request, and provides an error response. If you have
  6836. // the required permissions, the error response is DryRunOperation. Otherwise,
  6837. // it is UnauthorizedOperation.
  6838. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6839. // The Internet-routable IP address for the customer gateway's outside interface.
  6840. // The address must be static.
  6841. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  6842. // The type of VPN connection that this customer gateway supports (ipsec.1).
  6843. Type *string `type:"string" required:"true" enum:"GatewayType"`
  6844. metadataCreateCustomerGatewayInput `json:"-" xml:"-"`
  6845. }
  6846. type metadataCreateCustomerGatewayInput struct {
  6847. SDKShapeTraits bool `type:"structure"`
  6848. }
  6849. // String returns the string representation
  6850. func (s CreateCustomerGatewayInput) String() string {
  6851. return awsutil.Prettify(s)
  6852. }
  6853. // GoString returns the string representation
  6854. func (s CreateCustomerGatewayInput) GoString() string {
  6855. return s.String()
  6856. }
  6857. type CreateCustomerGatewayOutput struct {
  6858. // Information about the customer gateway.
  6859. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  6860. metadataCreateCustomerGatewayOutput `json:"-" xml:"-"`
  6861. }
  6862. type metadataCreateCustomerGatewayOutput struct {
  6863. SDKShapeTraits bool `type:"structure"`
  6864. }
  6865. // String returns the string representation
  6866. func (s CreateCustomerGatewayOutput) String() string {
  6867. return awsutil.Prettify(s)
  6868. }
  6869. // GoString returns the string representation
  6870. func (s CreateCustomerGatewayOutput) GoString() string {
  6871. return s.String()
  6872. }
  6873. type CreateDhcpOptionsInput struct {
  6874. // A DHCP configuration option.
  6875. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  6876. // Checks whether you have the required permissions for the action, without
  6877. // actually making the request, and provides an error response. If you have
  6878. // the required permissions, the error response is DryRunOperation. Otherwise,
  6879. // it is UnauthorizedOperation.
  6880. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6881. metadataCreateDhcpOptionsInput `json:"-" xml:"-"`
  6882. }
  6883. type metadataCreateDhcpOptionsInput struct {
  6884. SDKShapeTraits bool `type:"structure"`
  6885. }
  6886. // String returns the string representation
  6887. func (s CreateDhcpOptionsInput) String() string {
  6888. return awsutil.Prettify(s)
  6889. }
  6890. // GoString returns the string representation
  6891. func (s CreateDhcpOptionsInput) GoString() string {
  6892. return s.String()
  6893. }
  6894. type CreateDhcpOptionsOutput struct {
  6895. // A set of DHCP options.
  6896. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  6897. metadataCreateDhcpOptionsOutput `json:"-" xml:"-"`
  6898. }
  6899. type metadataCreateDhcpOptionsOutput struct {
  6900. SDKShapeTraits bool `type:"structure"`
  6901. }
  6902. // String returns the string representation
  6903. func (s CreateDhcpOptionsOutput) String() string {
  6904. return awsutil.Prettify(s)
  6905. }
  6906. // GoString returns the string representation
  6907. func (s CreateDhcpOptionsOutput) GoString() string {
  6908. return s.String()
  6909. }
  6910. type CreateFlowLogsInput struct {
  6911. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  6912. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  6913. ClientToken *string `type:"string"`
  6914. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  6915. // log group.
  6916. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  6917. // The name of the CloudWatch log group.
  6918. LogGroupName *string `type:"string" required:"true"`
  6919. // One or more subnet, network interface, or VPC IDs.
  6920. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  6921. // The type of resource on which to create the flow log.
  6922. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  6923. // The type of traffic to log.
  6924. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  6925. metadataCreateFlowLogsInput `json:"-" xml:"-"`
  6926. }
  6927. type metadataCreateFlowLogsInput struct {
  6928. SDKShapeTraits bool `type:"structure"`
  6929. }
  6930. // String returns the string representation
  6931. func (s CreateFlowLogsInput) String() string {
  6932. return awsutil.Prettify(s)
  6933. }
  6934. // GoString returns the string representation
  6935. func (s CreateFlowLogsInput) GoString() string {
  6936. return s.String()
  6937. }
  6938. type CreateFlowLogsOutput struct {
  6939. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  6940. // the request.
  6941. ClientToken *string `locationName:"clientToken" type:"string"`
  6942. // The IDs of the flow logs.
  6943. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  6944. // Information about the flow logs that could not be created successfully.
  6945. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  6946. metadataCreateFlowLogsOutput `json:"-" xml:"-"`
  6947. }
  6948. type metadataCreateFlowLogsOutput struct {
  6949. SDKShapeTraits bool `type:"structure"`
  6950. }
  6951. // String returns the string representation
  6952. func (s CreateFlowLogsOutput) String() string {
  6953. return awsutil.Prettify(s)
  6954. }
  6955. // GoString returns the string representation
  6956. func (s CreateFlowLogsOutput) GoString() string {
  6957. return s.String()
  6958. }
  6959. type CreateImageInput struct {
  6960. // Information about one or more block device mappings.
  6961. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  6962. // A description for the new image.
  6963. Description *string `locationName:"description" type:"string"`
  6964. // Checks whether you have the required permissions for the action, without
  6965. // actually making the request, and provides an error response. If you have
  6966. // the required permissions, the error response is DryRunOperation. Otherwise,
  6967. // it is UnauthorizedOperation.
  6968. DryRun *bool `locationName:"dryRun" type:"boolean"`
  6969. // The ID of the instance.
  6970. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  6971. // A name for the new image.
  6972. //
  6973. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  6974. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  6975. // at-signs (@), or underscores(_)
  6976. Name *string `locationName:"name" type:"string" required:"true"`
  6977. // By default, this parameter is set to false, which means Amazon EC2 attempts
  6978. // to shut down the instance cleanly before image creation and then reboots
  6979. // the instance. When the parameter is set to true, Amazon EC2 doesn't shut
  6980. // down the instance before creating the image. When this option is used, file
  6981. // system integrity on the created image can't be guaranteed.
  6982. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  6983. metadataCreateImageInput `json:"-" xml:"-"`
  6984. }
  6985. type metadataCreateImageInput struct {
  6986. SDKShapeTraits bool `type:"structure"`
  6987. }
  6988. // String returns the string representation
  6989. func (s CreateImageInput) String() string {
  6990. return awsutil.Prettify(s)
  6991. }
  6992. // GoString returns the string representation
  6993. func (s CreateImageInput) GoString() string {
  6994. return s.String()
  6995. }
  6996. type CreateImageOutput struct {
  6997. // The ID of the new AMI.
  6998. ImageId *string `locationName:"imageId" type:"string"`
  6999. metadataCreateImageOutput `json:"-" xml:"-"`
  7000. }
  7001. type metadataCreateImageOutput struct {
  7002. SDKShapeTraits bool `type:"structure"`
  7003. }
  7004. // String returns the string representation
  7005. func (s CreateImageOutput) String() string {
  7006. return awsutil.Prettify(s)
  7007. }
  7008. // GoString returns the string representation
  7009. func (s CreateImageOutput) GoString() string {
  7010. return s.String()
  7011. }
  7012. type CreateInstanceExportTaskInput struct {
  7013. // A description for the conversion task or the resource being exported. The
  7014. // maximum length is 255 bytes.
  7015. Description *string `locationName:"description" type:"string"`
  7016. // The format and location for an instance export task.
  7017. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  7018. // The ID of the instance.
  7019. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  7020. // The target virtualization environment.
  7021. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  7022. metadataCreateInstanceExportTaskInput `json:"-" xml:"-"`
  7023. }
  7024. type metadataCreateInstanceExportTaskInput struct {
  7025. SDKShapeTraits bool `type:"structure"`
  7026. }
  7027. // String returns the string representation
  7028. func (s CreateInstanceExportTaskInput) String() string {
  7029. return awsutil.Prettify(s)
  7030. }
  7031. // GoString returns the string representation
  7032. func (s CreateInstanceExportTaskInput) GoString() string {
  7033. return s.String()
  7034. }
  7035. type CreateInstanceExportTaskOutput struct {
  7036. // Information about the instance export task.
  7037. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  7038. metadataCreateInstanceExportTaskOutput `json:"-" xml:"-"`
  7039. }
  7040. type metadataCreateInstanceExportTaskOutput struct {
  7041. SDKShapeTraits bool `type:"structure"`
  7042. }
  7043. // String returns the string representation
  7044. func (s CreateInstanceExportTaskOutput) String() string {
  7045. return awsutil.Prettify(s)
  7046. }
  7047. // GoString returns the string representation
  7048. func (s CreateInstanceExportTaskOutput) GoString() string {
  7049. return s.String()
  7050. }
  7051. type CreateInternetGatewayInput struct {
  7052. // Checks whether you have the required permissions for the action, without
  7053. // actually making the request, and provides an error response. If you have
  7054. // the required permissions, the error response is DryRunOperation. Otherwise,
  7055. // it is UnauthorizedOperation.
  7056. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7057. metadataCreateInternetGatewayInput `json:"-" xml:"-"`
  7058. }
  7059. type metadataCreateInternetGatewayInput struct {
  7060. SDKShapeTraits bool `type:"structure"`
  7061. }
  7062. // String returns the string representation
  7063. func (s CreateInternetGatewayInput) String() string {
  7064. return awsutil.Prettify(s)
  7065. }
  7066. // GoString returns the string representation
  7067. func (s CreateInternetGatewayInput) GoString() string {
  7068. return s.String()
  7069. }
  7070. type CreateInternetGatewayOutput struct {
  7071. // Information about the Internet gateway.
  7072. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  7073. metadataCreateInternetGatewayOutput `json:"-" xml:"-"`
  7074. }
  7075. type metadataCreateInternetGatewayOutput struct {
  7076. SDKShapeTraits bool `type:"structure"`
  7077. }
  7078. // String returns the string representation
  7079. func (s CreateInternetGatewayOutput) String() string {
  7080. return awsutil.Prettify(s)
  7081. }
  7082. // GoString returns the string representation
  7083. func (s CreateInternetGatewayOutput) GoString() string {
  7084. return s.String()
  7085. }
  7086. type CreateKeyPairInput struct {
  7087. // Checks whether you have the required permissions for the action, without
  7088. // actually making the request, and provides an error response. If you have
  7089. // the required permissions, the error response is DryRunOperation. Otherwise,
  7090. // it is UnauthorizedOperation.
  7091. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7092. // A unique name for the key pair.
  7093. //
  7094. // Constraints: Up to 255 ASCII characters
  7095. KeyName *string `type:"string" required:"true"`
  7096. metadataCreateKeyPairInput `json:"-" xml:"-"`
  7097. }
  7098. type metadataCreateKeyPairInput struct {
  7099. SDKShapeTraits bool `type:"structure"`
  7100. }
  7101. // String returns the string representation
  7102. func (s CreateKeyPairInput) String() string {
  7103. return awsutil.Prettify(s)
  7104. }
  7105. // GoString returns the string representation
  7106. func (s CreateKeyPairInput) GoString() string {
  7107. return s.String()
  7108. }
  7109. // Describes a key pair.
  7110. type CreateKeyPairOutput struct {
  7111. // The SHA-1 digest of the DER encoded private key.
  7112. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  7113. // An unencrypted PEM encoded RSA private key.
  7114. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  7115. // The name of the key pair.
  7116. KeyName *string `locationName:"keyName" type:"string"`
  7117. metadataCreateKeyPairOutput `json:"-" xml:"-"`
  7118. }
  7119. type metadataCreateKeyPairOutput struct {
  7120. SDKShapeTraits bool `type:"structure"`
  7121. }
  7122. // String returns the string representation
  7123. func (s CreateKeyPairOutput) String() string {
  7124. return awsutil.Prettify(s)
  7125. }
  7126. // GoString returns the string representation
  7127. func (s CreateKeyPairOutput) GoString() string {
  7128. return s.String()
  7129. }
  7130. type CreateNetworkAclEntryInput struct {
  7131. // The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  7132. CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
  7133. // Checks whether you have the required permissions for the action, without
  7134. // actually making the request, and provides an error response. If you have
  7135. // the required permissions, the error response is DryRunOperation. Otherwise,
  7136. // it is UnauthorizedOperation.
  7137. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7138. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  7139. // the subnet).
  7140. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  7141. // ICMP protocol: The ICMP type and code. Required if specifying ICMP for the
  7142. // protocol.
  7143. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  7144. // The ID of the network ACL.
  7145. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  7146. // TCP or UDP protocols: The range of ports the rule applies to.
  7147. PortRange *PortRange `locationName:"portRange" type:"structure"`
  7148. // The protocol. A value of -1 means all protocols.
  7149. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  7150. // Indicates whether to allow or deny the traffic that matches the rule.
  7151. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  7152. // The rule number for the entry (for example, 100). ACL entries are processed
  7153. // in ascending order by rule number.
  7154. //
  7155. // Constraints: Positive integer from 1 to 32766
  7156. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  7157. metadataCreateNetworkAclEntryInput `json:"-" xml:"-"`
  7158. }
  7159. type metadataCreateNetworkAclEntryInput struct {
  7160. SDKShapeTraits bool `type:"structure"`
  7161. }
  7162. // String returns the string representation
  7163. func (s CreateNetworkAclEntryInput) String() string {
  7164. return awsutil.Prettify(s)
  7165. }
  7166. // GoString returns the string representation
  7167. func (s CreateNetworkAclEntryInput) GoString() string {
  7168. return s.String()
  7169. }
  7170. type CreateNetworkAclEntryOutput struct {
  7171. metadataCreateNetworkAclEntryOutput `json:"-" xml:"-"`
  7172. }
  7173. type metadataCreateNetworkAclEntryOutput struct {
  7174. SDKShapeTraits bool `type:"structure"`
  7175. }
  7176. // String returns the string representation
  7177. func (s CreateNetworkAclEntryOutput) String() string {
  7178. return awsutil.Prettify(s)
  7179. }
  7180. // GoString returns the string representation
  7181. func (s CreateNetworkAclEntryOutput) GoString() string {
  7182. return s.String()
  7183. }
  7184. type CreateNetworkAclInput struct {
  7185. // Checks whether you have the required permissions for the action, without
  7186. // actually making the request, and provides an error response. If you have
  7187. // the required permissions, the error response is DryRunOperation. Otherwise,
  7188. // it is UnauthorizedOperation.
  7189. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7190. // The ID of the VPC.
  7191. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  7192. metadataCreateNetworkAclInput `json:"-" xml:"-"`
  7193. }
  7194. type metadataCreateNetworkAclInput struct {
  7195. SDKShapeTraits bool `type:"structure"`
  7196. }
  7197. // String returns the string representation
  7198. func (s CreateNetworkAclInput) String() string {
  7199. return awsutil.Prettify(s)
  7200. }
  7201. // GoString returns the string representation
  7202. func (s CreateNetworkAclInput) GoString() string {
  7203. return s.String()
  7204. }
  7205. type CreateNetworkAclOutput struct {
  7206. // Information about the network ACL.
  7207. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  7208. metadataCreateNetworkAclOutput `json:"-" xml:"-"`
  7209. }
  7210. type metadataCreateNetworkAclOutput struct {
  7211. SDKShapeTraits bool `type:"structure"`
  7212. }
  7213. // String returns the string representation
  7214. func (s CreateNetworkAclOutput) String() string {
  7215. return awsutil.Prettify(s)
  7216. }
  7217. // GoString returns the string representation
  7218. func (s CreateNetworkAclOutput) GoString() string {
  7219. return s.String()
  7220. }
  7221. type CreateNetworkInterfaceInput struct {
  7222. // A description for the network interface.
  7223. Description *string `locationName:"description" type:"string"`
  7224. // Checks whether you have the required permissions for the action, without
  7225. // actually making the request, and provides an error response. If you have
  7226. // the required permissions, the error response is DryRunOperation. Otherwise,
  7227. // it is UnauthorizedOperation.
  7228. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7229. // The IDs of one or more security groups.
  7230. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  7231. // The primary private IP address of the network interface. If you don't specify
  7232. // an IP address, Amazon EC2 selects one for you from the subnet range. If you
  7233. // specify an IP address, you cannot indicate any IP addresses specified in
  7234. // privateIpAddresses as primary (only one IP address can be designated as primary).
  7235. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  7236. // One or more private IP addresses.
  7237. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  7238. // The number of secondary private IP addresses to assign to a network interface.
  7239. // When you specify a number of secondary IP addresses, Amazon EC2 selects these
  7240. // IP addresses within the subnet range. You can't specify this option and specify
  7241. // more than one private IP address using privateIpAddresses.
  7242. //
  7243. // The number of IP addresses you can assign to a network interface varies
  7244. // by instance type. For more information, see Private IP Addresses Per ENI
  7245. // Per Instance Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  7246. // in the Amazon Elastic Compute Cloud User Guide.
  7247. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  7248. // The ID of the subnet to associate with the network interface.
  7249. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  7250. metadataCreateNetworkInterfaceInput `json:"-" xml:"-"`
  7251. }
  7252. type metadataCreateNetworkInterfaceInput struct {
  7253. SDKShapeTraits bool `type:"structure"`
  7254. }
  7255. // String returns the string representation
  7256. func (s CreateNetworkInterfaceInput) String() string {
  7257. return awsutil.Prettify(s)
  7258. }
  7259. // GoString returns the string representation
  7260. func (s CreateNetworkInterfaceInput) GoString() string {
  7261. return s.String()
  7262. }
  7263. type CreateNetworkInterfaceOutput struct {
  7264. // Information about the network interface.
  7265. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  7266. metadataCreateNetworkInterfaceOutput `json:"-" xml:"-"`
  7267. }
  7268. type metadataCreateNetworkInterfaceOutput struct {
  7269. SDKShapeTraits bool `type:"structure"`
  7270. }
  7271. // String returns the string representation
  7272. func (s CreateNetworkInterfaceOutput) String() string {
  7273. return awsutil.Prettify(s)
  7274. }
  7275. // GoString returns the string representation
  7276. func (s CreateNetworkInterfaceOutput) GoString() string {
  7277. return s.String()
  7278. }
  7279. type CreatePlacementGroupInput struct {
  7280. // Checks whether you have the required permissions for the action, without
  7281. // actually making the request, and provides an error response. If you have
  7282. // the required permissions, the error response is DryRunOperation. Otherwise,
  7283. // it is UnauthorizedOperation.
  7284. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7285. // A name for the placement group.
  7286. //
  7287. // Constraints: Up to 255 ASCII characters
  7288. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  7289. // The placement strategy.
  7290. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  7291. metadataCreatePlacementGroupInput `json:"-" xml:"-"`
  7292. }
  7293. type metadataCreatePlacementGroupInput struct {
  7294. SDKShapeTraits bool `type:"structure"`
  7295. }
  7296. // String returns the string representation
  7297. func (s CreatePlacementGroupInput) String() string {
  7298. return awsutil.Prettify(s)
  7299. }
  7300. // GoString returns the string representation
  7301. func (s CreatePlacementGroupInput) GoString() string {
  7302. return s.String()
  7303. }
  7304. type CreatePlacementGroupOutput struct {
  7305. metadataCreatePlacementGroupOutput `json:"-" xml:"-"`
  7306. }
  7307. type metadataCreatePlacementGroupOutput struct {
  7308. SDKShapeTraits bool `type:"structure"`
  7309. }
  7310. // String returns the string representation
  7311. func (s CreatePlacementGroupOutput) String() string {
  7312. return awsutil.Prettify(s)
  7313. }
  7314. // GoString returns the string representation
  7315. func (s CreatePlacementGroupOutput) GoString() string {
  7316. return s.String()
  7317. }
  7318. type CreateReservedInstancesListingInput struct {
  7319. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  7320. // listings. This helps avoid duplicate listings. For more information, see
  7321. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  7322. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  7323. // The number of instances that are a part of a Reserved Instance account to
  7324. // be listed in the Reserved Instance Marketplace. This number should be less
  7325. // than or equal to the instance count associated with the Reserved Instance
  7326. // ID specified in this call.
  7327. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  7328. // A list specifying the price of the Reserved Instance for each month remaining
  7329. // in the Reserved Instance term.
  7330. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  7331. // The ID of the active Reserved Instance.
  7332. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  7333. metadataCreateReservedInstancesListingInput `json:"-" xml:"-"`
  7334. }
  7335. type metadataCreateReservedInstancesListingInput struct {
  7336. SDKShapeTraits bool `type:"structure"`
  7337. }
  7338. // String returns the string representation
  7339. func (s CreateReservedInstancesListingInput) String() string {
  7340. return awsutil.Prettify(s)
  7341. }
  7342. // GoString returns the string representation
  7343. func (s CreateReservedInstancesListingInput) GoString() string {
  7344. return s.String()
  7345. }
  7346. type CreateReservedInstancesListingOutput struct {
  7347. // Information about the Reserved Instances listing.
  7348. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  7349. metadataCreateReservedInstancesListingOutput `json:"-" xml:"-"`
  7350. }
  7351. type metadataCreateReservedInstancesListingOutput struct {
  7352. SDKShapeTraits bool `type:"structure"`
  7353. }
  7354. // String returns the string representation
  7355. func (s CreateReservedInstancesListingOutput) String() string {
  7356. return awsutil.Prettify(s)
  7357. }
  7358. // GoString returns the string representation
  7359. func (s CreateReservedInstancesListingOutput) GoString() string {
  7360. return s.String()
  7361. }
  7362. type CreateRouteInput struct {
  7363. // The CIDR address block used for the destination match. Routing decisions
  7364. // are based on the most specific match.
  7365. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  7366. // Checks whether you have the required permissions for the action, without
  7367. // actually making the request, and provides an error response. If you have
  7368. // the required permissions, the error response is DryRunOperation. Otherwise,
  7369. // it is UnauthorizedOperation.
  7370. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7371. // The ID of an Internet gateway or virtual private gateway attached to your
  7372. // VPC.
  7373. GatewayId *string `locationName:"gatewayId" type:"string"`
  7374. // The ID of a NAT instance in your VPC. The operation fails if you specify
  7375. // an instance ID unless exactly one network interface is attached.
  7376. InstanceId *string `locationName:"instanceId" type:"string"`
  7377. // The ID of a network interface.
  7378. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  7379. // The ID of the route table for the route.
  7380. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  7381. // The ID of a VPC peering connection.
  7382. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  7383. metadataCreateRouteInput `json:"-" xml:"-"`
  7384. }
  7385. type metadataCreateRouteInput struct {
  7386. SDKShapeTraits bool `type:"structure"`
  7387. }
  7388. // String returns the string representation
  7389. func (s CreateRouteInput) String() string {
  7390. return awsutil.Prettify(s)
  7391. }
  7392. // GoString returns the string representation
  7393. func (s CreateRouteInput) GoString() string {
  7394. return s.String()
  7395. }
  7396. type CreateRouteOutput struct {
  7397. // Returns true if the request succeeds; otherwise, it returns an error.
  7398. Return *bool `locationName:"return" type:"boolean"`
  7399. metadataCreateRouteOutput `json:"-" xml:"-"`
  7400. }
  7401. type metadataCreateRouteOutput struct {
  7402. SDKShapeTraits bool `type:"structure"`
  7403. }
  7404. // String returns the string representation
  7405. func (s CreateRouteOutput) String() string {
  7406. return awsutil.Prettify(s)
  7407. }
  7408. // GoString returns the string representation
  7409. func (s CreateRouteOutput) GoString() string {
  7410. return s.String()
  7411. }
  7412. type CreateRouteTableInput struct {
  7413. // Checks whether you have the required permissions for the action, without
  7414. // actually making the request, and provides an error response. If you have
  7415. // the required permissions, the error response is DryRunOperation. Otherwise,
  7416. // it is UnauthorizedOperation.
  7417. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7418. // The ID of the VPC.
  7419. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  7420. metadataCreateRouteTableInput `json:"-" xml:"-"`
  7421. }
  7422. type metadataCreateRouteTableInput struct {
  7423. SDKShapeTraits bool `type:"structure"`
  7424. }
  7425. // String returns the string representation
  7426. func (s CreateRouteTableInput) String() string {
  7427. return awsutil.Prettify(s)
  7428. }
  7429. // GoString returns the string representation
  7430. func (s CreateRouteTableInput) GoString() string {
  7431. return s.String()
  7432. }
  7433. type CreateRouteTableOutput struct {
  7434. // Information about the route table.
  7435. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  7436. metadataCreateRouteTableOutput `json:"-" xml:"-"`
  7437. }
  7438. type metadataCreateRouteTableOutput struct {
  7439. SDKShapeTraits bool `type:"structure"`
  7440. }
  7441. // String returns the string representation
  7442. func (s CreateRouteTableOutput) String() string {
  7443. return awsutil.Prettify(s)
  7444. }
  7445. // GoString returns the string representation
  7446. func (s CreateRouteTableOutput) GoString() string {
  7447. return s.String()
  7448. }
  7449. type CreateSecurityGroupInput struct {
  7450. // A description for the security group. This is informational only.
  7451. //
  7452. // Constraints: Up to 255 characters in length
  7453. //
  7454. // Constraints for EC2-Classic: ASCII characters
  7455. //
  7456. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  7457. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  7458. // Checks whether you have the required permissions for the action, without
  7459. // actually making the request, and provides an error response. If you have
  7460. // the required permissions, the error response is DryRunOperation. Otherwise,
  7461. // it is UnauthorizedOperation.
  7462. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7463. // The name of the security group.
  7464. //
  7465. // Constraints: Up to 255 characters in length
  7466. //
  7467. // Constraints for EC2-Classic: ASCII characters
  7468. //
  7469. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  7470. GroupName *string `type:"string" required:"true"`
  7471. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  7472. VpcId *string `type:"string"`
  7473. metadataCreateSecurityGroupInput `json:"-" xml:"-"`
  7474. }
  7475. type metadataCreateSecurityGroupInput struct {
  7476. SDKShapeTraits bool `type:"structure"`
  7477. }
  7478. // String returns the string representation
  7479. func (s CreateSecurityGroupInput) String() string {
  7480. return awsutil.Prettify(s)
  7481. }
  7482. // GoString returns the string representation
  7483. func (s CreateSecurityGroupInput) GoString() string {
  7484. return s.String()
  7485. }
  7486. type CreateSecurityGroupOutput struct {
  7487. // The ID of the security group.
  7488. GroupId *string `locationName:"groupId" type:"string"`
  7489. metadataCreateSecurityGroupOutput `json:"-" xml:"-"`
  7490. }
  7491. type metadataCreateSecurityGroupOutput struct {
  7492. SDKShapeTraits bool `type:"structure"`
  7493. }
  7494. // String returns the string representation
  7495. func (s CreateSecurityGroupOutput) String() string {
  7496. return awsutil.Prettify(s)
  7497. }
  7498. // GoString returns the string representation
  7499. func (s CreateSecurityGroupOutput) GoString() string {
  7500. return s.String()
  7501. }
  7502. type CreateSnapshotInput struct {
  7503. // A description for the snapshot.
  7504. Description *string `type:"string"`
  7505. // Checks whether you have the required permissions for the action, without
  7506. // actually making the request, and provides an error response. If you have
  7507. // the required permissions, the error response is DryRunOperation. Otherwise,
  7508. // it is UnauthorizedOperation.
  7509. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7510. // The ID of the EBS volume.
  7511. VolumeId *string `type:"string" required:"true"`
  7512. metadataCreateSnapshotInput `json:"-" xml:"-"`
  7513. }
  7514. type metadataCreateSnapshotInput struct {
  7515. SDKShapeTraits bool `type:"structure"`
  7516. }
  7517. // String returns the string representation
  7518. func (s CreateSnapshotInput) String() string {
  7519. return awsutil.Prettify(s)
  7520. }
  7521. // GoString returns the string representation
  7522. func (s CreateSnapshotInput) GoString() string {
  7523. return s.String()
  7524. }
  7525. // Contains the parameters for CreateSpotDatafeedSubscription.
  7526. type CreateSpotDatafeedSubscriptionInput struct {
  7527. // The Amazon S3 bucket in which to store the Spot Instance data feed.
  7528. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  7529. // Checks whether you have the required permissions for the action, without
  7530. // actually making the request, and provides an error response. If you have
  7531. // the required permissions, the error response is DryRunOperation. Otherwise,
  7532. // it is UnauthorizedOperation.
  7533. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7534. // A prefix for the data feed file names.
  7535. Prefix *string `locationName:"prefix" type:"string"`
  7536. metadataCreateSpotDatafeedSubscriptionInput `json:"-" xml:"-"`
  7537. }
  7538. type metadataCreateSpotDatafeedSubscriptionInput struct {
  7539. SDKShapeTraits bool `type:"structure"`
  7540. }
  7541. // String returns the string representation
  7542. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  7543. return awsutil.Prettify(s)
  7544. }
  7545. // GoString returns the string representation
  7546. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  7547. return s.String()
  7548. }
  7549. // Contains the output of CreateSpotDatafeedSubscription.
  7550. type CreateSpotDatafeedSubscriptionOutput struct {
  7551. // The Spot Instance data feed subscription.
  7552. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  7553. metadataCreateSpotDatafeedSubscriptionOutput `json:"-" xml:"-"`
  7554. }
  7555. type metadataCreateSpotDatafeedSubscriptionOutput struct {
  7556. SDKShapeTraits bool `type:"structure"`
  7557. }
  7558. // String returns the string representation
  7559. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  7560. return awsutil.Prettify(s)
  7561. }
  7562. // GoString returns the string representation
  7563. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  7564. return s.String()
  7565. }
  7566. type CreateSubnetInput struct {
  7567. // The Availability Zone for the subnet.
  7568. //
  7569. // Default: Amazon EC2 selects one for you (recommended).
  7570. AvailabilityZone *string `type:"string"`
  7571. // The network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  7572. CidrBlock *string `type:"string" required:"true"`
  7573. // Checks whether you have the required permissions for the action, without
  7574. // actually making the request, and provides an error response. If you have
  7575. // the required permissions, the error response is DryRunOperation. Otherwise,
  7576. // it is UnauthorizedOperation.
  7577. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7578. // The ID of the VPC.
  7579. VpcId *string `type:"string" required:"true"`
  7580. metadataCreateSubnetInput `json:"-" xml:"-"`
  7581. }
  7582. type metadataCreateSubnetInput struct {
  7583. SDKShapeTraits bool `type:"structure"`
  7584. }
  7585. // String returns the string representation
  7586. func (s CreateSubnetInput) String() string {
  7587. return awsutil.Prettify(s)
  7588. }
  7589. // GoString returns the string representation
  7590. func (s CreateSubnetInput) GoString() string {
  7591. return s.String()
  7592. }
  7593. type CreateSubnetOutput struct {
  7594. // Information about the subnet.
  7595. Subnet *Subnet `locationName:"subnet" type:"structure"`
  7596. metadataCreateSubnetOutput `json:"-" xml:"-"`
  7597. }
  7598. type metadataCreateSubnetOutput struct {
  7599. SDKShapeTraits bool `type:"structure"`
  7600. }
  7601. // String returns the string representation
  7602. func (s CreateSubnetOutput) String() string {
  7603. return awsutil.Prettify(s)
  7604. }
  7605. // GoString returns the string representation
  7606. func (s CreateSubnetOutput) GoString() string {
  7607. return s.String()
  7608. }
  7609. type CreateTagsInput struct {
  7610. // Checks whether you have the required permissions for the action, without
  7611. // actually making the request, and provides an error response. If you have
  7612. // the required permissions, the error response is DryRunOperation. Otherwise,
  7613. // it is UnauthorizedOperation.
  7614. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7615. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  7616. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  7617. // One or more tags. The value parameter is required, but if you don't want
  7618. // the tag to have a value, specify the parameter with no value, and we set
  7619. // the value to an empty string.
  7620. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  7621. metadataCreateTagsInput `json:"-" xml:"-"`
  7622. }
  7623. type metadataCreateTagsInput struct {
  7624. SDKShapeTraits bool `type:"structure"`
  7625. }
  7626. // String returns the string representation
  7627. func (s CreateTagsInput) String() string {
  7628. return awsutil.Prettify(s)
  7629. }
  7630. // GoString returns the string representation
  7631. func (s CreateTagsInput) GoString() string {
  7632. return s.String()
  7633. }
  7634. type CreateTagsOutput struct {
  7635. metadataCreateTagsOutput `json:"-" xml:"-"`
  7636. }
  7637. type metadataCreateTagsOutput struct {
  7638. SDKShapeTraits bool `type:"structure"`
  7639. }
  7640. // String returns the string representation
  7641. func (s CreateTagsOutput) String() string {
  7642. return awsutil.Prettify(s)
  7643. }
  7644. // GoString returns the string representation
  7645. func (s CreateTagsOutput) GoString() string {
  7646. return s.String()
  7647. }
  7648. type CreateVolumeInput struct {
  7649. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  7650. // to list the Availability Zones that are currently available to you.
  7651. AvailabilityZone *string `type:"string" required:"true"`
  7652. // Checks whether you have the required permissions for the action, without
  7653. // actually making the request, and provides an error response. If you have
  7654. // the required permissions, the error response is DryRunOperation. Otherwise,
  7655. // it is UnauthorizedOperation.
  7656. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7657. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  7658. // may only be attached to instances that support Amazon EBS encryption. Volumes
  7659. // that are created from encrypted snapshots are automatically encrypted. There
  7660. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  7661. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  7662. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  7663. // in the Amazon Elastic Compute Cloud User Guide.
  7664. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  7665. // Only valid for Provisioned IOPS (SSD) volumes. The number of I/O operations
  7666. // per second (IOPS) to provision for the volume, with a maximum ratio of 30
  7667. // IOPS/GiB.
  7668. //
  7669. // Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes
  7670. Iops *int64 `type:"integer"`
  7671. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  7672. // key (CMK) to use when creating the encrypted volume. This parameter is only
  7673. // required if you want to use a non-default CMK; if this parameter is not specified,
  7674. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  7675. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  7676. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  7677. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  7678. KmsKeyId *string `type:"string"`
  7679. // The size of the volume, in GiBs.
  7680. //
  7681. // Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384
  7682. // for io1 volumes. If you specify a snapshot, the volume size must be equal
  7683. // to or larger than the snapshot size.
  7684. //
  7685. // Default: If you're creating the volume from a snapshot and don't specify
  7686. // a volume size, the default is the snapshot size.
  7687. Size *int64 `type:"integer"`
  7688. // The snapshot from which to create the volume.
  7689. SnapshotId *string `type:"string"`
  7690. // The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for
  7691. // Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.
  7692. //
  7693. // Default: standard
  7694. VolumeType *string `type:"string" enum:"VolumeType"`
  7695. metadataCreateVolumeInput `json:"-" xml:"-"`
  7696. }
  7697. type metadataCreateVolumeInput struct {
  7698. SDKShapeTraits bool `type:"structure"`
  7699. }
  7700. // String returns the string representation
  7701. func (s CreateVolumeInput) String() string {
  7702. return awsutil.Prettify(s)
  7703. }
  7704. // GoString returns the string representation
  7705. func (s CreateVolumeInput) GoString() string {
  7706. return s.String()
  7707. }
  7708. // Describes the user or group to be added or removed from the permissions for
  7709. // a volume.
  7710. type CreateVolumePermission struct {
  7711. // The specific group that is to be added or removed from a volume's list of
  7712. // create volume permissions.
  7713. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  7714. // The specific AWS account ID that is to be added or removed from a volume's
  7715. // list of create volume permissions.
  7716. UserId *string `locationName:"userId" type:"string"`
  7717. metadataCreateVolumePermission `json:"-" xml:"-"`
  7718. }
  7719. type metadataCreateVolumePermission struct {
  7720. SDKShapeTraits bool `type:"structure"`
  7721. }
  7722. // String returns the string representation
  7723. func (s CreateVolumePermission) String() string {
  7724. return awsutil.Prettify(s)
  7725. }
  7726. // GoString returns the string representation
  7727. func (s CreateVolumePermission) GoString() string {
  7728. return s.String()
  7729. }
  7730. // Describes modifications to the permissions for a volume.
  7731. type CreateVolumePermissionModifications struct {
  7732. // Adds a specific AWS account ID or group to a volume's list of create volume
  7733. // permissions.
  7734. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  7735. // Removes a specific AWS account ID or group from a volume's list of create
  7736. // volume permissions.
  7737. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  7738. metadataCreateVolumePermissionModifications `json:"-" xml:"-"`
  7739. }
  7740. type metadataCreateVolumePermissionModifications struct {
  7741. SDKShapeTraits bool `type:"structure"`
  7742. }
  7743. // String returns the string representation
  7744. func (s CreateVolumePermissionModifications) String() string {
  7745. return awsutil.Prettify(s)
  7746. }
  7747. // GoString returns the string representation
  7748. func (s CreateVolumePermissionModifications) GoString() string {
  7749. return s.String()
  7750. }
  7751. type CreateVpcEndpointInput struct {
  7752. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  7753. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  7754. ClientToken *string `type:"string"`
  7755. // Checks whether you have the required permissions for the action, without
  7756. // actually making the request, and provides an error response. If you have
  7757. // the required permissions, the error response is DryRunOperation. Otherwise,
  7758. // it is UnauthorizedOperation.
  7759. DryRun *bool `type:"boolean"`
  7760. // A policy to attach to the endpoint that controls access to the service. The
  7761. // policy must be in valid JSON format. If this parameter is not specified,
  7762. // we attach a default policy that allows full access to the service.
  7763. PolicyDocument *string `type:"string"`
  7764. // One or more route table IDs.
  7765. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  7766. // The AWS service name, in the form com.amazonaws.region.service. To get a
  7767. // list of available services, use the DescribeVpcEndpointServices request.
  7768. ServiceName *string `type:"string" required:"true"`
  7769. // The ID of the VPC in which the endpoint will be used.
  7770. VpcId *string `type:"string" required:"true"`
  7771. metadataCreateVpcEndpointInput `json:"-" xml:"-"`
  7772. }
  7773. type metadataCreateVpcEndpointInput struct {
  7774. SDKShapeTraits bool `type:"structure"`
  7775. }
  7776. // String returns the string representation
  7777. func (s CreateVpcEndpointInput) String() string {
  7778. return awsutil.Prettify(s)
  7779. }
  7780. // GoString returns the string representation
  7781. func (s CreateVpcEndpointInput) GoString() string {
  7782. return s.String()
  7783. }
  7784. type CreateVpcEndpointOutput struct {
  7785. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  7786. // the request.
  7787. ClientToken *string `locationName:"clientToken" type:"string"`
  7788. // Information about the endpoint.
  7789. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  7790. metadataCreateVpcEndpointOutput `json:"-" xml:"-"`
  7791. }
  7792. type metadataCreateVpcEndpointOutput struct {
  7793. SDKShapeTraits bool `type:"structure"`
  7794. }
  7795. // String returns the string representation
  7796. func (s CreateVpcEndpointOutput) String() string {
  7797. return awsutil.Prettify(s)
  7798. }
  7799. // GoString returns the string representation
  7800. func (s CreateVpcEndpointOutput) GoString() string {
  7801. return s.String()
  7802. }
  7803. type CreateVpcInput struct {
  7804. // The network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  7805. CidrBlock *string `type:"string" required:"true"`
  7806. // Checks whether you have the required permissions for the action, without
  7807. // actually making the request, and provides an error response. If you have
  7808. // the required permissions, the error response is DryRunOperation. Otherwise,
  7809. // it is UnauthorizedOperation.
  7810. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7811. // The supported tenancy options for instances launched into the VPC. A value
  7812. // of default means that instances can be launched with any tenancy; a value
  7813. // of dedicated means all instances launched into the VPC are launched as dedicated
  7814. // tenancy instances regardless of the tenancy assigned to the instance at launch.
  7815. // Dedicated tenancy instances run on single-tenant hardware.
  7816. //
  7817. // Default: default
  7818. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  7819. metadataCreateVpcInput `json:"-" xml:"-"`
  7820. }
  7821. type metadataCreateVpcInput struct {
  7822. SDKShapeTraits bool `type:"structure"`
  7823. }
  7824. // String returns the string representation
  7825. func (s CreateVpcInput) String() string {
  7826. return awsutil.Prettify(s)
  7827. }
  7828. // GoString returns the string representation
  7829. func (s CreateVpcInput) GoString() string {
  7830. return s.String()
  7831. }
  7832. type CreateVpcOutput struct {
  7833. // Information about the VPC.
  7834. Vpc *Vpc `locationName:"vpc" type:"structure"`
  7835. metadataCreateVpcOutput `json:"-" xml:"-"`
  7836. }
  7837. type metadataCreateVpcOutput struct {
  7838. SDKShapeTraits bool `type:"structure"`
  7839. }
  7840. // String returns the string representation
  7841. func (s CreateVpcOutput) String() string {
  7842. return awsutil.Prettify(s)
  7843. }
  7844. // GoString returns the string representation
  7845. func (s CreateVpcOutput) GoString() string {
  7846. return s.String()
  7847. }
  7848. type CreateVpcPeeringConnectionInput struct {
  7849. // Checks whether you have the required permissions for the action, without
  7850. // actually making the request, and provides an error response. If you have
  7851. // the required permissions, the error response is DryRunOperation. Otherwise,
  7852. // it is UnauthorizedOperation.
  7853. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7854. // The AWS account ID of the owner of the peer VPC.
  7855. //
  7856. // Default: Your AWS account ID
  7857. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  7858. // The ID of the VPC with which you are creating the VPC peering connection.
  7859. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  7860. // The ID of the requester VPC.
  7861. VpcId *string `locationName:"vpcId" type:"string"`
  7862. metadataCreateVpcPeeringConnectionInput `json:"-" xml:"-"`
  7863. }
  7864. type metadataCreateVpcPeeringConnectionInput struct {
  7865. SDKShapeTraits bool `type:"structure"`
  7866. }
  7867. // String returns the string representation
  7868. func (s CreateVpcPeeringConnectionInput) String() string {
  7869. return awsutil.Prettify(s)
  7870. }
  7871. // GoString returns the string representation
  7872. func (s CreateVpcPeeringConnectionInput) GoString() string {
  7873. return s.String()
  7874. }
  7875. type CreateVpcPeeringConnectionOutput struct {
  7876. // Information about the VPC peering connection.
  7877. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  7878. metadataCreateVpcPeeringConnectionOutput `json:"-" xml:"-"`
  7879. }
  7880. type metadataCreateVpcPeeringConnectionOutput struct {
  7881. SDKShapeTraits bool `type:"structure"`
  7882. }
  7883. // String returns the string representation
  7884. func (s CreateVpcPeeringConnectionOutput) String() string {
  7885. return awsutil.Prettify(s)
  7886. }
  7887. // GoString returns the string representation
  7888. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  7889. return s.String()
  7890. }
  7891. type CreateVpnConnectionInput struct {
  7892. // The ID of the customer gateway.
  7893. CustomerGatewayId *string `type:"string" required:"true"`
  7894. // Checks whether you have the required permissions for the action, without
  7895. // actually making the request, and provides an error response. If you have
  7896. // the required permissions, the error response is DryRunOperation. Otherwise,
  7897. // it is UnauthorizedOperation.
  7898. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7899. // Indicates whether the VPN connection requires static routes. If you are creating
  7900. // a VPN connection for a device that does not support BGP, you must specify
  7901. // true.
  7902. //
  7903. // Default: false
  7904. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  7905. // The type of VPN connection (ipsec.1).
  7906. Type *string `type:"string" required:"true"`
  7907. // The ID of the virtual private gateway.
  7908. VpnGatewayId *string `type:"string" required:"true"`
  7909. metadataCreateVpnConnectionInput `json:"-" xml:"-"`
  7910. }
  7911. type metadataCreateVpnConnectionInput struct {
  7912. SDKShapeTraits bool `type:"structure"`
  7913. }
  7914. // String returns the string representation
  7915. func (s CreateVpnConnectionInput) String() string {
  7916. return awsutil.Prettify(s)
  7917. }
  7918. // GoString returns the string representation
  7919. func (s CreateVpnConnectionInput) GoString() string {
  7920. return s.String()
  7921. }
  7922. type CreateVpnConnectionOutput struct {
  7923. // Information about the VPN connection.
  7924. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  7925. metadataCreateVpnConnectionOutput `json:"-" xml:"-"`
  7926. }
  7927. type metadataCreateVpnConnectionOutput struct {
  7928. SDKShapeTraits bool `type:"structure"`
  7929. }
  7930. // String returns the string representation
  7931. func (s CreateVpnConnectionOutput) String() string {
  7932. return awsutil.Prettify(s)
  7933. }
  7934. // GoString returns the string representation
  7935. func (s CreateVpnConnectionOutput) GoString() string {
  7936. return s.String()
  7937. }
  7938. type CreateVpnConnectionRouteInput struct {
  7939. // The CIDR block associated with the local subnet of the customer network.
  7940. DestinationCidrBlock *string `type:"string" required:"true"`
  7941. // The ID of the VPN connection.
  7942. VpnConnectionId *string `type:"string" required:"true"`
  7943. metadataCreateVpnConnectionRouteInput `json:"-" xml:"-"`
  7944. }
  7945. type metadataCreateVpnConnectionRouteInput struct {
  7946. SDKShapeTraits bool `type:"structure"`
  7947. }
  7948. // String returns the string representation
  7949. func (s CreateVpnConnectionRouteInput) String() string {
  7950. return awsutil.Prettify(s)
  7951. }
  7952. // GoString returns the string representation
  7953. func (s CreateVpnConnectionRouteInput) GoString() string {
  7954. return s.String()
  7955. }
  7956. type CreateVpnConnectionRouteOutput struct {
  7957. metadataCreateVpnConnectionRouteOutput `json:"-" xml:"-"`
  7958. }
  7959. type metadataCreateVpnConnectionRouteOutput struct {
  7960. SDKShapeTraits bool `type:"structure"`
  7961. }
  7962. // String returns the string representation
  7963. func (s CreateVpnConnectionRouteOutput) String() string {
  7964. return awsutil.Prettify(s)
  7965. }
  7966. // GoString returns the string representation
  7967. func (s CreateVpnConnectionRouteOutput) GoString() string {
  7968. return s.String()
  7969. }
  7970. type CreateVpnGatewayInput struct {
  7971. // The Availability Zone for the virtual private gateway.
  7972. AvailabilityZone *string `type:"string"`
  7973. // Checks whether you have the required permissions for the action, without
  7974. // actually making the request, and provides an error response. If you have
  7975. // the required permissions, the error response is DryRunOperation. Otherwise,
  7976. // it is UnauthorizedOperation.
  7977. DryRun *bool `locationName:"dryRun" type:"boolean"`
  7978. // The type of VPN connection this virtual private gateway supports.
  7979. Type *string `type:"string" required:"true" enum:"GatewayType"`
  7980. metadataCreateVpnGatewayInput `json:"-" xml:"-"`
  7981. }
  7982. type metadataCreateVpnGatewayInput struct {
  7983. SDKShapeTraits bool `type:"structure"`
  7984. }
  7985. // String returns the string representation
  7986. func (s CreateVpnGatewayInput) String() string {
  7987. return awsutil.Prettify(s)
  7988. }
  7989. // GoString returns the string representation
  7990. func (s CreateVpnGatewayInput) GoString() string {
  7991. return s.String()
  7992. }
  7993. type CreateVpnGatewayOutput struct {
  7994. // Information about the virtual private gateway.
  7995. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  7996. metadataCreateVpnGatewayOutput `json:"-" xml:"-"`
  7997. }
  7998. type metadataCreateVpnGatewayOutput struct {
  7999. SDKShapeTraits bool `type:"structure"`
  8000. }
  8001. // String returns the string representation
  8002. func (s CreateVpnGatewayOutput) String() string {
  8003. return awsutil.Prettify(s)
  8004. }
  8005. // GoString returns the string representation
  8006. func (s CreateVpnGatewayOutput) GoString() string {
  8007. return s.String()
  8008. }
  8009. // Describes a customer gateway.
  8010. type CustomerGateway struct {
  8011. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  8012. // (ASN).
  8013. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  8014. // The ID of the customer gateway.
  8015. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  8016. // The Internet-routable IP address of the customer gateway's outside interface.
  8017. IpAddress *string `locationName:"ipAddress" type:"string"`
  8018. // The current state of the customer gateway (pending | available | deleting
  8019. // | deleted).
  8020. State *string `locationName:"state" type:"string"`
  8021. // Any tags assigned to the customer gateway.
  8022. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  8023. // The type of VPN connection the customer gateway supports (ipsec.1).
  8024. Type *string `locationName:"type" type:"string"`
  8025. metadataCustomerGateway `json:"-" xml:"-"`
  8026. }
  8027. type metadataCustomerGateway struct {
  8028. SDKShapeTraits bool `type:"structure"`
  8029. }
  8030. // String returns the string representation
  8031. func (s CustomerGateway) String() string {
  8032. return awsutil.Prettify(s)
  8033. }
  8034. // GoString returns the string representation
  8035. func (s CustomerGateway) GoString() string {
  8036. return s.String()
  8037. }
  8038. type DeleteCustomerGatewayInput struct {
  8039. // The ID of the customer gateway.
  8040. CustomerGatewayId *string `type:"string" required:"true"`
  8041. // Checks whether you have the required permissions for the action, without
  8042. // actually making the request, and provides an error response. If you have
  8043. // the required permissions, the error response is DryRunOperation. Otherwise,
  8044. // it is UnauthorizedOperation.
  8045. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8046. metadataDeleteCustomerGatewayInput `json:"-" xml:"-"`
  8047. }
  8048. type metadataDeleteCustomerGatewayInput struct {
  8049. SDKShapeTraits bool `type:"structure"`
  8050. }
  8051. // String returns the string representation
  8052. func (s DeleteCustomerGatewayInput) String() string {
  8053. return awsutil.Prettify(s)
  8054. }
  8055. // GoString returns the string representation
  8056. func (s DeleteCustomerGatewayInput) GoString() string {
  8057. return s.String()
  8058. }
  8059. type DeleteCustomerGatewayOutput struct {
  8060. metadataDeleteCustomerGatewayOutput `json:"-" xml:"-"`
  8061. }
  8062. type metadataDeleteCustomerGatewayOutput struct {
  8063. SDKShapeTraits bool `type:"structure"`
  8064. }
  8065. // String returns the string representation
  8066. func (s DeleteCustomerGatewayOutput) String() string {
  8067. return awsutil.Prettify(s)
  8068. }
  8069. // GoString returns the string representation
  8070. func (s DeleteCustomerGatewayOutput) GoString() string {
  8071. return s.String()
  8072. }
  8073. type DeleteDhcpOptionsInput struct {
  8074. // The ID of the DHCP options set.
  8075. DhcpOptionsId *string `type:"string" required:"true"`
  8076. // Checks whether you have the required permissions for the action, without
  8077. // actually making the request, and provides an error response. If you have
  8078. // the required permissions, the error response is DryRunOperation. Otherwise,
  8079. // it is UnauthorizedOperation.
  8080. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8081. metadataDeleteDhcpOptionsInput `json:"-" xml:"-"`
  8082. }
  8083. type metadataDeleteDhcpOptionsInput struct {
  8084. SDKShapeTraits bool `type:"structure"`
  8085. }
  8086. // String returns the string representation
  8087. func (s DeleteDhcpOptionsInput) String() string {
  8088. return awsutil.Prettify(s)
  8089. }
  8090. // GoString returns the string representation
  8091. func (s DeleteDhcpOptionsInput) GoString() string {
  8092. return s.String()
  8093. }
  8094. type DeleteDhcpOptionsOutput struct {
  8095. metadataDeleteDhcpOptionsOutput `json:"-" xml:"-"`
  8096. }
  8097. type metadataDeleteDhcpOptionsOutput struct {
  8098. SDKShapeTraits bool `type:"structure"`
  8099. }
  8100. // String returns the string representation
  8101. func (s DeleteDhcpOptionsOutput) String() string {
  8102. return awsutil.Prettify(s)
  8103. }
  8104. // GoString returns the string representation
  8105. func (s DeleteDhcpOptionsOutput) GoString() string {
  8106. return s.String()
  8107. }
  8108. type DeleteFlowLogsInput struct {
  8109. // One or more flow log IDs.
  8110. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  8111. metadataDeleteFlowLogsInput `json:"-" xml:"-"`
  8112. }
  8113. type metadataDeleteFlowLogsInput struct {
  8114. SDKShapeTraits bool `type:"structure"`
  8115. }
  8116. // String returns the string representation
  8117. func (s DeleteFlowLogsInput) String() string {
  8118. return awsutil.Prettify(s)
  8119. }
  8120. // GoString returns the string representation
  8121. func (s DeleteFlowLogsInput) GoString() string {
  8122. return s.String()
  8123. }
  8124. type DeleteFlowLogsOutput struct {
  8125. // Information about the flow logs that could not be deleted successfully.
  8126. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  8127. metadataDeleteFlowLogsOutput `json:"-" xml:"-"`
  8128. }
  8129. type metadataDeleteFlowLogsOutput struct {
  8130. SDKShapeTraits bool `type:"structure"`
  8131. }
  8132. // String returns the string representation
  8133. func (s DeleteFlowLogsOutput) String() string {
  8134. return awsutil.Prettify(s)
  8135. }
  8136. // GoString returns the string representation
  8137. func (s DeleteFlowLogsOutput) GoString() string {
  8138. return s.String()
  8139. }
  8140. type DeleteInternetGatewayInput struct {
  8141. // Checks whether you have the required permissions for the action, without
  8142. // actually making the request, and provides an error response. If you have
  8143. // the required permissions, the error response is DryRunOperation. Otherwise,
  8144. // it is UnauthorizedOperation.
  8145. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8146. // The ID of the Internet gateway.
  8147. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  8148. metadataDeleteInternetGatewayInput `json:"-" xml:"-"`
  8149. }
  8150. type metadataDeleteInternetGatewayInput struct {
  8151. SDKShapeTraits bool `type:"structure"`
  8152. }
  8153. // String returns the string representation
  8154. func (s DeleteInternetGatewayInput) String() string {
  8155. return awsutil.Prettify(s)
  8156. }
  8157. // GoString returns the string representation
  8158. func (s DeleteInternetGatewayInput) GoString() string {
  8159. return s.String()
  8160. }
  8161. type DeleteInternetGatewayOutput struct {
  8162. metadataDeleteInternetGatewayOutput `json:"-" xml:"-"`
  8163. }
  8164. type metadataDeleteInternetGatewayOutput struct {
  8165. SDKShapeTraits bool `type:"structure"`
  8166. }
  8167. // String returns the string representation
  8168. func (s DeleteInternetGatewayOutput) String() string {
  8169. return awsutil.Prettify(s)
  8170. }
  8171. // GoString returns the string representation
  8172. func (s DeleteInternetGatewayOutput) GoString() string {
  8173. return s.String()
  8174. }
  8175. type DeleteKeyPairInput struct {
  8176. // Checks whether you have the required permissions for the action, without
  8177. // actually making the request, and provides an error response. If you have
  8178. // the required permissions, the error response is DryRunOperation. Otherwise,
  8179. // it is UnauthorizedOperation.
  8180. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8181. // The name of the key pair.
  8182. KeyName *string `type:"string" required:"true"`
  8183. metadataDeleteKeyPairInput `json:"-" xml:"-"`
  8184. }
  8185. type metadataDeleteKeyPairInput struct {
  8186. SDKShapeTraits bool `type:"structure"`
  8187. }
  8188. // String returns the string representation
  8189. func (s DeleteKeyPairInput) String() string {
  8190. return awsutil.Prettify(s)
  8191. }
  8192. // GoString returns the string representation
  8193. func (s DeleteKeyPairInput) GoString() string {
  8194. return s.String()
  8195. }
  8196. type DeleteKeyPairOutput struct {
  8197. metadataDeleteKeyPairOutput `json:"-" xml:"-"`
  8198. }
  8199. type metadataDeleteKeyPairOutput struct {
  8200. SDKShapeTraits bool `type:"structure"`
  8201. }
  8202. // String returns the string representation
  8203. func (s DeleteKeyPairOutput) String() string {
  8204. return awsutil.Prettify(s)
  8205. }
  8206. // GoString returns the string representation
  8207. func (s DeleteKeyPairOutput) GoString() string {
  8208. return s.String()
  8209. }
  8210. type DeleteNetworkAclEntryInput struct {
  8211. // Checks whether you have the required permissions for the action, without
  8212. // actually making the request, and provides an error response. If you have
  8213. // the required permissions, the error response is DryRunOperation. Otherwise,
  8214. // it is UnauthorizedOperation.
  8215. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8216. // Indicates whether the rule is an egress rule.
  8217. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  8218. // The ID of the network ACL.
  8219. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  8220. // The rule number of the entry to delete.
  8221. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  8222. metadataDeleteNetworkAclEntryInput `json:"-" xml:"-"`
  8223. }
  8224. type metadataDeleteNetworkAclEntryInput struct {
  8225. SDKShapeTraits bool `type:"structure"`
  8226. }
  8227. // String returns the string representation
  8228. func (s DeleteNetworkAclEntryInput) String() string {
  8229. return awsutil.Prettify(s)
  8230. }
  8231. // GoString returns the string representation
  8232. func (s DeleteNetworkAclEntryInput) GoString() string {
  8233. return s.String()
  8234. }
  8235. type DeleteNetworkAclEntryOutput struct {
  8236. metadataDeleteNetworkAclEntryOutput `json:"-" xml:"-"`
  8237. }
  8238. type metadataDeleteNetworkAclEntryOutput struct {
  8239. SDKShapeTraits bool `type:"structure"`
  8240. }
  8241. // String returns the string representation
  8242. func (s DeleteNetworkAclEntryOutput) String() string {
  8243. return awsutil.Prettify(s)
  8244. }
  8245. // GoString returns the string representation
  8246. func (s DeleteNetworkAclEntryOutput) GoString() string {
  8247. return s.String()
  8248. }
  8249. type DeleteNetworkAclInput struct {
  8250. // Checks whether you have the required permissions for the action, without
  8251. // actually making the request, and provides an error response. If you have
  8252. // the required permissions, the error response is DryRunOperation. Otherwise,
  8253. // it is UnauthorizedOperation.
  8254. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8255. // The ID of the network ACL.
  8256. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  8257. metadataDeleteNetworkAclInput `json:"-" xml:"-"`
  8258. }
  8259. type metadataDeleteNetworkAclInput struct {
  8260. SDKShapeTraits bool `type:"structure"`
  8261. }
  8262. // String returns the string representation
  8263. func (s DeleteNetworkAclInput) String() string {
  8264. return awsutil.Prettify(s)
  8265. }
  8266. // GoString returns the string representation
  8267. func (s DeleteNetworkAclInput) GoString() string {
  8268. return s.String()
  8269. }
  8270. type DeleteNetworkAclOutput struct {
  8271. metadataDeleteNetworkAclOutput `json:"-" xml:"-"`
  8272. }
  8273. type metadataDeleteNetworkAclOutput struct {
  8274. SDKShapeTraits bool `type:"structure"`
  8275. }
  8276. // String returns the string representation
  8277. func (s DeleteNetworkAclOutput) String() string {
  8278. return awsutil.Prettify(s)
  8279. }
  8280. // GoString returns the string representation
  8281. func (s DeleteNetworkAclOutput) GoString() string {
  8282. return s.String()
  8283. }
  8284. type DeleteNetworkInterfaceInput struct {
  8285. // Checks whether you have the required permissions for the action, without
  8286. // actually making the request, and provides an error response. If you have
  8287. // the required permissions, the error response is DryRunOperation. Otherwise,
  8288. // it is UnauthorizedOperation.
  8289. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8290. // The ID of the network interface.
  8291. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  8292. metadataDeleteNetworkInterfaceInput `json:"-" xml:"-"`
  8293. }
  8294. type metadataDeleteNetworkInterfaceInput struct {
  8295. SDKShapeTraits bool `type:"structure"`
  8296. }
  8297. // String returns the string representation
  8298. func (s DeleteNetworkInterfaceInput) String() string {
  8299. return awsutil.Prettify(s)
  8300. }
  8301. // GoString returns the string representation
  8302. func (s DeleteNetworkInterfaceInput) GoString() string {
  8303. return s.String()
  8304. }
  8305. type DeleteNetworkInterfaceOutput struct {
  8306. metadataDeleteNetworkInterfaceOutput `json:"-" xml:"-"`
  8307. }
  8308. type metadataDeleteNetworkInterfaceOutput struct {
  8309. SDKShapeTraits bool `type:"structure"`
  8310. }
  8311. // String returns the string representation
  8312. func (s DeleteNetworkInterfaceOutput) String() string {
  8313. return awsutil.Prettify(s)
  8314. }
  8315. // GoString returns the string representation
  8316. func (s DeleteNetworkInterfaceOutput) GoString() string {
  8317. return s.String()
  8318. }
  8319. type DeletePlacementGroupInput struct {
  8320. // Checks whether you have the required permissions for the action, without
  8321. // actually making the request, and provides an error response. If you have
  8322. // the required permissions, the error response is DryRunOperation. Otherwise,
  8323. // it is UnauthorizedOperation.
  8324. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8325. // The name of the placement group.
  8326. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  8327. metadataDeletePlacementGroupInput `json:"-" xml:"-"`
  8328. }
  8329. type metadataDeletePlacementGroupInput struct {
  8330. SDKShapeTraits bool `type:"structure"`
  8331. }
  8332. // String returns the string representation
  8333. func (s DeletePlacementGroupInput) String() string {
  8334. return awsutil.Prettify(s)
  8335. }
  8336. // GoString returns the string representation
  8337. func (s DeletePlacementGroupInput) GoString() string {
  8338. return s.String()
  8339. }
  8340. type DeletePlacementGroupOutput struct {
  8341. metadataDeletePlacementGroupOutput `json:"-" xml:"-"`
  8342. }
  8343. type metadataDeletePlacementGroupOutput struct {
  8344. SDKShapeTraits bool `type:"structure"`
  8345. }
  8346. // String returns the string representation
  8347. func (s DeletePlacementGroupOutput) String() string {
  8348. return awsutil.Prettify(s)
  8349. }
  8350. // GoString returns the string representation
  8351. func (s DeletePlacementGroupOutput) GoString() string {
  8352. return s.String()
  8353. }
  8354. type DeleteRouteInput struct {
  8355. // The CIDR range for the route. The value you specify must match the CIDR for
  8356. // the route exactly.
  8357. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  8358. // Checks whether you have the required permissions for the action, without
  8359. // actually making the request, and provides an error response. If you have
  8360. // the required permissions, the error response is DryRunOperation. Otherwise,
  8361. // it is UnauthorizedOperation.
  8362. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8363. // The ID of the route table.
  8364. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  8365. metadataDeleteRouteInput `json:"-" xml:"-"`
  8366. }
  8367. type metadataDeleteRouteInput struct {
  8368. SDKShapeTraits bool `type:"structure"`
  8369. }
  8370. // String returns the string representation
  8371. func (s DeleteRouteInput) String() string {
  8372. return awsutil.Prettify(s)
  8373. }
  8374. // GoString returns the string representation
  8375. func (s DeleteRouteInput) GoString() string {
  8376. return s.String()
  8377. }
  8378. type DeleteRouteOutput struct {
  8379. metadataDeleteRouteOutput `json:"-" xml:"-"`
  8380. }
  8381. type metadataDeleteRouteOutput struct {
  8382. SDKShapeTraits bool `type:"structure"`
  8383. }
  8384. // String returns the string representation
  8385. func (s DeleteRouteOutput) String() string {
  8386. return awsutil.Prettify(s)
  8387. }
  8388. // GoString returns the string representation
  8389. func (s DeleteRouteOutput) GoString() string {
  8390. return s.String()
  8391. }
  8392. type DeleteRouteTableInput struct {
  8393. // Checks whether you have the required permissions for the action, without
  8394. // actually making the request, and provides an error response. If you have
  8395. // the required permissions, the error response is DryRunOperation. Otherwise,
  8396. // it is UnauthorizedOperation.
  8397. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8398. // The ID of the route table.
  8399. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  8400. metadataDeleteRouteTableInput `json:"-" xml:"-"`
  8401. }
  8402. type metadataDeleteRouteTableInput struct {
  8403. SDKShapeTraits bool `type:"structure"`
  8404. }
  8405. // String returns the string representation
  8406. func (s DeleteRouteTableInput) String() string {
  8407. return awsutil.Prettify(s)
  8408. }
  8409. // GoString returns the string representation
  8410. func (s DeleteRouteTableInput) GoString() string {
  8411. return s.String()
  8412. }
  8413. type DeleteRouteTableOutput struct {
  8414. metadataDeleteRouteTableOutput `json:"-" xml:"-"`
  8415. }
  8416. type metadataDeleteRouteTableOutput struct {
  8417. SDKShapeTraits bool `type:"structure"`
  8418. }
  8419. // String returns the string representation
  8420. func (s DeleteRouteTableOutput) String() string {
  8421. return awsutil.Prettify(s)
  8422. }
  8423. // GoString returns the string representation
  8424. func (s DeleteRouteTableOutput) GoString() string {
  8425. return s.String()
  8426. }
  8427. type DeleteSecurityGroupInput struct {
  8428. // Checks whether you have the required permissions for the action, without
  8429. // actually making the request, and provides an error response. If you have
  8430. // the required permissions, the error response is DryRunOperation. Otherwise,
  8431. // it is UnauthorizedOperation.
  8432. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8433. // The ID of the security group. Required for a nondefault VPC.
  8434. GroupId *string `type:"string"`
  8435. // [EC2-Classic, default VPC] The name of the security group. You can specify
  8436. // either the security group name or the security group ID.
  8437. GroupName *string `type:"string"`
  8438. metadataDeleteSecurityGroupInput `json:"-" xml:"-"`
  8439. }
  8440. type metadataDeleteSecurityGroupInput struct {
  8441. SDKShapeTraits bool `type:"structure"`
  8442. }
  8443. // String returns the string representation
  8444. func (s DeleteSecurityGroupInput) String() string {
  8445. return awsutil.Prettify(s)
  8446. }
  8447. // GoString returns the string representation
  8448. func (s DeleteSecurityGroupInput) GoString() string {
  8449. return s.String()
  8450. }
  8451. type DeleteSecurityGroupOutput struct {
  8452. metadataDeleteSecurityGroupOutput `json:"-" xml:"-"`
  8453. }
  8454. type metadataDeleteSecurityGroupOutput struct {
  8455. SDKShapeTraits bool `type:"structure"`
  8456. }
  8457. // String returns the string representation
  8458. func (s DeleteSecurityGroupOutput) String() string {
  8459. return awsutil.Prettify(s)
  8460. }
  8461. // GoString returns the string representation
  8462. func (s DeleteSecurityGroupOutput) GoString() string {
  8463. return s.String()
  8464. }
  8465. type DeleteSnapshotInput struct {
  8466. // Checks whether you have the required permissions for the action, without
  8467. // actually making the request, and provides an error response. If you have
  8468. // the required permissions, the error response is DryRunOperation. Otherwise,
  8469. // it is UnauthorizedOperation.
  8470. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8471. // The ID of the EBS snapshot.
  8472. SnapshotId *string `type:"string" required:"true"`
  8473. metadataDeleteSnapshotInput `json:"-" xml:"-"`
  8474. }
  8475. type metadataDeleteSnapshotInput struct {
  8476. SDKShapeTraits bool `type:"structure"`
  8477. }
  8478. // String returns the string representation
  8479. func (s DeleteSnapshotInput) String() string {
  8480. return awsutil.Prettify(s)
  8481. }
  8482. // GoString returns the string representation
  8483. func (s DeleteSnapshotInput) GoString() string {
  8484. return s.String()
  8485. }
  8486. type DeleteSnapshotOutput struct {
  8487. metadataDeleteSnapshotOutput `json:"-" xml:"-"`
  8488. }
  8489. type metadataDeleteSnapshotOutput struct {
  8490. SDKShapeTraits bool `type:"structure"`
  8491. }
  8492. // String returns the string representation
  8493. func (s DeleteSnapshotOutput) String() string {
  8494. return awsutil.Prettify(s)
  8495. }
  8496. // GoString returns the string representation
  8497. func (s DeleteSnapshotOutput) GoString() string {
  8498. return s.String()
  8499. }
  8500. // Contains the parameters for DeleteSpotDatafeedSubscription.
  8501. type DeleteSpotDatafeedSubscriptionInput struct {
  8502. // Checks whether you have the required permissions for the action, without
  8503. // actually making the request, and provides an error response. If you have
  8504. // the required permissions, the error response is DryRunOperation. Otherwise,
  8505. // it is UnauthorizedOperation.
  8506. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8507. metadataDeleteSpotDatafeedSubscriptionInput `json:"-" xml:"-"`
  8508. }
  8509. type metadataDeleteSpotDatafeedSubscriptionInput struct {
  8510. SDKShapeTraits bool `type:"structure"`
  8511. }
  8512. // String returns the string representation
  8513. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  8514. return awsutil.Prettify(s)
  8515. }
  8516. // GoString returns the string representation
  8517. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  8518. return s.String()
  8519. }
  8520. type DeleteSpotDatafeedSubscriptionOutput struct {
  8521. metadataDeleteSpotDatafeedSubscriptionOutput `json:"-" xml:"-"`
  8522. }
  8523. type metadataDeleteSpotDatafeedSubscriptionOutput struct {
  8524. SDKShapeTraits bool `type:"structure"`
  8525. }
  8526. // String returns the string representation
  8527. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  8528. return awsutil.Prettify(s)
  8529. }
  8530. // GoString returns the string representation
  8531. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  8532. return s.String()
  8533. }
  8534. type DeleteSubnetInput struct {
  8535. // Checks whether you have the required permissions for the action, without
  8536. // actually making the request, and provides an error response. If you have
  8537. // the required permissions, the error response is DryRunOperation. Otherwise,
  8538. // it is UnauthorizedOperation.
  8539. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8540. // The ID of the subnet.
  8541. SubnetId *string `type:"string" required:"true"`
  8542. metadataDeleteSubnetInput `json:"-" xml:"-"`
  8543. }
  8544. type metadataDeleteSubnetInput struct {
  8545. SDKShapeTraits bool `type:"structure"`
  8546. }
  8547. // String returns the string representation
  8548. func (s DeleteSubnetInput) String() string {
  8549. return awsutil.Prettify(s)
  8550. }
  8551. // GoString returns the string representation
  8552. func (s DeleteSubnetInput) GoString() string {
  8553. return s.String()
  8554. }
  8555. type DeleteSubnetOutput struct {
  8556. metadataDeleteSubnetOutput `json:"-" xml:"-"`
  8557. }
  8558. type metadataDeleteSubnetOutput struct {
  8559. SDKShapeTraits bool `type:"structure"`
  8560. }
  8561. // String returns the string representation
  8562. func (s DeleteSubnetOutput) String() string {
  8563. return awsutil.Prettify(s)
  8564. }
  8565. // GoString returns the string representation
  8566. func (s DeleteSubnetOutput) GoString() string {
  8567. return s.String()
  8568. }
  8569. type DeleteTagsInput struct {
  8570. // Checks whether you have the required permissions for the action, without
  8571. // actually making the request, and provides an error response. If you have
  8572. // the required permissions, the error response is DryRunOperation. Otherwise,
  8573. // it is UnauthorizedOperation.
  8574. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8575. // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
  8576. // one resource ID.
  8577. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  8578. // One or more tags to delete. If you omit the value parameter, we delete the
  8579. // tag regardless of its value. If you specify this parameter with an empty
  8580. // string as the value, we delete the key only if its value is an empty string.
  8581. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  8582. metadataDeleteTagsInput `json:"-" xml:"-"`
  8583. }
  8584. type metadataDeleteTagsInput struct {
  8585. SDKShapeTraits bool `type:"structure"`
  8586. }
  8587. // String returns the string representation
  8588. func (s DeleteTagsInput) String() string {
  8589. return awsutil.Prettify(s)
  8590. }
  8591. // GoString returns the string representation
  8592. func (s DeleteTagsInput) GoString() string {
  8593. return s.String()
  8594. }
  8595. type DeleteTagsOutput struct {
  8596. metadataDeleteTagsOutput `json:"-" xml:"-"`
  8597. }
  8598. type metadataDeleteTagsOutput struct {
  8599. SDKShapeTraits bool `type:"structure"`
  8600. }
  8601. // String returns the string representation
  8602. func (s DeleteTagsOutput) String() string {
  8603. return awsutil.Prettify(s)
  8604. }
  8605. // GoString returns the string representation
  8606. func (s DeleteTagsOutput) GoString() string {
  8607. return s.String()
  8608. }
  8609. type DeleteVolumeInput struct {
  8610. // Checks whether you have the required permissions for the action, without
  8611. // actually making the request, and provides an error response. If you have
  8612. // the required permissions, the error response is DryRunOperation. Otherwise,
  8613. // it is UnauthorizedOperation.
  8614. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8615. // The ID of the volume.
  8616. VolumeId *string `type:"string" required:"true"`
  8617. metadataDeleteVolumeInput `json:"-" xml:"-"`
  8618. }
  8619. type metadataDeleteVolumeInput struct {
  8620. SDKShapeTraits bool `type:"structure"`
  8621. }
  8622. // String returns the string representation
  8623. func (s DeleteVolumeInput) String() string {
  8624. return awsutil.Prettify(s)
  8625. }
  8626. // GoString returns the string representation
  8627. func (s DeleteVolumeInput) GoString() string {
  8628. return s.String()
  8629. }
  8630. type DeleteVolumeOutput struct {
  8631. metadataDeleteVolumeOutput `json:"-" xml:"-"`
  8632. }
  8633. type metadataDeleteVolumeOutput struct {
  8634. SDKShapeTraits bool `type:"structure"`
  8635. }
  8636. // String returns the string representation
  8637. func (s DeleteVolumeOutput) String() string {
  8638. return awsutil.Prettify(s)
  8639. }
  8640. // GoString returns the string representation
  8641. func (s DeleteVolumeOutput) GoString() string {
  8642. return s.String()
  8643. }
  8644. type DeleteVpcEndpointsInput struct {
  8645. // Checks whether you have the required permissions for the action, without
  8646. // actually making the request, and provides an error response. If you have
  8647. // the required permissions, the error response is DryRunOperation. Otherwise,
  8648. // it is UnauthorizedOperation.
  8649. DryRun *bool `type:"boolean"`
  8650. // One or more endpoint IDs.
  8651. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  8652. metadataDeleteVpcEndpointsInput `json:"-" xml:"-"`
  8653. }
  8654. type metadataDeleteVpcEndpointsInput struct {
  8655. SDKShapeTraits bool `type:"structure"`
  8656. }
  8657. // String returns the string representation
  8658. func (s DeleteVpcEndpointsInput) String() string {
  8659. return awsutil.Prettify(s)
  8660. }
  8661. // GoString returns the string representation
  8662. func (s DeleteVpcEndpointsInput) GoString() string {
  8663. return s.String()
  8664. }
  8665. type DeleteVpcEndpointsOutput struct {
  8666. // Information about the endpoints that were not successfully deleted.
  8667. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  8668. metadataDeleteVpcEndpointsOutput `json:"-" xml:"-"`
  8669. }
  8670. type metadataDeleteVpcEndpointsOutput struct {
  8671. SDKShapeTraits bool `type:"structure"`
  8672. }
  8673. // String returns the string representation
  8674. func (s DeleteVpcEndpointsOutput) String() string {
  8675. return awsutil.Prettify(s)
  8676. }
  8677. // GoString returns the string representation
  8678. func (s DeleteVpcEndpointsOutput) GoString() string {
  8679. return s.String()
  8680. }
  8681. type DeleteVpcInput struct {
  8682. // Checks whether you have the required permissions for the action, without
  8683. // actually making the request, and provides an error response. If you have
  8684. // the required permissions, the error response is DryRunOperation. Otherwise,
  8685. // it is UnauthorizedOperation.
  8686. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8687. // The ID of the VPC.
  8688. VpcId *string `type:"string" required:"true"`
  8689. metadataDeleteVpcInput `json:"-" xml:"-"`
  8690. }
  8691. type metadataDeleteVpcInput struct {
  8692. SDKShapeTraits bool `type:"structure"`
  8693. }
  8694. // String returns the string representation
  8695. func (s DeleteVpcInput) String() string {
  8696. return awsutil.Prettify(s)
  8697. }
  8698. // GoString returns the string representation
  8699. func (s DeleteVpcInput) GoString() string {
  8700. return s.String()
  8701. }
  8702. type DeleteVpcOutput struct {
  8703. metadataDeleteVpcOutput `json:"-" xml:"-"`
  8704. }
  8705. type metadataDeleteVpcOutput struct {
  8706. SDKShapeTraits bool `type:"structure"`
  8707. }
  8708. // String returns the string representation
  8709. func (s DeleteVpcOutput) String() string {
  8710. return awsutil.Prettify(s)
  8711. }
  8712. // GoString returns the string representation
  8713. func (s DeleteVpcOutput) GoString() string {
  8714. return s.String()
  8715. }
  8716. type DeleteVpcPeeringConnectionInput struct {
  8717. // Checks whether you have the required permissions for the action, without
  8718. // actually making the request, and provides an error response. If you have
  8719. // the required permissions, the error response is DryRunOperation. Otherwise,
  8720. // it is UnauthorizedOperation.
  8721. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8722. // The ID of the VPC peering connection.
  8723. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  8724. metadataDeleteVpcPeeringConnectionInput `json:"-" xml:"-"`
  8725. }
  8726. type metadataDeleteVpcPeeringConnectionInput struct {
  8727. SDKShapeTraits bool `type:"structure"`
  8728. }
  8729. // String returns the string representation
  8730. func (s DeleteVpcPeeringConnectionInput) String() string {
  8731. return awsutil.Prettify(s)
  8732. }
  8733. // GoString returns the string representation
  8734. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  8735. return s.String()
  8736. }
  8737. type DeleteVpcPeeringConnectionOutput struct {
  8738. // Returns true if the request succeeds; otherwise, it returns an error.
  8739. Return *bool `locationName:"return" type:"boolean"`
  8740. metadataDeleteVpcPeeringConnectionOutput `json:"-" xml:"-"`
  8741. }
  8742. type metadataDeleteVpcPeeringConnectionOutput struct {
  8743. SDKShapeTraits bool `type:"structure"`
  8744. }
  8745. // String returns the string representation
  8746. func (s DeleteVpcPeeringConnectionOutput) String() string {
  8747. return awsutil.Prettify(s)
  8748. }
  8749. // GoString returns the string representation
  8750. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  8751. return s.String()
  8752. }
  8753. type DeleteVpnConnectionInput struct {
  8754. // Checks whether you have the required permissions for the action, without
  8755. // actually making the request, and provides an error response. If you have
  8756. // the required permissions, the error response is DryRunOperation. Otherwise,
  8757. // it is UnauthorizedOperation.
  8758. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8759. // The ID of the VPN connection.
  8760. VpnConnectionId *string `type:"string" required:"true"`
  8761. metadataDeleteVpnConnectionInput `json:"-" xml:"-"`
  8762. }
  8763. type metadataDeleteVpnConnectionInput struct {
  8764. SDKShapeTraits bool `type:"structure"`
  8765. }
  8766. // String returns the string representation
  8767. func (s DeleteVpnConnectionInput) String() string {
  8768. return awsutil.Prettify(s)
  8769. }
  8770. // GoString returns the string representation
  8771. func (s DeleteVpnConnectionInput) GoString() string {
  8772. return s.String()
  8773. }
  8774. type DeleteVpnConnectionOutput struct {
  8775. metadataDeleteVpnConnectionOutput `json:"-" xml:"-"`
  8776. }
  8777. type metadataDeleteVpnConnectionOutput struct {
  8778. SDKShapeTraits bool `type:"structure"`
  8779. }
  8780. // String returns the string representation
  8781. func (s DeleteVpnConnectionOutput) String() string {
  8782. return awsutil.Prettify(s)
  8783. }
  8784. // GoString returns the string representation
  8785. func (s DeleteVpnConnectionOutput) GoString() string {
  8786. return s.String()
  8787. }
  8788. type DeleteVpnConnectionRouteInput struct {
  8789. // The CIDR block associated with the local subnet of the customer network.
  8790. DestinationCidrBlock *string `type:"string" required:"true"`
  8791. // The ID of the VPN connection.
  8792. VpnConnectionId *string `type:"string" required:"true"`
  8793. metadataDeleteVpnConnectionRouteInput `json:"-" xml:"-"`
  8794. }
  8795. type metadataDeleteVpnConnectionRouteInput struct {
  8796. SDKShapeTraits bool `type:"structure"`
  8797. }
  8798. // String returns the string representation
  8799. func (s DeleteVpnConnectionRouteInput) String() string {
  8800. return awsutil.Prettify(s)
  8801. }
  8802. // GoString returns the string representation
  8803. func (s DeleteVpnConnectionRouteInput) GoString() string {
  8804. return s.String()
  8805. }
  8806. type DeleteVpnConnectionRouteOutput struct {
  8807. metadataDeleteVpnConnectionRouteOutput `json:"-" xml:"-"`
  8808. }
  8809. type metadataDeleteVpnConnectionRouteOutput struct {
  8810. SDKShapeTraits bool `type:"structure"`
  8811. }
  8812. // String returns the string representation
  8813. func (s DeleteVpnConnectionRouteOutput) String() string {
  8814. return awsutil.Prettify(s)
  8815. }
  8816. // GoString returns the string representation
  8817. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  8818. return s.String()
  8819. }
  8820. type DeleteVpnGatewayInput struct {
  8821. // Checks whether you have the required permissions for the action, without
  8822. // actually making the request, and provides an error response. If you have
  8823. // the required permissions, the error response is DryRunOperation. Otherwise,
  8824. // it is UnauthorizedOperation.
  8825. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8826. // The ID of the virtual private gateway.
  8827. VpnGatewayId *string `type:"string" required:"true"`
  8828. metadataDeleteVpnGatewayInput `json:"-" xml:"-"`
  8829. }
  8830. type metadataDeleteVpnGatewayInput struct {
  8831. SDKShapeTraits bool `type:"structure"`
  8832. }
  8833. // String returns the string representation
  8834. func (s DeleteVpnGatewayInput) String() string {
  8835. return awsutil.Prettify(s)
  8836. }
  8837. // GoString returns the string representation
  8838. func (s DeleteVpnGatewayInput) GoString() string {
  8839. return s.String()
  8840. }
  8841. type DeleteVpnGatewayOutput struct {
  8842. metadataDeleteVpnGatewayOutput `json:"-" xml:"-"`
  8843. }
  8844. type metadataDeleteVpnGatewayOutput struct {
  8845. SDKShapeTraits bool `type:"structure"`
  8846. }
  8847. // String returns the string representation
  8848. func (s DeleteVpnGatewayOutput) String() string {
  8849. return awsutil.Prettify(s)
  8850. }
  8851. // GoString returns the string representation
  8852. func (s DeleteVpnGatewayOutput) GoString() string {
  8853. return s.String()
  8854. }
  8855. type DeregisterImageInput struct {
  8856. // Checks whether you have the required permissions for the action, without
  8857. // actually making the request, and provides an error response. If you have
  8858. // the required permissions, the error response is DryRunOperation. Otherwise,
  8859. // it is UnauthorizedOperation.
  8860. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8861. // The ID of the AMI.
  8862. ImageId *string `type:"string" required:"true"`
  8863. metadataDeregisterImageInput `json:"-" xml:"-"`
  8864. }
  8865. type metadataDeregisterImageInput struct {
  8866. SDKShapeTraits bool `type:"structure"`
  8867. }
  8868. // String returns the string representation
  8869. func (s DeregisterImageInput) String() string {
  8870. return awsutil.Prettify(s)
  8871. }
  8872. // GoString returns the string representation
  8873. func (s DeregisterImageInput) GoString() string {
  8874. return s.String()
  8875. }
  8876. type DeregisterImageOutput struct {
  8877. metadataDeregisterImageOutput `json:"-" xml:"-"`
  8878. }
  8879. type metadataDeregisterImageOutput struct {
  8880. SDKShapeTraits bool `type:"structure"`
  8881. }
  8882. // String returns the string representation
  8883. func (s DeregisterImageOutput) String() string {
  8884. return awsutil.Prettify(s)
  8885. }
  8886. // GoString returns the string representation
  8887. func (s DeregisterImageOutput) GoString() string {
  8888. return s.String()
  8889. }
  8890. type DescribeAccountAttributesInput struct {
  8891. // One or more account attribute names.
  8892. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  8893. // Checks whether you have the required permissions for the action, without
  8894. // actually making the request, and provides an error response. If you have
  8895. // the required permissions, the error response is DryRunOperation. Otherwise,
  8896. // it is UnauthorizedOperation.
  8897. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8898. metadataDescribeAccountAttributesInput `json:"-" xml:"-"`
  8899. }
  8900. type metadataDescribeAccountAttributesInput struct {
  8901. SDKShapeTraits bool `type:"structure"`
  8902. }
  8903. // String returns the string representation
  8904. func (s DescribeAccountAttributesInput) String() string {
  8905. return awsutil.Prettify(s)
  8906. }
  8907. // GoString returns the string representation
  8908. func (s DescribeAccountAttributesInput) GoString() string {
  8909. return s.String()
  8910. }
  8911. type DescribeAccountAttributesOutput struct {
  8912. // Information about one or more account attributes.
  8913. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  8914. metadataDescribeAccountAttributesOutput `json:"-" xml:"-"`
  8915. }
  8916. type metadataDescribeAccountAttributesOutput struct {
  8917. SDKShapeTraits bool `type:"structure"`
  8918. }
  8919. // String returns the string representation
  8920. func (s DescribeAccountAttributesOutput) String() string {
  8921. return awsutil.Prettify(s)
  8922. }
  8923. // GoString returns the string representation
  8924. func (s DescribeAccountAttributesOutput) GoString() string {
  8925. return s.String()
  8926. }
  8927. type DescribeAddressesInput struct {
  8928. // [EC2-VPC] One or more allocation IDs.
  8929. //
  8930. // Default: Describes all your Elastic IP addresses.
  8931. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  8932. // Checks whether you have the required permissions for the action, without
  8933. // actually making the request, and provides an error response. If you have
  8934. // the required permissions, the error response is DryRunOperation. Otherwise,
  8935. // it is UnauthorizedOperation.
  8936. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8937. // One or more filters. Filter names and values are case-sensitive.
  8938. //
  8939. // allocation-id - [EC2-VPC] The allocation ID for the address.
  8940. //
  8941. // association-id - [EC2-VPC] The association ID for the address.
  8942. //
  8943. // domain - Indicates whether the address is for use in EC2-Classic (standard)
  8944. // or in a VPC (vpc).
  8945. //
  8946. // instance-id - The ID of the instance the address is associated with, if
  8947. // any.
  8948. //
  8949. // network-interface-id - [EC2-VPC] The ID of the network interface that
  8950. // the address is associated with, if any.
  8951. //
  8952. // network-interface-owner-id - The AWS account ID of the owner.
  8953. //
  8954. // private-ip-address - [EC2-VPC] The private IP address associated with
  8955. // the Elastic IP address.
  8956. //
  8957. // public-ip - The Elastic IP address.
  8958. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  8959. // [EC2-Classic] One or more Elastic IP addresses.
  8960. //
  8961. // Default: Describes all your Elastic IP addresses.
  8962. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  8963. metadataDescribeAddressesInput `json:"-" xml:"-"`
  8964. }
  8965. type metadataDescribeAddressesInput struct {
  8966. SDKShapeTraits bool `type:"structure"`
  8967. }
  8968. // String returns the string representation
  8969. func (s DescribeAddressesInput) String() string {
  8970. return awsutil.Prettify(s)
  8971. }
  8972. // GoString returns the string representation
  8973. func (s DescribeAddressesInput) GoString() string {
  8974. return s.String()
  8975. }
  8976. type DescribeAddressesOutput struct {
  8977. // Information about one or more Elastic IP addresses.
  8978. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  8979. metadataDescribeAddressesOutput `json:"-" xml:"-"`
  8980. }
  8981. type metadataDescribeAddressesOutput struct {
  8982. SDKShapeTraits bool `type:"structure"`
  8983. }
  8984. // String returns the string representation
  8985. func (s DescribeAddressesOutput) String() string {
  8986. return awsutil.Prettify(s)
  8987. }
  8988. // GoString returns the string representation
  8989. func (s DescribeAddressesOutput) GoString() string {
  8990. return s.String()
  8991. }
  8992. type DescribeAvailabilityZonesInput struct {
  8993. // Checks whether you have the required permissions for the action, without
  8994. // actually making the request, and provides an error response. If you have
  8995. // the required permissions, the error response is DryRunOperation. Otherwise,
  8996. // it is UnauthorizedOperation.
  8997. DryRun *bool `locationName:"dryRun" type:"boolean"`
  8998. // One or more filters.
  8999. //
  9000. // message - Information about the Availability Zone.
  9001. //
  9002. // region-name - The name of the region for the Availability Zone (for example,
  9003. // us-east-1).
  9004. //
  9005. // state - The state of the Availability Zone (available | impaired | unavailable).
  9006. //
  9007. // zone-name - The name of the Availability Zone (for example, us-east-1a).
  9008. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9009. // The names of one or more Availability Zones.
  9010. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  9011. metadataDescribeAvailabilityZonesInput `json:"-" xml:"-"`
  9012. }
  9013. type metadataDescribeAvailabilityZonesInput struct {
  9014. SDKShapeTraits bool `type:"structure"`
  9015. }
  9016. // String returns the string representation
  9017. func (s DescribeAvailabilityZonesInput) String() string {
  9018. return awsutil.Prettify(s)
  9019. }
  9020. // GoString returns the string representation
  9021. func (s DescribeAvailabilityZonesInput) GoString() string {
  9022. return s.String()
  9023. }
  9024. type DescribeAvailabilityZonesOutput struct {
  9025. // Information about one or more Availability Zones.
  9026. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  9027. metadataDescribeAvailabilityZonesOutput `json:"-" xml:"-"`
  9028. }
  9029. type metadataDescribeAvailabilityZonesOutput struct {
  9030. SDKShapeTraits bool `type:"structure"`
  9031. }
  9032. // String returns the string representation
  9033. func (s DescribeAvailabilityZonesOutput) String() string {
  9034. return awsutil.Prettify(s)
  9035. }
  9036. // GoString returns the string representation
  9037. func (s DescribeAvailabilityZonesOutput) GoString() string {
  9038. return s.String()
  9039. }
  9040. type DescribeBundleTasksInput struct {
  9041. // One or more bundle task IDs.
  9042. //
  9043. // Default: Describes all your bundle tasks.
  9044. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  9045. // Checks whether you have the required permissions for the action, without
  9046. // actually making the request, and provides an error response. If you have
  9047. // the required permissions, the error response is DryRunOperation. Otherwise,
  9048. // it is UnauthorizedOperation.
  9049. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9050. // One or more filters.
  9051. //
  9052. // bundle-id - The ID of the bundle task.
  9053. //
  9054. // error-code - If the task failed, the error code returned.
  9055. //
  9056. // error-message - If the task failed, the error message returned.
  9057. //
  9058. // instance-id - The ID of the instance.
  9059. //
  9060. // progress - The level of task completion, as a percentage (for example,
  9061. // 20%).
  9062. //
  9063. // s3-bucket - The Amazon S3 bucket to store the AMI.
  9064. //
  9065. // s3-prefix - The beginning of the AMI name.
  9066. //
  9067. // start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  9068. //
  9069. // state - The state of the task (pending | waiting-for-shutdown | bundling
  9070. // | storing | cancelling | complete | failed).
  9071. //
  9072. // update-time - The time of the most recent update for the task.
  9073. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9074. metadataDescribeBundleTasksInput `json:"-" xml:"-"`
  9075. }
  9076. type metadataDescribeBundleTasksInput struct {
  9077. SDKShapeTraits bool `type:"structure"`
  9078. }
  9079. // String returns the string representation
  9080. func (s DescribeBundleTasksInput) String() string {
  9081. return awsutil.Prettify(s)
  9082. }
  9083. // GoString returns the string representation
  9084. func (s DescribeBundleTasksInput) GoString() string {
  9085. return s.String()
  9086. }
  9087. type DescribeBundleTasksOutput struct {
  9088. // Information about one or more bundle tasks.
  9089. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  9090. metadataDescribeBundleTasksOutput `json:"-" xml:"-"`
  9091. }
  9092. type metadataDescribeBundleTasksOutput struct {
  9093. SDKShapeTraits bool `type:"structure"`
  9094. }
  9095. // String returns the string representation
  9096. func (s DescribeBundleTasksOutput) String() string {
  9097. return awsutil.Prettify(s)
  9098. }
  9099. // GoString returns the string representation
  9100. func (s DescribeBundleTasksOutput) GoString() string {
  9101. return s.String()
  9102. }
  9103. type DescribeClassicLinkInstancesInput struct {
  9104. // Checks whether you have the required permissions for the action, without
  9105. // actually making the request, and provides an error response. If you have
  9106. // the required permissions, the error response is DryRunOperation. Otherwise,
  9107. // it is UnauthorizedOperation.
  9108. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9109. // One or more filters.
  9110. //
  9111. // group-id - The ID of a VPC security group that's associated with the instance.
  9112. //
  9113. // instance-id - The ID of the instance.
  9114. //
  9115. // tag:key=value - The key/value combination of a tag assigned to the resource.
  9116. //
  9117. // tag-key - The key of a tag assigned to the resource. This filter is independent
  9118. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  9119. // and the filter "tag-value=X", you get any resources assigned both the tag
  9120. // key Purpose (regardless of what the tag's value is), and the tag value X
  9121. // (regardless of what the tag's key is). If you want to list only resources
  9122. // where Purpose is X, see the tag:key=value filter.
  9123. //
  9124. // tag-value - The value of a tag assigned to the resource. This filter is
  9125. // independent of the tag-key filter.
  9126. //
  9127. // vpc-id - The ID of the VPC that the instance is linked to.
  9128. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9129. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  9130. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  9131. // The maximum number of results to return for the request in a single page.
  9132. // The remaining results of the initial request can be seen by sending another
  9133. // request with the returned NextToken value. This value can be between 5 and
  9134. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  9135. // are returned. You cannot specify this parameter and the instance IDs parameter
  9136. // in the same request.
  9137. //
  9138. // Constraint: If the value is greater than 1000, we return only 1000 items.
  9139. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  9140. // The token to retrieve the next page of results.
  9141. NextToken *string `locationName:"nextToken" type:"string"`
  9142. metadataDescribeClassicLinkInstancesInput `json:"-" xml:"-"`
  9143. }
  9144. type metadataDescribeClassicLinkInstancesInput struct {
  9145. SDKShapeTraits bool `type:"structure"`
  9146. }
  9147. // String returns the string representation
  9148. func (s DescribeClassicLinkInstancesInput) String() string {
  9149. return awsutil.Prettify(s)
  9150. }
  9151. // GoString returns the string representation
  9152. func (s DescribeClassicLinkInstancesInput) GoString() string {
  9153. return s.String()
  9154. }
  9155. type DescribeClassicLinkInstancesOutput struct {
  9156. // Information about one or more linked EC2-Classic instances.
  9157. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  9158. // The token to use to retrieve the next page of results. This value is null
  9159. // when there are no more results to return.
  9160. NextToken *string `locationName:"nextToken" type:"string"`
  9161. metadataDescribeClassicLinkInstancesOutput `json:"-" xml:"-"`
  9162. }
  9163. type metadataDescribeClassicLinkInstancesOutput struct {
  9164. SDKShapeTraits bool `type:"structure"`
  9165. }
  9166. // String returns the string representation
  9167. func (s DescribeClassicLinkInstancesOutput) String() string {
  9168. return awsutil.Prettify(s)
  9169. }
  9170. // GoString returns the string representation
  9171. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  9172. return s.String()
  9173. }
  9174. type DescribeConversionTasksInput struct {
  9175. // One or more conversion task IDs.
  9176. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  9177. // Checks whether you have the required permissions for the action, without
  9178. // actually making the request, and provides an error response. If you have
  9179. // the required permissions, the error response is DryRunOperation. Otherwise,
  9180. // it is UnauthorizedOperation.
  9181. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9182. // One or more filters.
  9183. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  9184. metadataDescribeConversionTasksInput `json:"-" xml:"-"`
  9185. }
  9186. type metadataDescribeConversionTasksInput struct {
  9187. SDKShapeTraits bool `type:"structure"`
  9188. }
  9189. // String returns the string representation
  9190. func (s DescribeConversionTasksInput) String() string {
  9191. return awsutil.Prettify(s)
  9192. }
  9193. // GoString returns the string representation
  9194. func (s DescribeConversionTasksInput) GoString() string {
  9195. return s.String()
  9196. }
  9197. type DescribeConversionTasksOutput struct {
  9198. // Information about the conversion tasks.
  9199. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  9200. metadataDescribeConversionTasksOutput `json:"-" xml:"-"`
  9201. }
  9202. type metadataDescribeConversionTasksOutput struct {
  9203. SDKShapeTraits bool `type:"structure"`
  9204. }
  9205. // String returns the string representation
  9206. func (s DescribeConversionTasksOutput) String() string {
  9207. return awsutil.Prettify(s)
  9208. }
  9209. // GoString returns the string representation
  9210. func (s DescribeConversionTasksOutput) GoString() string {
  9211. return s.String()
  9212. }
  9213. type DescribeCustomerGatewaysInput struct {
  9214. // One or more customer gateway IDs.
  9215. //
  9216. // Default: Describes all your customer gateways.
  9217. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  9218. // Checks whether you have the required permissions for the action, without
  9219. // actually making the request, and provides an error response. If you have
  9220. // the required permissions, the error response is DryRunOperation. Otherwise,
  9221. // it is UnauthorizedOperation.
  9222. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9223. // One or more filters.
  9224. //
  9225. // bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  9226. // System Number (ASN).
  9227. //
  9228. // customer-gateway-id - The ID of the customer gateway.
  9229. //
  9230. // ip-address - The IP address of the customer gateway's Internet-routable
  9231. // external interface.
  9232. //
  9233. // state - The state of the customer gateway (pending | available | deleting
  9234. // | deleted).
  9235. //
  9236. // type - The type of customer gateway. Currently, the only supported type
  9237. // is ipsec.1.
  9238. //
  9239. // tag:key=value - The key/value combination of a tag assigned to the resource.
  9240. //
  9241. // tag-key - The key of a tag assigned to the resource. This filter is independent
  9242. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  9243. // and the filter "tag-value=X", you get any resources assigned both the tag
  9244. // key Purpose (regardless of what the tag's value is), and the tag value X
  9245. // (regardless of what the tag's key is). If you want to list only resources
  9246. // where Purpose is X, see the tag:key=value filter.
  9247. //
  9248. // tag-value - The value of a tag assigned to the resource. This filter is
  9249. // independent of the tag-key filter.
  9250. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9251. metadataDescribeCustomerGatewaysInput `json:"-" xml:"-"`
  9252. }
  9253. type metadataDescribeCustomerGatewaysInput struct {
  9254. SDKShapeTraits bool `type:"structure"`
  9255. }
  9256. // String returns the string representation
  9257. func (s DescribeCustomerGatewaysInput) String() string {
  9258. return awsutil.Prettify(s)
  9259. }
  9260. // GoString returns the string representation
  9261. func (s DescribeCustomerGatewaysInput) GoString() string {
  9262. return s.String()
  9263. }
  9264. type DescribeCustomerGatewaysOutput struct {
  9265. // Information about one or more customer gateways.
  9266. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  9267. metadataDescribeCustomerGatewaysOutput `json:"-" xml:"-"`
  9268. }
  9269. type metadataDescribeCustomerGatewaysOutput struct {
  9270. SDKShapeTraits bool `type:"structure"`
  9271. }
  9272. // String returns the string representation
  9273. func (s DescribeCustomerGatewaysOutput) String() string {
  9274. return awsutil.Prettify(s)
  9275. }
  9276. // GoString returns the string representation
  9277. func (s DescribeCustomerGatewaysOutput) GoString() string {
  9278. return s.String()
  9279. }
  9280. type DescribeDhcpOptionsInput struct {
  9281. // The IDs of one or more DHCP options sets.
  9282. //
  9283. // Default: Describes all your DHCP options sets.
  9284. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  9285. // Checks whether you have the required permissions for the action, without
  9286. // actually making the request, and provides an error response. If you have
  9287. // the required permissions, the error response is DryRunOperation. Otherwise,
  9288. // it is UnauthorizedOperation.
  9289. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9290. // One or more filters.
  9291. //
  9292. // dhcp-options-id - The ID of a set of DHCP options.
  9293. //
  9294. // key - The key for one of the options (for example, domain-name).
  9295. //
  9296. // value - The value for one of the options.
  9297. //
  9298. // tag:key=value - The key/value combination of a tag assigned to the resource.
  9299. //
  9300. // tag-key - The key of a tag assigned to the resource. This filter is independent
  9301. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  9302. // and the filter "tag-value=X", you get any resources assigned both the tag
  9303. // key Purpose (regardless of what the tag's value is), and the tag value X
  9304. // (regardless of what the tag's key is). If you want to list only resources
  9305. // where Purpose is X, see the tag:key=value filter.
  9306. //
  9307. // tag-value - The value of a tag assigned to the resource. This filter is
  9308. // independent of the tag-key filter.
  9309. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9310. metadataDescribeDhcpOptionsInput `json:"-" xml:"-"`
  9311. }
  9312. type metadataDescribeDhcpOptionsInput struct {
  9313. SDKShapeTraits bool `type:"structure"`
  9314. }
  9315. // String returns the string representation
  9316. func (s DescribeDhcpOptionsInput) String() string {
  9317. return awsutil.Prettify(s)
  9318. }
  9319. // GoString returns the string representation
  9320. func (s DescribeDhcpOptionsInput) GoString() string {
  9321. return s.String()
  9322. }
  9323. type DescribeDhcpOptionsOutput struct {
  9324. // Information about one or more DHCP options sets.
  9325. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  9326. metadataDescribeDhcpOptionsOutput `json:"-" xml:"-"`
  9327. }
  9328. type metadataDescribeDhcpOptionsOutput struct {
  9329. SDKShapeTraits bool `type:"structure"`
  9330. }
  9331. // String returns the string representation
  9332. func (s DescribeDhcpOptionsOutput) String() string {
  9333. return awsutil.Prettify(s)
  9334. }
  9335. // GoString returns the string representation
  9336. func (s DescribeDhcpOptionsOutput) GoString() string {
  9337. return s.String()
  9338. }
  9339. type DescribeExportTasksInput struct {
  9340. // One or more export task IDs.
  9341. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  9342. metadataDescribeExportTasksInput `json:"-" xml:"-"`
  9343. }
  9344. type metadataDescribeExportTasksInput struct {
  9345. SDKShapeTraits bool `type:"structure"`
  9346. }
  9347. // String returns the string representation
  9348. func (s DescribeExportTasksInput) String() string {
  9349. return awsutil.Prettify(s)
  9350. }
  9351. // GoString returns the string representation
  9352. func (s DescribeExportTasksInput) GoString() string {
  9353. return s.String()
  9354. }
  9355. type DescribeExportTasksOutput struct {
  9356. // Information about the export tasks.
  9357. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  9358. metadataDescribeExportTasksOutput `json:"-" xml:"-"`
  9359. }
  9360. type metadataDescribeExportTasksOutput struct {
  9361. SDKShapeTraits bool `type:"structure"`
  9362. }
  9363. // String returns the string representation
  9364. func (s DescribeExportTasksOutput) String() string {
  9365. return awsutil.Prettify(s)
  9366. }
  9367. // GoString returns the string representation
  9368. func (s DescribeExportTasksOutput) GoString() string {
  9369. return s.String()
  9370. }
  9371. type DescribeFlowLogsInput struct {
  9372. // One or more filters.
  9373. //
  9374. // deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  9375. //
  9376. // flow-log-id - The ID of the flow log.
  9377. //
  9378. // log-group-name - The name of the log group.
  9379. //
  9380. // resource-id - The ID of the VPC, subnet, or network interface.
  9381. //
  9382. // traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  9383. Filter []*Filter `locationNameList:"Filter" type:"list"`
  9384. // One or more flow log IDs.
  9385. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  9386. // The maximum number of results to return for the request in a single page.
  9387. // The remaining results can be seen by sending another request with the returned
  9388. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  9389. // a value larger than 1000, only 1000 results are returned. You cannot specify
  9390. // this parameter and the flow log IDs parameter in the same request.
  9391. MaxResults *int64 `type:"integer"`
  9392. // The token to retrieve the next page of results.
  9393. NextToken *string `type:"string"`
  9394. metadataDescribeFlowLogsInput `json:"-" xml:"-"`
  9395. }
  9396. type metadataDescribeFlowLogsInput struct {
  9397. SDKShapeTraits bool `type:"structure"`
  9398. }
  9399. // String returns the string representation
  9400. func (s DescribeFlowLogsInput) String() string {
  9401. return awsutil.Prettify(s)
  9402. }
  9403. // GoString returns the string representation
  9404. func (s DescribeFlowLogsInput) GoString() string {
  9405. return s.String()
  9406. }
  9407. type DescribeFlowLogsOutput struct {
  9408. // Information about the flow logs.
  9409. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  9410. // The token to use to retrieve the next page of results. This value is null
  9411. // when there are no more results to return.
  9412. NextToken *string `locationName:"nextToken" type:"string"`
  9413. metadataDescribeFlowLogsOutput `json:"-" xml:"-"`
  9414. }
  9415. type metadataDescribeFlowLogsOutput struct {
  9416. SDKShapeTraits bool `type:"structure"`
  9417. }
  9418. // String returns the string representation
  9419. func (s DescribeFlowLogsOutput) String() string {
  9420. return awsutil.Prettify(s)
  9421. }
  9422. // GoString returns the string representation
  9423. func (s DescribeFlowLogsOutput) GoString() string {
  9424. return s.String()
  9425. }
  9426. type DescribeImageAttributeInput struct {
  9427. // The AMI attribute.
  9428. //
  9429. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  9430. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  9431. // to get information about the block device mapping for the AMI.
  9432. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  9433. // Checks whether you have the required permissions for the action, without
  9434. // actually making the request, and provides an error response. If you have
  9435. // the required permissions, the error response is DryRunOperation. Otherwise,
  9436. // it is UnauthorizedOperation.
  9437. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9438. // The ID of the AMI.
  9439. ImageId *string `type:"string" required:"true"`
  9440. metadataDescribeImageAttributeInput `json:"-" xml:"-"`
  9441. }
  9442. type metadataDescribeImageAttributeInput struct {
  9443. SDKShapeTraits bool `type:"structure"`
  9444. }
  9445. // String returns the string representation
  9446. func (s DescribeImageAttributeInput) String() string {
  9447. return awsutil.Prettify(s)
  9448. }
  9449. // GoString returns the string representation
  9450. func (s DescribeImageAttributeInput) GoString() string {
  9451. return s.String()
  9452. }
  9453. // Describes an image attribute.
  9454. type DescribeImageAttributeOutput struct {
  9455. // One or more block device mapping entries.
  9456. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  9457. // A description for the AMI.
  9458. Description *AttributeValue `locationName:"description" type:"structure"`
  9459. // The ID of the AMI.
  9460. ImageId *string `locationName:"imageId" type:"string"`
  9461. // The kernel ID.
  9462. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  9463. // One or more launch permissions.
  9464. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  9465. // One or more product codes.
  9466. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  9467. // The RAM disk ID.
  9468. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  9469. // The value to use for a resource attribute.
  9470. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  9471. metadataDescribeImageAttributeOutput `json:"-" xml:"-"`
  9472. }
  9473. type metadataDescribeImageAttributeOutput struct {
  9474. SDKShapeTraits bool `type:"structure"`
  9475. }
  9476. // String returns the string representation
  9477. func (s DescribeImageAttributeOutput) String() string {
  9478. return awsutil.Prettify(s)
  9479. }
  9480. // GoString returns the string representation
  9481. func (s DescribeImageAttributeOutput) GoString() string {
  9482. return s.String()
  9483. }
  9484. type DescribeImagesInput struct {
  9485. // Checks whether you have the required permissions for the action, without
  9486. // actually making the request, and provides an error response. If you have
  9487. // the required permissions, the error response is DryRunOperation. Otherwise,
  9488. // it is UnauthorizedOperation.
  9489. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9490. // Scopes the images by users with explicit launch permissions. Specify an AWS
  9491. // account ID, self (the sender of the request), or all (public AMIs).
  9492. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  9493. // One or more filters.
  9494. //
  9495. // architecture - The image architecture (i386 | x86_64).
  9496. //
  9497. // block-device-mapping.delete-on-termination - A Boolean value that indicates
  9498. // whether the Amazon EBS volume is deleted on instance termination.
  9499. //
  9500. // block-device-mapping.device-name - The device name for the EBS volume
  9501. // (for example, /dev/sdh).
  9502. //
  9503. // block-device-mapping.snapshot-id - The ID of the snapshot used for the
  9504. // EBS volume.
  9505. //
  9506. // block-device-mapping.volume-size - The volume size of the EBS volume,
  9507. // in GiB.
  9508. //
  9509. // block-device-mapping.volume-type - The volume type of the EBS volume (gp2
  9510. // | standard | io1).
  9511. //
  9512. // description - The description of the image (provided during image creation).
  9513. //
  9514. // hypervisor - The hypervisor type (ovm | xen).
  9515. //
  9516. // image-id - The ID of the image.
  9517. //
  9518. // image-type - The image type (machine | kernel | ramdisk).
  9519. //
  9520. // is-public - A Boolean that indicates whether the image is public.
  9521. //
  9522. // kernel-id - The kernel ID.
  9523. //
  9524. // manifest-location - The location of the image manifest.
  9525. //
  9526. // name - The name of the AMI (provided during image creation).
  9527. //
  9528. // owner-alias - The AWS account alias (for example, amazon).
  9529. //
  9530. // owner-id - The AWS account ID of the image owner.
  9531. //
  9532. // platform - The platform. To only list Windows-based AMIs, use windows.
  9533. //
  9534. // product-code - The product code.
  9535. //
  9536. // product-code.type - The type of the product code (devpay | marketplace).
  9537. //
  9538. // ramdisk-id - The RAM disk ID.
  9539. //
  9540. // root-device-name - The name of the root device volume (for example, /dev/sda1).
  9541. //
  9542. // root-device-type - The type of the root device volume (ebs | instance-store).
  9543. //
  9544. // state - The state of the image (available | pending | failed).
  9545. //
  9546. // state-reason-code - The reason code for the state change.
  9547. //
  9548. // state-reason-message - The message for the state change.
  9549. //
  9550. // tag:key=value - The key/value combination of a tag assigned to the resource.
  9551. //
  9552. // tag-key - The key of a tag assigned to the resource. This filter is independent
  9553. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  9554. // and the filter "tag-value=X", you get any resources assigned both the tag
  9555. // key Purpose (regardless of what the tag's value is), and the tag value X
  9556. // (regardless of what the tag's key is). If you want to list only resources
  9557. // where Purpose is X, see the tag:key=value filter.
  9558. //
  9559. // tag-value - The value of a tag assigned to the resource. This filter is
  9560. // independent of the tag-key filter.
  9561. //
  9562. // virtualization-type - The virtualization type (paravirtual | hvm).
  9563. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9564. // One or more image IDs.
  9565. //
  9566. // Default: Describes all images available to you.
  9567. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  9568. // Filters the images by the owner. Specify an AWS account ID, amazon (owner
  9569. // is Amazon), aws-marketplace (owner is AWS Marketplace), self (owner is the
  9570. // sender of the request). Omitting this option returns all images for which
  9571. // you have launch permissions, regardless of ownership.
  9572. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  9573. metadataDescribeImagesInput `json:"-" xml:"-"`
  9574. }
  9575. type metadataDescribeImagesInput struct {
  9576. SDKShapeTraits bool `type:"structure"`
  9577. }
  9578. // String returns the string representation
  9579. func (s DescribeImagesInput) String() string {
  9580. return awsutil.Prettify(s)
  9581. }
  9582. // GoString returns the string representation
  9583. func (s DescribeImagesInput) GoString() string {
  9584. return s.String()
  9585. }
  9586. type DescribeImagesOutput struct {
  9587. // Information about one or more images.
  9588. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  9589. metadataDescribeImagesOutput `json:"-" xml:"-"`
  9590. }
  9591. type metadataDescribeImagesOutput struct {
  9592. SDKShapeTraits bool `type:"structure"`
  9593. }
  9594. // String returns the string representation
  9595. func (s DescribeImagesOutput) String() string {
  9596. return awsutil.Prettify(s)
  9597. }
  9598. // GoString returns the string representation
  9599. func (s DescribeImagesOutput) GoString() string {
  9600. return s.String()
  9601. }
  9602. type DescribeImportImageTasksInput struct {
  9603. // Checks whether you have the required permissions for the action, without
  9604. // actually making the request, and provides an error response. If you have
  9605. // the required permissions, the error response is DryRunOperation. Otherwise,
  9606. // it is UnauthorizedOperation.
  9607. DryRun *bool `type:"boolean"`
  9608. // One or more filters.
  9609. Filters []*Filter `locationNameList:"Filter" type:"list"`
  9610. // A list of import image task IDs.
  9611. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  9612. // The maximum number of results to return in a single request.
  9613. MaxResults *int64 `type:"integer"`
  9614. // A token that indicates the next page of results.
  9615. NextToken *string `type:"string"`
  9616. metadataDescribeImportImageTasksInput `json:"-" xml:"-"`
  9617. }
  9618. type metadataDescribeImportImageTasksInput struct {
  9619. SDKShapeTraits bool `type:"structure"`
  9620. }
  9621. // String returns the string representation
  9622. func (s DescribeImportImageTasksInput) String() string {
  9623. return awsutil.Prettify(s)
  9624. }
  9625. // GoString returns the string representation
  9626. func (s DescribeImportImageTasksInput) GoString() string {
  9627. return s.String()
  9628. }
  9629. type DescribeImportImageTasksOutput struct {
  9630. // A list of zero or more import image tasks that are currently active or were
  9631. // completed or canceled in the previous 7 days.
  9632. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  9633. // The token to use to get the next page of results. This value is null when
  9634. // there are no more results to return.
  9635. NextToken *string `locationName:"nextToken" type:"string"`
  9636. metadataDescribeImportImageTasksOutput `json:"-" xml:"-"`
  9637. }
  9638. type metadataDescribeImportImageTasksOutput struct {
  9639. SDKShapeTraits bool `type:"structure"`
  9640. }
  9641. // String returns the string representation
  9642. func (s DescribeImportImageTasksOutput) String() string {
  9643. return awsutil.Prettify(s)
  9644. }
  9645. // GoString returns the string representation
  9646. func (s DescribeImportImageTasksOutput) GoString() string {
  9647. return s.String()
  9648. }
  9649. type DescribeImportSnapshotTasksInput struct {
  9650. // Checks whether you have the required permissions for the action, without
  9651. // actually making the request, and provides an error response. If you have
  9652. // the required permissions, the error response is DryRunOperation. Otherwise,
  9653. // it is UnauthorizedOperation.
  9654. DryRun *bool `type:"boolean"`
  9655. // One or more filters.
  9656. Filters []*Filter `locationNameList:"Filter" type:"list"`
  9657. // A list of import snapshot task IDs.
  9658. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  9659. // The maximum number of results to return in a single request.
  9660. MaxResults *int64 `type:"integer"`
  9661. // A token that indicates the next page of results.
  9662. NextToken *string `type:"string"`
  9663. metadataDescribeImportSnapshotTasksInput `json:"-" xml:"-"`
  9664. }
  9665. type metadataDescribeImportSnapshotTasksInput struct {
  9666. SDKShapeTraits bool `type:"structure"`
  9667. }
  9668. // String returns the string representation
  9669. func (s DescribeImportSnapshotTasksInput) String() string {
  9670. return awsutil.Prettify(s)
  9671. }
  9672. // GoString returns the string representation
  9673. func (s DescribeImportSnapshotTasksInput) GoString() string {
  9674. return s.String()
  9675. }
  9676. type DescribeImportSnapshotTasksOutput struct {
  9677. // A list of zero or more import snapshot tasks that are currently active or
  9678. // were completed or canceled in the previous 7 days.
  9679. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  9680. // The token to use to get the next page of results. This value is null when
  9681. // there are no more results to return.
  9682. NextToken *string `locationName:"nextToken" type:"string"`
  9683. metadataDescribeImportSnapshotTasksOutput `json:"-" xml:"-"`
  9684. }
  9685. type metadataDescribeImportSnapshotTasksOutput struct {
  9686. SDKShapeTraits bool `type:"structure"`
  9687. }
  9688. // String returns the string representation
  9689. func (s DescribeImportSnapshotTasksOutput) String() string {
  9690. return awsutil.Prettify(s)
  9691. }
  9692. // GoString returns the string representation
  9693. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  9694. return s.String()
  9695. }
  9696. type DescribeInstanceAttributeInput struct {
  9697. // The instance attribute.
  9698. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  9699. // Checks whether you have the required permissions for the action, without
  9700. // actually making the request, and provides an error response. If you have
  9701. // the required permissions, the error response is DryRunOperation. Otherwise,
  9702. // it is UnauthorizedOperation.
  9703. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9704. // The ID of the instance.
  9705. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  9706. metadataDescribeInstanceAttributeInput `json:"-" xml:"-"`
  9707. }
  9708. type metadataDescribeInstanceAttributeInput struct {
  9709. SDKShapeTraits bool `type:"structure"`
  9710. }
  9711. // String returns the string representation
  9712. func (s DescribeInstanceAttributeInput) String() string {
  9713. return awsutil.Prettify(s)
  9714. }
  9715. // GoString returns the string representation
  9716. func (s DescribeInstanceAttributeInput) GoString() string {
  9717. return s.String()
  9718. }
  9719. // Describes an instance attribute.
  9720. type DescribeInstanceAttributeOutput struct {
  9721. // The block device mapping of the instance.
  9722. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  9723. // If the value is true, you can't terminate the instance through the Amazon
  9724. // EC2 console, CLI, or API; otherwise, you can.
  9725. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  9726. // Indicates whether the instance is optimized for EBS I/O.
  9727. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  9728. // The security groups associated with the instance.
  9729. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  9730. // The ID of the instance.
  9731. InstanceId *string `locationName:"instanceId" type:"string"`
  9732. // Indicates whether an instance stops or terminates when you initiate shutdown
  9733. // from the instance (using the operating system command for system shutdown).
  9734. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  9735. // The instance type.
  9736. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  9737. // The kernel ID.
  9738. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  9739. // A list of product codes.
  9740. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  9741. // The RAM disk ID.
  9742. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  9743. // The name of the root device (for example, /dev/sda1 or /dev/xvda).
  9744. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  9745. // Indicates whether source/destination checking is enabled. A value of true
  9746. // means checking is enabled, and false means checking is disabled. This value
  9747. // must be false for a NAT instance to perform NAT.
  9748. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  9749. // The value to use for a resource attribute.
  9750. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  9751. // The Base64-encoded MIME user data.
  9752. UserData *AttributeValue `locationName:"userData" type:"structure"`
  9753. metadataDescribeInstanceAttributeOutput `json:"-" xml:"-"`
  9754. }
  9755. type metadataDescribeInstanceAttributeOutput struct {
  9756. SDKShapeTraits bool `type:"structure"`
  9757. }
  9758. // String returns the string representation
  9759. func (s DescribeInstanceAttributeOutput) String() string {
  9760. return awsutil.Prettify(s)
  9761. }
  9762. // GoString returns the string representation
  9763. func (s DescribeInstanceAttributeOutput) GoString() string {
  9764. return s.String()
  9765. }
  9766. type DescribeInstanceStatusInput struct {
  9767. // Checks whether you have the required permissions for the action, without
  9768. // actually making the request, and provides an error response. If you have
  9769. // the required permissions, the error response is DryRunOperation. Otherwise,
  9770. // it is UnauthorizedOperation.
  9771. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9772. // One or more filters.
  9773. //
  9774. // availability-zone - The Availability Zone of the instance.
  9775. //
  9776. // event.code - The code for the scheduled event (instance-reboot | system-reboot
  9777. // | system-maintenance | instance-retirement | instance-stop).
  9778. //
  9779. // event.description - A description of the event.
  9780. //
  9781. // event.not-after - The latest end time for the scheduled event (for example,
  9782. // 2014-09-15T17:15:20.000Z).
  9783. //
  9784. // event.not-before - The earliest start time for the scheduled event (for
  9785. // example, 2014-09-15T17:15:20.000Z).
  9786. //
  9787. // instance-state-code - The code for the instance state, as a 16-bit unsigned
  9788. // integer. The high byte is an opaque internal value and should be ignored.
  9789. // The low byte is set based on the state represented. The valid values are
  9790. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  9791. // and 80 (stopped).
  9792. //
  9793. // instance-state-name - The state of the instance (pending | running | shutting-down
  9794. // | terminated | stopping | stopped).
  9795. //
  9796. // instance-status.reachability - Filters on instance status where the name
  9797. // is reachability (passed | failed | initializing | insufficient-data).
  9798. //
  9799. // instance-status.status - The status of the instance (ok | impaired | initializing
  9800. // | insufficient-data | not-applicable).
  9801. //
  9802. // system-status.reachability - Filters on system status where the name is
  9803. // reachability (passed | failed | initializing | insufficient-data).
  9804. //
  9805. // system-status.status - The system status of the instance (ok | impaired
  9806. // | initializing | insufficient-data | not-applicable).
  9807. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  9808. // When true, includes the health status for all instances. When false, includes
  9809. // the health status for running instances only.
  9810. //
  9811. // Default: false
  9812. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  9813. // One or more instance IDs.
  9814. //
  9815. // Default: Describes all your instances.
  9816. //
  9817. // Constraints: Maximum 100 explicitly specified instance IDs.
  9818. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  9819. // The maximum number of results to return for the request in a single page.
  9820. // The remaining results of the initial request can be seen by sending another
  9821. // request with the returned NextToken value. This value can be between 5 and
  9822. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  9823. // are returned. You cannot specify this parameter and the instance IDs parameter
  9824. // in the same request.
  9825. MaxResults *int64 `type:"integer"`
  9826. // The token to retrieve the next page of results.
  9827. NextToken *string `type:"string"`
  9828. metadataDescribeInstanceStatusInput `json:"-" xml:"-"`
  9829. }
  9830. type metadataDescribeInstanceStatusInput struct {
  9831. SDKShapeTraits bool `type:"structure"`
  9832. }
  9833. // String returns the string representation
  9834. func (s DescribeInstanceStatusInput) String() string {
  9835. return awsutil.Prettify(s)
  9836. }
  9837. // GoString returns the string representation
  9838. func (s DescribeInstanceStatusInput) GoString() string {
  9839. return s.String()
  9840. }
  9841. type DescribeInstanceStatusOutput struct {
  9842. // One or more instance status descriptions.
  9843. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  9844. // The token to use to retrieve the next page of results. This value is null
  9845. // when there are no more results to return.
  9846. NextToken *string `locationName:"nextToken" type:"string"`
  9847. metadataDescribeInstanceStatusOutput `json:"-" xml:"-"`
  9848. }
  9849. type metadataDescribeInstanceStatusOutput struct {
  9850. SDKShapeTraits bool `type:"structure"`
  9851. }
  9852. // String returns the string representation
  9853. func (s DescribeInstanceStatusOutput) String() string {
  9854. return awsutil.Prettify(s)
  9855. }
  9856. // GoString returns the string representation
  9857. func (s DescribeInstanceStatusOutput) GoString() string {
  9858. return s.String()
  9859. }
  9860. type DescribeInstancesInput struct {
  9861. // Checks whether you have the required permissions for the action, without
  9862. // actually making the request, and provides an error response. If you have
  9863. // the required permissions, the error response is DryRunOperation. Otherwise,
  9864. // it is UnauthorizedOperation.
  9865. DryRun *bool `locationName:"dryRun" type:"boolean"`
  9866. // One or more filters.
  9867. //
  9868. // architecture - The instance architecture (i386 | x86_64).
  9869. //
  9870. // availability-zone - The Availability Zone of the instance.
  9871. //
  9872. // block-device-mapping.attach-time - The attach time for an EBS volume mapped
  9873. // to the instance, for example, 2010-09-15T17:15:20.000Z.
  9874. //
  9875. // block-device-mapping.delete-on-termination - A Boolean that indicates
  9876. // whether the EBS volume is deleted on instance termination.
  9877. //
  9878. // block-device-mapping.device-name - The device name for the EBS volume
  9879. // (for example, /dev/sdh or xvdh).
  9880. //
  9881. // block-device-mapping.status - The status for the EBS volume (attaching
  9882. // | attached | detaching | detached).
  9883. //
  9884. // block-device-mapping.volume-id - The volume ID of the EBS volume.
  9885. //
  9886. // client-token - The idempotency token you provided when you launched the
  9887. // instance.
  9888. //
  9889. // dns-name - The public DNS name of the instance.
  9890. //
  9891. // group-id - The ID of the security group for the instance. EC2-Classic
  9892. // only.
  9893. //
  9894. // group-name - The name of the security group for the instance. EC2-Classic
  9895. // only.
  9896. //
  9897. // hypervisor - The hypervisor type of the instance (ovm | xen).
  9898. //
  9899. // iam-instance-profile.arn - The instance profile associated with the instance.
  9900. // Specified as an ARN.
  9901. //
  9902. // image-id - The ID of the image used to launch the instance.
  9903. //
  9904. // instance-id - The ID of the instance.
  9905. //
  9906. // instance-lifecycle - Indicates whether this is a Spot Instance (spot).
  9907. //
  9908. // instance-state-code - The state of the instance, as a 16-bit unsigned
  9909. // integer. The high byte is an opaque internal value and should be ignored.
  9910. // The low byte is set based on the state represented. The valid values are:
  9911. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  9912. // and 80 (stopped).
  9913. //
  9914. // instance-state-name - The state of the instance (pending | running | shutting-down
  9915. // | terminated | stopping | stopped).
  9916. //
  9917. // instance-type - The type of instance (for example, t2.micro).
  9918. //
  9919. // instance.group-id - The ID of the security group for the instance.
  9920. //
  9921. // instance.group-name - The name of the security group for the instance.
  9922. //
  9923. // ip-address - The public IP address of the instance.
  9924. //
  9925. // kernel-id - The kernel ID.
  9926. //
  9927. // key-name - The name of the key pair used when the instance was launched.
  9928. //
  9929. // launch-index - When launching multiple instances, this is the index for
  9930. // the instance in the launch group (for example, 0, 1, 2, and so on).
  9931. //
  9932. // launch-time - The time when the instance was launched.
  9933. //
  9934. // monitoring-state - Indicates whether monitoring is enabled for the instance
  9935. // (disabled | enabled).
  9936. //
  9937. // owner-id - The AWS account ID of the instance owner.
  9938. //
  9939. // placement-group-name - The name of the placement group for the instance.
  9940. //
  9941. // platform - The platform. Use windows if you have Windows instances; otherwise,
  9942. // leave blank.
  9943. //
  9944. // private-dns-name - The private DNS name of the instance.
  9945. //
  9946. // private-ip-address - The private IP address of the instance.
  9947. //
  9948. // product-code - The product code associated with the AMI used to launch
  9949. // the instance.
  9950. //
  9951. // product-code.type - The type of product code (devpay | marketplace).
  9952. //
  9953. // ramdisk-id - The RAM disk ID.
  9954. //
  9955. // reason - The reason for the current state of the instance (for example,
  9956. // shows "User Initiated [date]" when you stop or terminate the instance). Similar
  9957. // to the state-reason-code filter.
  9958. //
  9959. // requester-id - The ID of the entity that launched the instance on your
  9960. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  9961. //
  9962. // reservation-id - The ID of the instance's reservation. A reservation ID
  9963. // is created any time you launch an instance. A reservation ID has a one-to-one
  9964. // relationship with an instance launch request, but can be associated with
  9965. // more than one instance if you launch multiple instances using the same launch
  9966. // request. For example, if you launch one instance, you'll get one reservation
  9967. // ID. If you launch ten instances using the same launch request, you'll also
  9968. // get one reservation ID.
  9969. //
  9970. // root-device-name - The name of the root device for the instance (for example,
  9971. // /dev/sda1 or /dev/xvda).
  9972. //
  9973. // root-device-type - The type of root device that the instance uses (ebs
  9974. // | instance-store).
  9975. //
  9976. // source-dest-check - Indicates whether the instance performs source/destination
  9977. // checking. A value of true means that checking is enabled, and false means
  9978. // checking is disabled. The value must be false for the instance to perform
  9979. // network address translation (NAT) in your VPC.
  9980. //
  9981. // spot-instance-request-id - The ID of the Spot Instance request.
  9982. //
  9983. // state-reason-code - The reason code for the state change.
  9984. //
  9985. // state-reason-message - A message that describes the state change.
  9986. //
  9987. // subnet-id - The ID of the subnet for the instance.
  9988. //
  9989. // tag:key=value - The key/value combination of a tag assigned to the resource,
  9990. // where tag:key is the tag's key.
  9991. //
  9992. // tag-key - The key of a tag assigned to the resource. This filter is independent
  9993. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  9994. // and the filter "tag-value=X", you get any resources assigned both the tag
  9995. // key Purpose (regardless of what the tag's value is), and the tag value X
  9996. // (regardless of what the tag's key is). If you want to list only resources
  9997. // where Purpose is X, see the tag:key=value filter.
  9998. //
  9999. // tag-value - The value of a tag assigned to the resource. This filter is
  10000. // independent of the tag-key filter.
  10001. //
  10002. // tenancy - The tenancy of an instance (dedicated | default).
  10003. //
  10004. // virtualization-type - The virtualization type of the instance (paravirtual
  10005. // | hvm).
  10006. //
  10007. // vpc-id - The ID of the VPC that the instance is running in.
  10008. //
  10009. // network-interface.description - The description of the network interface.
  10010. //
  10011. // network-interface.subnet-id - The ID of the subnet for the network interface.
  10012. //
  10013. // network-interface.vpc-id - The ID of the VPC for the network interface.
  10014. //
  10015. // network-interface.network-interface.id - The ID of the network interface.
  10016. //
  10017. // network-interface.owner-id - The ID of the owner of the network interface.
  10018. //
  10019. // network-interface.availability-zone - The Availability Zone for the network
  10020. // interface.
  10021. //
  10022. // network-interface.requester-id - The requester ID for the network interface.
  10023. //
  10024. // network-interface.requester-managed - Indicates whether the network interface
  10025. // is being managed by AWS.
  10026. //
  10027. // network-interface.status - The status of the network interface (available)
  10028. // | in-use).
  10029. //
  10030. // network-interface.mac-address - The MAC address of the network interface.
  10031. //
  10032. // network-interface-private-dns-name - The private DNS name of the network
  10033. // interface.
  10034. //
  10035. // network-interface.source-dest-check - Whether the network interface performs
  10036. // source/destination checking. A value of true means checking is enabled, and
  10037. // false means checking is disabled. The value must be false for the network
  10038. // interface to perform network address translation (NAT) in your VPC.
  10039. //
  10040. // network-interface.group-id - The ID of a security group associated with
  10041. // the network interface.
  10042. //
  10043. // network-interface.group-name - The name of a security group associated
  10044. // with the network interface.
  10045. //
  10046. // network-interface.attachment.attachment-id - The ID of the interface attachment.
  10047. //
  10048. // network-interface.attachment.instance-id - The ID of the instance to which
  10049. // the network interface is attached.
  10050. //
  10051. // network-interface.attachment.instance-owner-id - The owner ID of the instance
  10052. // to which the network interface is attached.
  10053. //
  10054. // network-interface.addresses.private-ip-address - The private IP address
  10055. // associated with the network interface.
  10056. //
  10057. // network-interface.attachment.device-index - The device index to which
  10058. // the network interface is attached.
  10059. //
  10060. // network-interface.attachment.status - The status of the attachment (attaching
  10061. // | attached | detaching | detached).
  10062. //
  10063. // network-interface.attachment.attach-time - The time that the network interface
  10064. // was attached to an instance.
  10065. //
  10066. // network-interface.attachment.delete-on-termination - Specifies whether
  10067. // the attachment is deleted when an instance is terminated.
  10068. //
  10069. // network-interface.addresses.primary - Specifies whether the IP address
  10070. // of the network interface is the primary private IP address.
  10071. //
  10072. // network-interface.addresses.association.public-ip - The ID of the association
  10073. // of an Elastic IP address with a network interface.
  10074. //
  10075. // network-interface.addresses.association.ip-owner-id - The owner ID of
  10076. // the private IP address associated with the network interface.
  10077. //
  10078. // association.public-ip - The address of the Elastic IP address bound to
  10079. // the network interface.
  10080. //
  10081. // association.ip-owner-id - The owner of the Elastic IP address associated
  10082. // with the network interface.
  10083. //
  10084. // association.allocation-id - The allocation ID returned when you allocated
  10085. // the Elastic IP address for your network interface.
  10086. //
  10087. // association.association-id - The association ID returned when the network
  10088. // interface was associated with an IP address.
  10089. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10090. // One or more instance IDs.
  10091. //
  10092. // Default: Describes all your instances.
  10093. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  10094. // The maximum number of results to return for the request in a single page.
  10095. // The remaining results of the initial request can be seen by sending another
  10096. // request with the returned NextToken value. This value can be between 5 and
  10097. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  10098. // are returned. You cannot specify this parameter and the instance IDs parameter
  10099. // in the same request.
  10100. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  10101. // The token to request the next page of results.
  10102. NextToken *string `locationName:"nextToken" type:"string"`
  10103. metadataDescribeInstancesInput `json:"-" xml:"-"`
  10104. }
  10105. type metadataDescribeInstancesInput struct {
  10106. SDKShapeTraits bool `type:"structure"`
  10107. }
  10108. // String returns the string representation
  10109. func (s DescribeInstancesInput) String() string {
  10110. return awsutil.Prettify(s)
  10111. }
  10112. // GoString returns the string representation
  10113. func (s DescribeInstancesInput) GoString() string {
  10114. return s.String()
  10115. }
  10116. type DescribeInstancesOutput struct {
  10117. // The token to use to retrieve the next page of results. This value is null
  10118. // when there are no more results to return.
  10119. NextToken *string `locationName:"nextToken" type:"string"`
  10120. // One or more reservations.
  10121. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  10122. metadataDescribeInstancesOutput `json:"-" xml:"-"`
  10123. }
  10124. type metadataDescribeInstancesOutput struct {
  10125. SDKShapeTraits bool `type:"structure"`
  10126. }
  10127. // String returns the string representation
  10128. func (s DescribeInstancesOutput) String() string {
  10129. return awsutil.Prettify(s)
  10130. }
  10131. // GoString returns the string representation
  10132. func (s DescribeInstancesOutput) GoString() string {
  10133. return s.String()
  10134. }
  10135. type DescribeInternetGatewaysInput struct {
  10136. // Checks whether you have the required permissions for the action, without
  10137. // actually making the request, and provides an error response. If you have
  10138. // the required permissions, the error response is DryRunOperation. Otherwise,
  10139. // it is UnauthorizedOperation.
  10140. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10141. // One or more filters.
  10142. //
  10143. // attachment.state - The current state of the attachment between the gateway
  10144. // and the VPC (available). Present only if a VPC is attached.
  10145. //
  10146. // attachment.vpc-id - The ID of an attached VPC.
  10147. //
  10148. // internet-gateway-id - The ID of the Internet gateway.
  10149. //
  10150. // tag:key=value - The key/value combination of a tag assigned to the resource.
  10151. //
  10152. // tag-key - The key of a tag assigned to the resource. This filter is independent
  10153. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  10154. // and the filter "tag-value=X", you get any resources assigned both the tag
  10155. // key Purpose (regardless of what the tag's value is), and the tag value X
  10156. // (regardless of what the tag's key is). If you want to list only resources
  10157. // where Purpose is X, see the tag:key=value filter.
  10158. //
  10159. // tag-value - The value of a tag assigned to the resource. This filter is
  10160. // independent of the tag-key filter.
  10161. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10162. // One or more Internet gateway IDs.
  10163. //
  10164. // Default: Describes all your Internet gateways.
  10165. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  10166. metadataDescribeInternetGatewaysInput `json:"-" xml:"-"`
  10167. }
  10168. type metadataDescribeInternetGatewaysInput struct {
  10169. SDKShapeTraits bool `type:"structure"`
  10170. }
  10171. // String returns the string representation
  10172. func (s DescribeInternetGatewaysInput) String() string {
  10173. return awsutil.Prettify(s)
  10174. }
  10175. // GoString returns the string representation
  10176. func (s DescribeInternetGatewaysInput) GoString() string {
  10177. return s.String()
  10178. }
  10179. type DescribeInternetGatewaysOutput struct {
  10180. // Information about one or more Internet gateways.
  10181. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  10182. metadataDescribeInternetGatewaysOutput `json:"-" xml:"-"`
  10183. }
  10184. type metadataDescribeInternetGatewaysOutput struct {
  10185. SDKShapeTraits bool `type:"structure"`
  10186. }
  10187. // String returns the string representation
  10188. func (s DescribeInternetGatewaysOutput) String() string {
  10189. return awsutil.Prettify(s)
  10190. }
  10191. // GoString returns the string representation
  10192. func (s DescribeInternetGatewaysOutput) GoString() string {
  10193. return s.String()
  10194. }
  10195. type DescribeKeyPairsInput struct {
  10196. // Checks whether you have the required permissions for the action, without
  10197. // actually making the request, and provides an error response. If you have
  10198. // the required permissions, the error response is DryRunOperation. Otherwise,
  10199. // it is UnauthorizedOperation.
  10200. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10201. // One or more filters.
  10202. //
  10203. // fingerprint - The fingerprint of the key pair.
  10204. //
  10205. // key-name - The name of the key pair.
  10206. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10207. // One or more key pair names.
  10208. //
  10209. // Default: Describes all your key pairs.
  10210. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  10211. metadataDescribeKeyPairsInput `json:"-" xml:"-"`
  10212. }
  10213. type metadataDescribeKeyPairsInput struct {
  10214. SDKShapeTraits bool `type:"structure"`
  10215. }
  10216. // String returns the string representation
  10217. func (s DescribeKeyPairsInput) String() string {
  10218. return awsutil.Prettify(s)
  10219. }
  10220. // GoString returns the string representation
  10221. func (s DescribeKeyPairsInput) GoString() string {
  10222. return s.String()
  10223. }
  10224. type DescribeKeyPairsOutput struct {
  10225. // Information about one or more key pairs.
  10226. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  10227. metadataDescribeKeyPairsOutput `json:"-" xml:"-"`
  10228. }
  10229. type metadataDescribeKeyPairsOutput struct {
  10230. SDKShapeTraits bool `type:"structure"`
  10231. }
  10232. // String returns the string representation
  10233. func (s DescribeKeyPairsOutput) String() string {
  10234. return awsutil.Prettify(s)
  10235. }
  10236. // GoString returns the string representation
  10237. func (s DescribeKeyPairsOutput) GoString() string {
  10238. return s.String()
  10239. }
  10240. type DescribeMovingAddressesInput struct {
  10241. // Checks whether you have the required permissions for the action, without
  10242. // actually making the request, and provides an error response. If you have
  10243. // the required permissions, the error response is DryRunOperation. Otherwise,
  10244. // it is UnauthorizedOperation.
  10245. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10246. // One or more filters.
  10247. //
  10248. // moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).
  10249. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  10250. // The maximum number of results to return for the request in a single page.
  10251. // The remaining results of the initial request can be seen by sending another
  10252. // request with the returned NextToken value. This value can be between 5 and
  10253. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  10254. //
  10255. // Default: If no value is provided, the default is 1000.
  10256. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  10257. // The token to use to retrieve the next page of results.
  10258. NextToken *string `locationName:"nextToken" type:"string"`
  10259. // One or more Elastic IP addresses.
  10260. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  10261. metadataDescribeMovingAddressesInput `json:"-" xml:"-"`
  10262. }
  10263. type metadataDescribeMovingAddressesInput struct {
  10264. SDKShapeTraits bool `type:"structure"`
  10265. }
  10266. // String returns the string representation
  10267. func (s DescribeMovingAddressesInput) String() string {
  10268. return awsutil.Prettify(s)
  10269. }
  10270. // GoString returns the string representation
  10271. func (s DescribeMovingAddressesInput) GoString() string {
  10272. return s.String()
  10273. }
  10274. type DescribeMovingAddressesOutput struct {
  10275. // The status for each Elastic IP address.
  10276. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  10277. // The token to use to retrieve the next page of results. This value is null
  10278. // when there are no more results to return.
  10279. NextToken *string `locationName:"nextToken" type:"string"`
  10280. metadataDescribeMovingAddressesOutput `json:"-" xml:"-"`
  10281. }
  10282. type metadataDescribeMovingAddressesOutput struct {
  10283. SDKShapeTraits bool `type:"structure"`
  10284. }
  10285. // String returns the string representation
  10286. func (s DescribeMovingAddressesOutput) String() string {
  10287. return awsutil.Prettify(s)
  10288. }
  10289. // GoString returns the string representation
  10290. func (s DescribeMovingAddressesOutput) GoString() string {
  10291. return s.String()
  10292. }
  10293. type DescribeNetworkAclsInput struct {
  10294. // Checks whether you have the required permissions for the action, without
  10295. // actually making the request, and provides an error response. If you have
  10296. // the required permissions, the error response is DryRunOperation. Otherwise,
  10297. // it is UnauthorizedOperation.
  10298. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10299. // One or more filters.
  10300. //
  10301. // association.association-id - The ID of an association ID for the ACL.
  10302. //
  10303. // association.network-acl-id - The ID of the network ACL involved in the
  10304. // association.
  10305. //
  10306. // association.subnet-id - The ID of the subnet involved in the association.
  10307. //
  10308. // default - Indicates whether the ACL is the default network ACL for the
  10309. // VPC.
  10310. //
  10311. // entry.cidr - The CIDR range specified in the entry.
  10312. //
  10313. // entry.egress - Indicates whether the entry applies to egress traffic.
  10314. //
  10315. // entry.icmp.code - The ICMP code specified in the entry, if any.
  10316. //
  10317. // entry.icmp.type - The ICMP type specified in the entry, if any.
  10318. //
  10319. // entry.port-range.from - The start of the port range specified in the entry.
  10320. //
  10321. // entry.port-range.to - The end of the port range specified in the entry.
  10322. //
  10323. // entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  10324. // or a protocol number).
  10325. //
  10326. // entry.rule-action - Allows or denies the matching traffic (allow | deny).
  10327. //
  10328. // entry.rule-number - The number of an entry (in other words, rule) in the
  10329. // ACL's set of entries.
  10330. //
  10331. // network-acl-id - The ID of the network ACL.
  10332. //
  10333. // tag:key=value - The key/value combination of a tag assigned to the resource.
  10334. //
  10335. // tag-key - The key of a tag assigned to the resource. This filter is independent
  10336. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  10337. // and the filter "tag-value=X", you get any resources assigned both the tag
  10338. // key Purpose (regardless of what the tag's value is), and the tag value X
  10339. // (regardless of what the tag's key is). If you want to list only resources
  10340. // where Purpose is X, see the tag:key=value filter.
  10341. //
  10342. // tag-value - The value of a tag assigned to the resource. This filter is
  10343. // independent of the tag-key filter.
  10344. //
  10345. // vpc-id - The ID of the VPC for the network ACL.
  10346. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10347. // One or more network ACL IDs.
  10348. //
  10349. // Default: Describes all your network ACLs.
  10350. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  10351. metadataDescribeNetworkAclsInput `json:"-" xml:"-"`
  10352. }
  10353. type metadataDescribeNetworkAclsInput struct {
  10354. SDKShapeTraits bool `type:"structure"`
  10355. }
  10356. // String returns the string representation
  10357. func (s DescribeNetworkAclsInput) String() string {
  10358. return awsutil.Prettify(s)
  10359. }
  10360. // GoString returns the string representation
  10361. func (s DescribeNetworkAclsInput) GoString() string {
  10362. return s.String()
  10363. }
  10364. type DescribeNetworkAclsOutput struct {
  10365. // Information about one or more network ACLs.
  10366. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  10367. metadataDescribeNetworkAclsOutput `json:"-" xml:"-"`
  10368. }
  10369. type metadataDescribeNetworkAclsOutput struct {
  10370. SDKShapeTraits bool `type:"structure"`
  10371. }
  10372. // String returns the string representation
  10373. func (s DescribeNetworkAclsOutput) String() string {
  10374. return awsutil.Prettify(s)
  10375. }
  10376. // GoString returns the string representation
  10377. func (s DescribeNetworkAclsOutput) GoString() string {
  10378. return s.String()
  10379. }
  10380. type DescribeNetworkInterfaceAttributeInput struct {
  10381. // The attribute of the network interface.
  10382. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  10383. // Checks whether you have the required permissions for the action, without
  10384. // actually making the request, and provides an error response. If you have
  10385. // the required permissions, the error response is DryRunOperation. Otherwise,
  10386. // it is UnauthorizedOperation.
  10387. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10388. // The ID of the network interface.
  10389. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  10390. metadataDescribeNetworkInterfaceAttributeInput `json:"-" xml:"-"`
  10391. }
  10392. type metadataDescribeNetworkInterfaceAttributeInput struct {
  10393. SDKShapeTraits bool `type:"structure"`
  10394. }
  10395. // String returns the string representation
  10396. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  10397. return awsutil.Prettify(s)
  10398. }
  10399. // GoString returns the string representation
  10400. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  10401. return s.String()
  10402. }
  10403. type DescribeNetworkInterfaceAttributeOutput struct {
  10404. // The attachment (if any) of the network interface.
  10405. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  10406. // The description of the network interface.
  10407. Description *AttributeValue `locationName:"description" type:"structure"`
  10408. // The security groups associated with the network interface.
  10409. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  10410. // The ID of the network interface.
  10411. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  10412. // Indicates whether source/destination checking is enabled.
  10413. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  10414. metadataDescribeNetworkInterfaceAttributeOutput `json:"-" xml:"-"`
  10415. }
  10416. type metadataDescribeNetworkInterfaceAttributeOutput struct {
  10417. SDKShapeTraits bool `type:"structure"`
  10418. }
  10419. // String returns the string representation
  10420. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  10421. return awsutil.Prettify(s)
  10422. }
  10423. // GoString returns the string representation
  10424. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  10425. return s.String()
  10426. }
  10427. type DescribeNetworkInterfacesInput struct {
  10428. // Checks whether you have the required permissions for the action, without
  10429. // actually making the request, and provides an error response. If you have
  10430. // the required permissions, the error response is DryRunOperation. Otherwise,
  10431. // it is UnauthorizedOperation.
  10432. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10433. // One or more filters.
  10434. //
  10435. // addresses.private-ip-address - The private IP addresses associated with
  10436. // the network interface.
  10437. //
  10438. // addresses.primary - Whether the private IP address is the primary IP address
  10439. // associated with the network interface.
  10440. //
  10441. // addresses.association.public-ip - The association ID returned when the
  10442. // network interface was associated with the Elastic IP address.
  10443. //
  10444. // addresses.association.owner-id - The owner ID of the addresses associated
  10445. // with the network interface.
  10446. //
  10447. // association.association-id - The association ID returned when the network
  10448. // interface was associated with an IP address.
  10449. //
  10450. // association.allocation-id - The allocation ID returned when you allocated
  10451. // the Elastic IP address for your network interface.
  10452. //
  10453. // association.ip-owner-id - The owner of the Elastic IP address associated
  10454. // with the network interface.
  10455. //
  10456. // association.public-ip - The address of the Elastic IP address bound to
  10457. // the network interface.
  10458. //
  10459. // association.public-dns-name - The public DNS name for the network interface.
  10460. //
  10461. // attachment.attachment-id - The ID of the interface attachment.
  10462. //
  10463. // attachment.instance-id - The ID of the instance to which the network interface
  10464. // is attached.
  10465. //
  10466. // attachment.instance-owner-id - The owner ID of the instance to which the
  10467. // network interface is attached.
  10468. //
  10469. // attachment.device-index - The device index to which the network interface
  10470. // is attached.
  10471. //
  10472. // attachment.status - The status of the attachment (attaching | attached
  10473. // | detaching | detached).
  10474. //
  10475. // attachment.attach.time - The time that the network interface was attached
  10476. // to an instance.
  10477. //
  10478. // attachment.delete-on-termination - Indicates whether the attachment is
  10479. // deleted when an instance is terminated.
  10480. //
  10481. // availability-zone - The Availability Zone of the network interface.
  10482. //
  10483. // description - The description of the network interface.
  10484. //
  10485. // group-id - The ID of a security group associated with the network interface.
  10486. //
  10487. // group-name - The name of a security group associated with the network
  10488. // interface.
  10489. //
  10490. // mac-address - The MAC address of the network interface.
  10491. //
  10492. // network-interface-id - The ID of the network interface.
  10493. //
  10494. // owner-id - The AWS account ID of the network interface owner.
  10495. //
  10496. // private-ip-address - The private IP address or addresses of the network
  10497. // interface.
  10498. //
  10499. // private-dns-name - The private DNS name of the network interface.
  10500. //
  10501. // requester-id - The ID of the entity that launched the instance on your
  10502. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  10503. //
  10504. // requester-managed - Indicates whether the network interface is being managed
  10505. // by an AWS service (for example, AWS Management Console, Auto Scaling, and
  10506. // so on).
  10507. //
  10508. // source-desk-check - Indicates whether the network interface performs source/destination
  10509. // checking. A value of true means checking is enabled, and false means checking
  10510. // is disabled. The value must be false for the network interface to perform
  10511. // Network Address Translation (NAT) in your VPC.
  10512. //
  10513. // status - The status of the network interface. If the network interface
  10514. // is not attached to an instance, the status is available; if a network interface
  10515. // is attached to an instance the status is in-use.
  10516. //
  10517. // subnet-id - The ID of the subnet for the network interface.
  10518. //
  10519. // tag:key=value - The key/value combination of a tag assigned to the resource.
  10520. //
  10521. // tag-key - The key of a tag assigned to the resource. This filter is independent
  10522. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  10523. // and the filter "tag-value=X", you get any resources assigned both the tag
  10524. // key Purpose (regardless of what the tag's value is), and the tag value X
  10525. // (regardless of what the tag's key is). If you want to list only resources
  10526. // where Purpose is X, see the tag:key=value filter.
  10527. //
  10528. // tag-value - The value of a tag assigned to the resource. This filter is
  10529. // independent of the tag-key filter.
  10530. //
  10531. // vpc-id - The ID of the VPC for the network interface.
  10532. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  10533. // One or more network interface IDs.
  10534. //
  10535. // Default: Describes all your network interfaces.
  10536. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  10537. metadataDescribeNetworkInterfacesInput `json:"-" xml:"-"`
  10538. }
  10539. type metadataDescribeNetworkInterfacesInput struct {
  10540. SDKShapeTraits bool `type:"structure"`
  10541. }
  10542. // String returns the string representation
  10543. func (s DescribeNetworkInterfacesInput) String() string {
  10544. return awsutil.Prettify(s)
  10545. }
  10546. // GoString returns the string representation
  10547. func (s DescribeNetworkInterfacesInput) GoString() string {
  10548. return s.String()
  10549. }
  10550. type DescribeNetworkInterfacesOutput struct {
  10551. // Information about one or more network interfaces.
  10552. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  10553. metadataDescribeNetworkInterfacesOutput `json:"-" xml:"-"`
  10554. }
  10555. type metadataDescribeNetworkInterfacesOutput struct {
  10556. SDKShapeTraits bool `type:"structure"`
  10557. }
  10558. // String returns the string representation
  10559. func (s DescribeNetworkInterfacesOutput) String() string {
  10560. return awsutil.Prettify(s)
  10561. }
  10562. // GoString returns the string representation
  10563. func (s DescribeNetworkInterfacesOutput) GoString() string {
  10564. return s.String()
  10565. }
  10566. type DescribePlacementGroupsInput struct {
  10567. // Checks whether you have the required permissions for the action, without
  10568. // actually making the request, and provides an error response. If you have
  10569. // the required permissions, the error response is DryRunOperation. Otherwise,
  10570. // it is UnauthorizedOperation.
  10571. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10572. // One or more filters.
  10573. //
  10574. // group-name - The name of the placement group.
  10575. //
  10576. // state - The state of the placement group (pending | available | deleting
  10577. // | deleted).
  10578. //
  10579. // strategy - The strategy of the placement group (cluster).
  10580. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10581. // One or more placement group names.
  10582. //
  10583. // Default: Describes all your placement groups, or only those otherwise specified.
  10584. GroupNames []*string `locationName:"groupName" type:"list"`
  10585. metadataDescribePlacementGroupsInput `json:"-" xml:"-"`
  10586. }
  10587. type metadataDescribePlacementGroupsInput struct {
  10588. SDKShapeTraits bool `type:"structure"`
  10589. }
  10590. // String returns the string representation
  10591. func (s DescribePlacementGroupsInput) String() string {
  10592. return awsutil.Prettify(s)
  10593. }
  10594. // GoString returns the string representation
  10595. func (s DescribePlacementGroupsInput) GoString() string {
  10596. return s.String()
  10597. }
  10598. type DescribePlacementGroupsOutput struct {
  10599. // One or more placement groups.
  10600. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  10601. metadataDescribePlacementGroupsOutput `json:"-" xml:"-"`
  10602. }
  10603. type metadataDescribePlacementGroupsOutput struct {
  10604. SDKShapeTraits bool `type:"structure"`
  10605. }
  10606. // String returns the string representation
  10607. func (s DescribePlacementGroupsOutput) String() string {
  10608. return awsutil.Prettify(s)
  10609. }
  10610. // GoString returns the string representation
  10611. func (s DescribePlacementGroupsOutput) GoString() string {
  10612. return s.String()
  10613. }
  10614. type DescribePrefixListsInput struct {
  10615. // Checks whether you have the required permissions for the action, without
  10616. // actually making the request, and provides an error response. If you have
  10617. // the required permissions, the error response is DryRunOperation. Otherwise,
  10618. // it is UnauthorizedOperation.
  10619. DryRun *bool `type:"boolean"`
  10620. // One or more filters.
  10621. //
  10622. // prefix-list-id: The ID of a prefix list.
  10623. //
  10624. // prefix-list-name: The name of a prefix list.
  10625. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10626. // The maximum number of items to return for this request. The request returns
  10627. // a token that you can specify in a subsequent call to get the next set of
  10628. // results.
  10629. //
  10630. // Constraint: If the value specified is greater than 1000, we return only
  10631. // 1000 items.
  10632. MaxResults *int64 `type:"integer"`
  10633. // The token for the next set of items to return. (You received this token from
  10634. // a prior call.)
  10635. NextToken *string `type:"string"`
  10636. // One or more prefix list IDs.
  10637. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  10638. metadataDescribePrefixListsInput `json:"-" xml:"-"`
  10639. }
  10640. type metadataDescribePrefixListsInput struct {
  10641. SDKShapeTraits bool `type:"structure"`
  10642. }
  10643. // String returns the string representation
  10644. func (s DescribePrefixListsInput) String() string {
  10645. return awsutil.Prettify(s)
  10646. }
  10647. // GoString returns the string representation
  10648. func (s DescribePrefixListsInput) GoString() string {
  10649. return s.String()
  10650. }
  10651. type DescribePrefixListsOutput struct {
  10652. // The token to use when requesting the next set of items. If there are no additional
  10653. // items to return, the string is empty.
  10654. NextToken *string `locationName:"nextToken" type:"string"`
  10655. // All available prefix lists.
  10656. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  10657. metadataDescribePrefixListsOutput `json:"-" xml:"-"`
  10658. }
  10659. type metadataDescribePrefixListsOutput struct {
  10660. SDKShapeTraits bool `type:"structure"`
  10661. }
  10662. // String returns the string representation
  10663. func (s DescribePrefixListsOutput) String() string {
  10664. return awsutil.Prettify(s)
  10665. }
  10666. // GoString returns the string representation
  10667. func (s DescribePrefixListsOutput) GoString() string {
  10668. return s.String()
  10669. }
  10670. type DescribeRegionsInput struct {
  10671. // Checks whether you have the required permissions for the action, without
  10672. // actually making the request, and provides an error response. If you have
  10673. // the required permissions, the error response is DryRunOperation. Otherwise,
  10674. // it is UnauthorizedOperation.
  10675. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10676. // One or more filters.
  10677. //
  10678. // endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  10679. //
  10680. // region-name - The name of the region (for example, us-east-1).
  10681. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10682. // The names of one or more regions.
  10683. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  10684. metadataDescribeRegionsInput `json:"-" xml:"-"`
  10685. }
  10686. type metadataDescribeRegionsInput struct {
  10687. SDKShapeTraits bool `type:"structure"`
  10688. }
  10689. // String returns the string representation
  10690. func (s DescribeRegionsInput) String() string {
  10691. return awsutil.Prettify(s)
  10692. }
  10693. // GoString returns the string representation
  10694. func (s DescribeRegionsInput) GoString() string {
  10695. return s.String()
  10696. }
  10697. type DescribeRegionsOutput struct {
  10698. // Information about one or more regions.
  10699. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  10700. metadataDescribeRegionsOutput `json:"-" xml:"-"`
  10701. }
  10702. type metadataDescribeRegionsOutput struct {
  10703. SDKShapeTraits bool `type:"structure"`
  10704. }
  10705. // String returns the string representation
  10706. func (s DescribeRegionsOutput) String() string {
  10707. return awsutil.Prettify(s)
  10708. }
  10709. // GoString returns the string representation
  10710. func (s DescribeRegionsOutput) GoString() string {
  10711. return s.String()
  10712. }
  10713. type DescribeReservedInstancesInput struct {
  10714. // Checks whether you have the required permissions for the action, without
  10715. // actually making the request, and provides an error response. If you have
  10716. // the required permissions, the error response is DryRunOperation. Otherwise,
  10717. // it is UnauthorizedOperation.
  10718. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10719. // One or more filters.
  10720. //
  10721. // availability-zone - The Availability Zone where the Reserved Instance
  10722. // can be used.
  10723. //
  10724. // duration - The duration of the Reserved Instance (one year or three years),
  10725. // in seconds (31536000 | 94608000).
  10726. //
  10727. // end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  10728. //
  10729. // fixed-price - The purchase price of the Reserved Instance (for example,
  10730. // 9800.0).
  10731. //
  10732. // instance-type - The instance type on which the Reserved Instance can be
  10733. // used.
  10734. //
  10735. // product-description - The Reserved Instance product platform description.
  10736. // Instances that include (Amazon VPC) in the product platform description will
  10737. // only be displayed to EC2-Classic account holders and are for use with Amazon
  10738. // VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon
  10739. // VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) |
  10740. // Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows
  10741. // with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
  10742. // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows
  10743. // with SQL Server Enterprise (Amazon VPC)).
  10744. //
  10745. // reserved-instances-id - The ID of the Reserved Instance.
  10746. //
  10747. // start - The time at which the Reserved Instance purchase request was placed
  10748. // (for example, 2014-08-07T11:54:42.000Z).
  10749. //
  10750. // state - The state of the Reserved Instance (payment-pending | active |
  10751. // payment-failed | retired).
  10752. //
  10753. // tag:key=value - The key/value combination of a tag assigned to the resource.
  10754. //
  10755. // tag-key - The key of a tag assigned to the resource. This filter is independent
  10756. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  10757. // and the filter "tag-value=X", you get any resources assigned both the tag
  10758. // key Purpose (regardless of what the tag's value is), and the tag value X
  10759. // (regardless of what the tag's key is). If you want to list only resources
  10760. // where Purpose is X, see the tag:key=value filter.
  10761. //
  10762. // tag-value - The value of a tag assigned to the resource. This filter is
  10763. // independent of the tag-key filter.
  10764. //
  10765. // usage-price - The usage price of the Reserved Instance, per hour (for
  10766. // example, 0.84).
  10767. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10768. // The Reserved Instance offering type. If you are using tools that predate
  10769. // the 2011-11-01 API version, you only have access to the Medium Utilization
  10770. // Reserved Instance offering type.
  10771. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  10772. // One or more Reserved Instance IDs.
  10773. //
  10774. // Default: Describes all your Reserved Instances, or only those otherwise
  10775. // specified.
  10776. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  10777. metadataDescribeReservedInstancesInput `json:"-" xml:"-"`
  10778. }
  10779. type metadataDescribeReservedInstancesInput struct {
  10780. SDKShapeTraits bool `type:"structure"`
  10781. }
  10782. // String returns the string representation
  10783. func (s DescribeReservedInstancesInput) String() string {
  10784. return awsutil.Prettify(s)
  10785. }
  10786. // GoString returns the string representation
  10787. func (s DescribeReservedInstancesInput) GoString() string {
  10788. return s.String()
  10789. }
  10790. type DescribeReservedInstancesListingsInput struct {
  10791. // One or more filters.
  10792. //
  10793. // reserved-instances-id - The ID of the Reserved Instances.
  10794. //
  10795. // reserved-instances-listing-id - The ID of the Reserved Instances listing.
  10796. //
  10797. // status - The status of the Reserved Instance listing (pending | active
  10798. // | cancelled | closed).
  10799. //
  10800. // status-message - The reason for the status.
  10801. Filters []*Filter `locationName:"filters" locationNameList:"Filter" type:"list"`
  10802. // One or more Reserved Instance IDs.
  10803. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  10804. // One or more Reserved Instance Listing IDs.
  10805. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  10806. metadataDescribeReservedInstancesListingsInput `json:"-" xml:"-"`
  10807. }
  10808. type metadataDescribeReservedInstancesListingsInput struct {
  10809. SDKShapeTraits bool `type:"structure"`
  10810. }
  10811. // String returns the string representation
  10812. func (s DescribeReservedInstancesListingsInput) String() string {
  10813. return awsutil.Prettify(s)
  10814. }
  10815. // GoString returns the string representation
  10816. func (s DescribeReservedInstancesListingsInput) GoString() string {
  10817. return s.String()
  10818. }
  10819. type DescribeReservedInstancesListingsOutput struct {
  10820. // Information about the Reserved Instance listing.
  10821. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  10822. metadataDescribeReservedInstancesListingsOutput `json:"-" xml:"-"`
  10823. }
  10824. type metadataDescribeReservedInstancesListingsOutput struct {
  10825. SDKShapeTraits bool `type:"structure"`
  10826. }
  10827. // String returns the string representation
  10828. func (s DescribeReservedInstancesListingsOutput) String() string {
  10829. return awsutil.Prettify(s)
  10830. }
  10831. // GoString returns the string representation
  10832. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  10833. return s.String()
  10834. }
  10835. type DescribeReservedInstancesModificationsInput struct {
  10836. // One or more filters.
  10837. //
  10838. // client-token - The idempotency token for the modification request.
  10839. //
  10840. // create-date - The time when the modification request was created.
  10841. //
  10842. // effective-date - The time when the modification becomes effective.
  10843. //
  10844. // modification-result.reserved-instances-id - The ID for the Reserved Instances
  10845. // created as part of the modification request. This ID is only available when
  10846. // the status of the modification is fulfilled.
  10847. //
  10848. // modification-result.target-configuration.availability-zone - The Availability
  10849. // Zone for the new Reserved Instances.
  10850. //
  10851. // modification-result.target-configuration.instance-count - The number
  10852. // of new Reserved Instances.
  10853. //
  10854. // modification-result.target-configuration.instance-type - The instance
  10855. // type of the new Reserved Instances.
  10856. //
  10857. // modification-result.target-configuration.platform - The network platform
  10858. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  10859. //
  10860. // reserved-instances-id - The ID of the Reserved Instances modified.
  10861. //
  10862. // reserved-instances-modification-id - The ID of the modification request.
  10863. //
  10864. // status - The status of the Reserved Instances modification request (processing
  10865. // | fulfilled | failed).
  10866. //
  10867. // status-message - The reason for the status.
  10868. //
  10869. // update-date - The time when the modification request was last updated.
  10870. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10871. // The token to retrieve the next page of results.
  10872. NextToken *string `locationName:"nextToken" type:"string"`
  10873. // IDs for the submitted modification request.
  10874. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  10875. metadataDescribeReservedInstancesModificationsInput `json:"-" xml:"-"`
  10876. }
  10877. type metadataDescribeReservedInstancesModificationsInput struct {
  10878. SDKShapeTraits bool `type:"structure"`
  10879. }
  10880. // String returns the string representation
  10881. func (s DescribeReservedInstancesModificationsInput) String() string {
  10882. return awsutil.Prettify(s)
  10883. }
  10884. // GoString returns the string representation
  10885. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  10886. return s.String()
  10887. }
  10888. type DescribeReservedInstancesModificationsOutput struct {
  10889. // The token to use to retrieve the next page of results. This value is null
  10890. // when there are no more results to return.
  10891. NextToken *string `locationName:"nextToken" type:"string"`
  10892. // The Reserved Instance modification information.
  10893. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  10894. metadataDescribeReservedInstancesModificationsOutput `json:"-" xml:"-"`
  10895. }
  10896. type metadataDescribeReservedInstancesModificationsOutput struct {
  10897. SDKShapeTraits bool `type:"structure"`
  10898. }
  10899. // String returns the string representation
  10900. func (s DescribeReservedInstancesModificationsOutput) String() string {
  10901. return awsutil.Prettify(s)
  10902. }
  10903. // GoString returns the string representation
  10904. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  10905. return s.String()
  10906. }
  10907. type DescribeReservedInstancesOfferingsInput struct {
  10908. // The Availability Zone in which the Reserved Instance can be used.
  10909. AvailabilityZone *string `type:"string"`
  10910. // Checks whether you have the required permissions for the action, without
  10911. // actually making the request, and provides an error response. If you have
  10912. // the required permissions, the error response is DryRunOperation. Otherwise,
  10913. // it is UnauthorizedOperation.
  10914. DryRun *bool `locationName:"dryRun" type:"boolean"`
  10915. // One or more filters.
  10916. //
  10917. // availability-zone - The Availability Zone where the Reserved Instance
  10918. // can be used.
  10919. //
  10920. // duration - The duration of the Reserved Instance (for example, one year
  10921. // or three years), in seconds (31536000 | 94608000).
  10922. //
  10923. // fixed-price - The purchase price of the Reserved Instance (for example,
  10924. // 9800.0).
  10925. //
  10926. // instance-type - The instance type on which the Reserved Instance can be
  10927. // used.
  10928. //
  10929. // marketplace - Set to true to show only Reserved Instance Marketplace offerings.
  10930. // When this filter is not used, which is the default behavior, all offerings
  10931. // from AWS and Reserved Instance Marketplace are listed.
  10932. //
  10933. // product-description - The Reserved Instance product platform description.
  10934. // Instances that include (Amazon VPC) in the product platform description will
  10935. // only be displayed to EC2-Classic account holders and are for use with Amazon
  10936. // VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon
  10937. // VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) |
  10938. // Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows
  10939. // with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows
  10940. // with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows
  10941. // with SQL Server Enterprise (Amazon VPC))
  10942. //
  10943. // reserved-instances-offering-id - The Reserved Instances offering ID.
  10944. //
  10945. // usage-price - The usage price of the Reserved Instance, per hour (for
  10946. // example, 0.84).
  10947. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  10948. // Include Marketplace offerings in the response.
  10949. IncludeMarketplace *bool `type:"boolean"`
  10950. // The tenancy of the Reserved Instance offering. A Reserved Instance with dedicated
  10951. // tenancy runs on single-tenant hardware and can only be launched within a
  10952. // VPC.
  10953. //
  10954. // Default: default
  10955. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  10956. // The instance type on which the Reserved Instance can be used. For more information,
  10957. // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  10958. // in the Amazon Elastic Compute Cloud User Guide.
  10959. InstanceType *string `type:"string" enum:"InstanceType"`
  10960. // The maximum duration (in seconds) to filter when searching for offerings.
  10961. //
  10962. // Default: 94608000 (3 years)
  10963. MaxDuration *int64 `type:"long"`
  10964. // The maximum number of instances to filter when searching for offerings.
  10965. //
  10966. // Default: 20
  10967. MaxInstanceCount *int64 `type:"integer"`
  10968. // The maximum number of results to return for the request in a single page.
  10969. // The remaining results of the initial request can be seen by sending another
  10970. // request with the returned NextToken value. The maximum is 100.
  10971. //
  10972. // Default: 100
  10973. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  10974. // The minimum duration (in seconds) to filter when searching for offerings.
  10975. //
  10976. // Default: 2592000 (1 month)
  10977. MinDuration *int64 `type:"long"`
  10978. // The token to retrieve the next page of results.
  10979. NextToken *string `locationName:"nextToken" type:"string"`
  10980. // The Reserved Instance offering type. If you are using tools that predate
  10981. // the 2011-11-01 API version, you only have access to the Medium Utilization
  10982. // Reserved Instance offering type.
  10983. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  10984. // The Reserved Instance product platform description. Instances that include
  10985. // (Amazon VPC) in the description are for use with Amazon VPC.
  10986. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  10987. // One or more Reserved Instances offering IDs.
  10988. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  10989. metadataDescribeReservedInstancesOfferingsInput `json:"-" xml:"-"`
  10990. }
  10991. type metadataDescribeReservedInstancesOfferingsInput struct {
  10992. SDKShapeTraits bool `type:"structure"`
  10993. }
  10994. // String returns the string representation
  10995. func (s DescribeReservedInstancesOfferingsInput) String() string {
  10996. return awsutil.Prettify(s)
  10997. }
  10998. // GoString returns the string representation
  10999. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  11000. return s.String()
  11001. }
  11002. type DescribeReservedInstancesOfferingsOutput struct {
  11003. // The token to use to retrieve the next page of results. This value is null
  11004. // when there are no more results to return.
  11005. NextToken *string `locationName:"nextToken" type:"string"`
  11006. // A list of Reserved Instances offerings.
  11007. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  11008. metadataDescribeReservedInstancesOfferingsOutput `json:"-" xml:"-"`
  11009. }
  11010. type metadataDescribeReservedInstancesOfferingsOutput struct {
  11011. SDKShapeTraits bool `type:"structure"`
  11012. }
  11013. // String returns the string representation
  11014. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  11015. return awsutil.Prettify(s)
  11016. }
  11017. // GoString returns the string representation
  11018. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  11019. return s.String()
  11020. }
  11021. type DescribeReservedInstancesOutput struct {
  11022. // A list of Reserved Instances.
  11023. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  11024. metadataDescribeReservedInstancesOutput `json:"-" xml:"-"`
  11025. }
  11026. type metadataDescribeReservedInstancesOutput struct {
  11027. SDKShapeTraits bool `type:"structure"`
  11028. }
  11029. // String returns the string representation
  11030. func (s DescribeReservedInstancesOutput) String() string {
  11031. return awsutil.Prettify(s)
  11032. }
  11033. // GoString returns the string representation
  11034. func (s DescribeReservedInstancesOutput) GoString() string {
  11035. return s.String()
  11036. }
  11037. type DescribeRouteTablesInput struct {
  11038. // Checks whether you have the required permissions for the action, without
  11039. // actually making the request, and provides an error response. If you have
  11040. // the required permissions, the error response is DryRunOperation. Otherwise,
  11041. // it is UnauthorizedOperation.
  11042. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11043. // One or more filters.
  11044. //
  11045. // association.route-table-association-id - The ID of an association ID for
  11046. // the route table.
  11047. //
  11048. // association.route-table-id - The ID of the route table involved in the
  11049. // association.
  11050. //
  11051. // association.subnet-id - The ID of the subnet involved in the association.
  11052. //
  11053. // association.main - Indicates whether the route table is the main route
  11054. // table for the VPC.
  11055. //
  11056. // route-table-id - The ID of the route table.
  11057. //
  11058. // route.destination-cidr-block - The CIDR range specified in a route in
  11059. // the table.
  11060. //
  11061. // route.destination-prefix-list-id - The ID (prefix) of the AWS service
  11062. // specified in a route in the table.
  11063. //
  11064. // route.gateway-id - The ID of a gateway specified in a route in the table.
  11065. //
  11066. // route.instance-id - The ID of an instance specified in a route in the
  11067. // table.
  11068. //
  11069. // route.origin - Describes how the route was created. CreateRouteTable indicates
  11070. // that the route was automatically created when the route table was created;
  11071. // CreateRoute indicates that the route was manually added to the route table;
  11072. // EnableVgwRoutePropagation indicates that the route was propagated by route
  11073. // propagation.
  11074. //
  11075. // route.state - The state of a route in the route table (active | blackhole).
  11076. // The blackhole state indicates that the route's target isn't available (for
  11077. // example, the specified gateway isn't attached to the VPC, the specified NAT
  11078. // instance has been terminated, and so on).
  11079. //
  11080. // route.vpc-peering-connection-id - The ID of a VPC peering connection specified
  11081. // in a route in the table.
  11082. //
  11083. // tag:key=value - The key/value combination of a tag assigned to the resource.
  11084. //
  11085. // tag-key - The key of a tag assigned to the resource. This filter is independent
  11086. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  11087. // and the filter "tag-value=X", you get any resources assigned both the tag
  11088. // key Purpose (regardless of what the tag's value is), and the tag value X
  11089. // (regardless of what the tag's key is). If you want to list only resources
  11090. // where Purpose is X, see the tag:key=value filter.
  11091. //
  11092. // tag-value - The value of a tag assigned to the resource. This filter is
  11093. // independent of the tag-key filter.
  11094. //
  11095. // vpc-id - The ID of the VPC for the route table.
  11096. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11097. // One or more route table IDs.
  11098. //
  11099. // Default: Describes all your route tables.
  11100. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  11101. metadataDescribeRouteTablesInput `json:"-" xml:"-"`
  11102. }
  11103. type metadataDescribeRouteTablesInput struct {
  11104. SDKShapeTraits bool `type:"structure"`
  11105. }
  11106. // String returns the string representation
  11107. func (s DescribeRouteTablesInput) String() string {
  11108. return awsutil.Prettify(s)
  11109. }
  11110. // GoString returns the string representation
  11111. func (s DescribeRouteTablesInput) GoString() string {
  11112. return s.String()
  11113. }
  11114. type DescribeRouteTablesOutput struct {
  11115. // Information about one or more route tables.
  11116. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  11117. metadataDescribeRouteTablesOutput `json:"-" xml:"-"`
  11118. }
  11119. type metadataDescribeRouteTablesOutput struct {
  11120. SDKShapeTraits bool `type:"structure"`
  11121. }
  11122. // String returns the string representation
  11123. func (s DescribeRouteTablesOutput) String() string {
  11124. return awsutil.Prettify(s)
  11125. }
  11126. // GoString returns the string representation
  11127. func (s DescribeRouteTablesOutput) GoString() string {
  11128. return s.String()
  11129. }
  11130. type DescribeSecurityGroupsInput struct {
  11131. // Checks whether you have the required permissions for the action, without
  11132. // actually making the request, and provides an error response. If you have
  11133. // the required permissions, the error response is DryRunOperation. Otherwise,
  11134. // it is UnauthorizedOperation.
  11135. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11136. // One or more filters.
  11137. //
  11138. // description - The description of the security group.
  11139. //
  11140. // egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  11141. // to which the security group allows access.
  11142. //
  11143. // group-id - The ID of the security group.
  11144. //
  11145. // group-name - The name of the security group.
  11146. //
  11147. // ip-permission.cidr - A CIDR range that has been granted permission.
  11148. //
  11149. // ip-permission.from-port - The start of port range for the TCP and UDP
  11150. // protocols, or an ICMP type number.
  11151. //
  11152. // ip-permission.group-id - The ID of a security group that has been granted
  11153. // permission.
  11154. //
  11155. // ip-permission.group-name - The name of a security group that has been
  11156. // granted permission.
  11157. //
  11158. // ip-permission.protocol - The IP protocol for the permission (tcp | udp
  11159. // | icmp or a protocol number).
  11160. //
  11161. // ip-permission.to-port - The end of port range for the TCP and UDP protocols,
  11162. // or an ICMP code.
  11163. //
  11164. // ip-permission.user-id - The ID of an AWS account that has been granted
  11165. // permission.
  11166. //
  11167. // owner-id - The AWS account ID of the owner of the security group.
  11168. //
  11169. // tag-key - The key of a tag assigned to the security group.
  11170. //
  11171. // tag-value - The value of a tag assigned to the security group.
  11172. //
  11173. // vpc-id - The ID of the VPC specified when the security group was created.
  11174. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11175. // One or more security group IDs. Required for security groups in a nondefault
  11176. // VPC.
  11177. //
  11178. // Default: Describes all your security groups.
  11179. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  11180. // [EC2-Classic and default VPC only] One or more security group names. You
  11181. // can specify either the security group name or the security group ID. For
  11182. // security groups in a nondefault VPC, use the group-name filter to describe
  11183. // security groups by name.
  11184. //
  11185. // Default: Describes all your security groups.
  11186. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  11187. metadataDescribeSecurityGroupsInput `json:"-" xml:"-"`
  11188. }
  11189. type metadataDescribeSecurityGroupsInput struct {
  11190. SDKShapeTraits bool `type:"structure"`
  11191. }
  11192. // String returns the string representation
  11193. func (s DescribeSecurityGroupsInput) String() string {
  11194. return awsutil.Prettify(s)
  11195. }
  11196. // GoString returns the string representation
  11197. func (s DescribeSecurityGroupsInput) GoString() string {
  11198. return s.String()
  11199. }
  11200. type DescribeSecurityGroupsOutput struct {
  11201. // Information about one or more security groups.
  11202. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  11203. metadataDescribeSecurityGroupsOutput `json:"-" xml:"-"`
  11204. }
  11205. type metadataDescribeSecurityGroupsOutput struct {
  11206. SDKShapeTraits bool `type:"structure"`
  11207. }
  11208. // String returns the string representation
  11209. func (s DescribeSecurityGroupsOutput) String() string {
  11210. return awsutil.Prettify(s)
  11211. }
  11212. // GoString returns the string representation
  11213. func (s DescribeSecurityGroupsOutput) GoString() string {
  11214. return s.String()
  11215. }
  11216. type DescribeSnapshotAttributeInput struct {
  11217. // The snapshot attribute you would like to view.
  11218. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  11219. // Checks whether you have the required permissions for the action, without
  11220. // actually making the request, and provides an error response. If you have
  11221. // the required permissions, the error response is DryRunOperation. Otherwise,
  11222. // it is UnauthorizedOperation.
  11223. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11224. // The ID of the EBS snapshot.
  11225. SnapshotId *string `type:"string" required:"true"`
  11226. metadataDescribeSnapshotAttributeInput `json:"-" xml:"-"`
  11227. }
  11228. type metadataDescribeSnapshotAttributeInput struct {
  11229. SDKShapeTraits bool `type:"structure"`
  11230. }
  11231. // String returns the string representation
  11232. func (s DescribeSnapshotAttributeInput) String() string {
  11233. return awsutil.Prettify(s)
  11234. }
  11235. // GoString returns the string representation
  11236. func (s DescribeSnapshotAttributeInput) GoString() string {
  11237. return s.String()
  11238. }
  11239. type DescribeSnapshotAttributeOutput struct {
  11240. // A list of permissions for creating volumes from the snapshot.
  11241. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  11242. // A list of product codes.
  11243. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  11244. // The ID of the EBS snapshot.
  11245. SnapshotId *string `locationName:"snapshotId" type:"string"`
  11246. metadataDescribeSnapshotAttributeOutput `json:"-" xml:"-"`
  11247. }
  11248. type metadataDescribeSnapshotAttributeOutput struct {
  11249. SDKShapeTraits bool `type:"structure"`
  11250. }
  11251. // String returns the string representation
  11252. func (s DescribeSnapshotAttributeOutput) String() string {
  11253. return awsutil.Prettify(s)
  11254. }
  11255. // GoString returns the string representation
  11256. func (s DescribeSnapshotAttributeOutput) GoString() string {
  11257. return s.String()
  11258. }
  11259. type DescribeSnapshotsInput struct {
  11260. // Checks whether you have the required permissions for the action, without
  11261. // actually making the request, and provides an error response. If you have
  11262. // the required permissions, the error response is DryRunOperation. Otherwise,
  11263. // it is UnauthorizedOperation.
  11264. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11265. // One or more filters.
  11266. //
  11267. // description - A description of the snapshot.
  11268. //
  11269. // owner-alias - The AWS account alias (for example, amazon) that owns the
  11270. // snapshot.
  11271. //
  11272. // owner-id - The ID of the AWS account that owns the snapshot.
  11273. //
  11274. // progress - The progress of the snapshot, as a percentage (for example,
  11275. // 80%).
  11276. //
  11277. // snapshot-id - The snapshot ID.
  11278. //
  11279. // start-time - The time stamp when the snapshot was initiated.
  11280. //
  11281. // status - The status of the snapshot (pending | completed | error).
  11282. //
  11283. // tag:key=value - The key/value combination of a tag assigned to the resource.
  11284. //
  11285. // tag-key - The key of a tag assigned to the resource. This filter is independent
  11286. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  11287. // and the filter "tag-value=X", you get any resources assigned both the tag
  11288. // key Purpose (regardless of what the tag's value is), and the tag value X
  11289. // (regardless of what the tag's key is). If you want to list only resources
  11290. // where Purpose is X, see the tag:key=value filter.
  11291. //
  11292. // tag-value - The value of a tag assigned to the resource. This filter is
  11293. // independent of the tag-key filter.
  11294. //
  11295. // volume-id - The ID of the volume the snapshot is for.
  11296. //
  11297. // volume-size - The size of the volume, in GiB.
  11298. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11299. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  11300. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  11301. // results in a single page along with a NextToken response element. The remaining
  11302. // results of the initial request can be seen by sending another DescribeSnapshots
  11303. // request with the returned NextToken value. This value can be between 5 and
  11304. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  11305. // are returned. If this parameter is not used, then DescribeSnapshots returns
  11306. // all results. You cannot specify this parameter and the snapshot IDs parameter
  11307. // in the same request.
  11308. MaxResults *int64 `type:"integer"`
  11309. // The NextToken value returned from a previous paginated DescribeSnapshots
  11310. // request where MaxResults was used and the results exceeded the value of that
  11311. // parameter. Pagination continues from the end of the previous results that
  11312. // returned the NextToken value. This value is null when there are no more results
  11313. // to return.
  11314. NextToken *string `type:"string"`
  11315. // Returns the snapshots owned by the specified owner. Multiple owners can be
  11316. // specified.
  11317. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  11318. // One or more AWS accounts IDs that can create volumes from the snapshot.
  11319. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  11320. // One or more snapshot IDs.
  11321. //
  11322. // Default: Describes snapshots for which you have launch permissions.
  11323. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  11324. metadataDescribeSnapshotsInput `json:"-" xml:"-"`
  11325. }
  11326. type metadataDescribeSnapshotsInput struct {
  11327. SDKShapeTraits bool `type:"structure"`
  11328. }
  11329. // String returns the string representation
  11330. func (s DescribeSnapshotsInput) String() string {
  11331. return awsutil.Prettify(s)
  11332. }
  11333. // GoString returns the string representation
  11334. func (s DescribeSnapshotsInput) GoString() string {
  11335. return s.String()
  11336. }
  11337. type DescribeSnapshotsOutput struct {
  11338. // The NextToken value to include in a future DescribeSnapshots request. When
  11339. // the results of a DescribeSnapshots request exceed MaxResults, this value
  11340. // can be used to retrieve the next page of results. This value is null when
  11341. // there are no more results to return.
  11342. NextToken *string `locationName:"nextToken" type:"string"`
  11343. // Information about the snapshots.
  11344. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  11345. metadataDescribeSnapshotsOutput `json:"-" xml:"-"`
  11346. }
  11347. type metadataDescribeSnapshotsOutput struct {
  11348. SDKShapeTraits bool `type:"structure"`
  11349. }
  11350. // String returns the string representation
  11351. func (s DescribeSnapshotsOutput) String() string {
  11352. return awsutil.Prettify(s)
  11353. }
  11354. // GoString returns the string representation
  11355. func (s DescribeSnapshotsOutput) GoString() string {
  11356. return s.String()
  11357. }
  11358. // Contains the parameters for DescribeSpotDatafeedSubscription.
  11359. type DescribeSpotDatafeedSubscriptionInput struct {
  11360. // Checks whether you have the required permissions for the action, without
  11361. // actually making the request, and provides an error response. If you have
  11362. // the required permissions, the error response is DryRunOperation. Otherwise,
  11363. // it is UnauthorizedOperation.
  11364. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11365. metadataDescribeSpotDatafeedSubscriptionInput `json:"-" xml:"-"`
  11366. }
  11367. type metadataDescribeSpotDatafeedSubscriptionInput struct {
  11368. SDKShapeTraits bool `type:"structure"`
  11369. }
  11370. // String returns the string representation
  11371. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  11372. return awsutil.Prettify(s)
  11373. }
  11374. // GoString returns the string representation
  11375. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  11376. return s.String()
  11377. }
  11378. // Contains the output of DescribeSpotDatafeedSubscription.
  11379. type DescribeSpotDatafeedSubscriptionOutput struct {
  11380. // The Spot Instance data feed subscription.
  11381. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  11382. metadataDescribeSpotDatafeedSubscriptionOutput `json:"-" xml:"-"`
  11383. }
  11384. type metadataDescribeSpotDatafeedSubscriptionOutput struct {
  11385. SDKShapeTraits bool `type:"structure"`
  11386. }
  11387. // String returns the string representation
  11388. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  11389. return awsutil.Prettify(s)
  11390. }
  11391. // GoString returns the string representation
  11392. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  11393. return s.String()
  11394. }
  11395. // Contains the parameters for DescribeSpotFleetInstances.
  11396. type DescribeSpotFleetInstancesInput struct {
  11397. // Checks whether you have the required permissions for the action, without
  11398. // actually making the request, and provides an error response. If you have
  11399. // the required permissions, the error response is DryRunOperation. Otherwise,
  11400. // it is UnauthorizedOperation.
  11401. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11402. // The maximum number of results to return in a single call. Specify a value
  11403. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  11404. // results, make another call with the returned NextToken value.
  11405. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  11406. // The token for the next set of results.
  11407. NextToken *string `locationName:"nextToken" type:"string"`
  11408. // The ID of the Spot fleet request.
  11409. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  11410. metadataDescribeSpotFleetInstancesInput `json:"-" xml:"-"`
  11411. }
  11412. type metadataDescribeSpotFleetInstancesInput struct {
  11413. SDKShapeTraits bool `type:"structure"`
  11414. }
  11415. // String returns the string representation
  11416. func (s DescribeSpotFleetInstancesInput) String() string {
  11417. return awsutil.Prettify(s)
  11418. }
  11419. // GoString returns the string representation
  11420. func (s DescribeSpotFleetInstancesInput) GoString() string {
  11421. return s.String()
  11422. }
  11423. // Contains the output of DescribeSpotFleetInstances.
  11424. type DescribeSpotFleetInstancesOutput struct {
  11425. // The running instances. Note that this list is refreshed periodically and
  11426. // might be out of date.
  11427. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  11428. // The token required to retrieve the next set of results. This value is null
  11429. // when there are no more results to return.
  11430. NextToken *string `locationName:"nextToken" type:"string"`
  11431. // The ID of the Spot fleet request.
  11432. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  11433. metadataDescribeSpotFleetInstancesOutput `json:"-" xml:"-"`
  11434. }
  11435. type metadataDescribeSpotFleetInstancesOutput struct {
  11436. SDKShapeTraits bool `type:"structure"`
  11437. }
  11438. // String returns the string representation
  11439. func (s DescribeSpotFleetInstancesOutput) String() string {
  11440. return awsutil.Prettify(s)
  11441. }
  11442. // GoString returns the string representation
  11443. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  11444. return s.String()
  11445. }
  11446. // Contains the parameters for DescribeSpotFleetRequestHistory.
  11447. type DescribeSpotFleetRequestHistoryInput struct {
  11448. // Checks whether you have the required permissions for the action, without
  11449. // actually making the request, and provides an error response. If you have
  11450. // the required permissions, the error response is DryRunOperation. Otherwise,
  11451. // it is UnauthorizedOperation.
  11452. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11453. // The type of events to describe. By default, all events are described.
  11454. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  11455. // The maximum number of results to return in a single call. Specify a value
  11456. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  11457. // results, make another call with the returned NextToken value.
  11458. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  11459. // The token for the next set of results.
  11460. NextToken *string `locationName:"nextToken" type:"string"`
  11461. // The ID of the Spot fleet request.
  11462. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  11463. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  11464. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  11465. metadataDescribeSpotFleetRequestHistoryInput `json:"-" xml:"-"`
  11466. }
  11467. type metadataDescribeSpotFleetRequestHistoryInput struct {
  11468. SDKShapeTraits bool `type:"structure"`
  11469. }
  11470. // String returns the string representation
  11471. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  11472. return awsutil.Prettify(s)
  11473. }
  11474. // GoString returns the string representation
  11475. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  11476. return s.String()
  11477. }
  11478. // Contains the output of DescribeSpotFleetRequestHistory.
  11479. type DescribeSpotFleetRequestHistoryOutput struct {
  11480. // Information about the events in the history of the Spot fleet request.
  11481. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  11482. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  11483. // All records up to this time were retrieved.
  11484. //
  11485. // If nextToken indicates that there are more results, this value is not present.
  11486. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  11487. // The token required to retrieve the next set of results. This value is null
  11488. // when there are no more results to return.
  11489. NextToken *string `locationName:"nextToken" type:"string"`
  11490. // The ID of the Spot fleet request.
  11491. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  11492. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  11493. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  11494. metadataDescribeSpotFleetRequestHistoryOutput `json:"-" xml:"-"`
  11495. }
  11496. type metadataDescribeSpotFleetRequestHistoryOutput struct {
  11497. SDKShapeTraits bool `type:"structure"`
  11498. }
  11499. // String returns the string representation
  11500. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  11501. return awsutil.Prettify(s)
  11502. }
  11503. // GoString returns the string representation
  11504. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  11505. return s.String()
  11506. }
  11507. // Contains the parameters for DescribeSpotFleetRequests.
  11508. type DescribeSpotFleetRequestsInput struct {
  11509. // Checks whether you have the required permissions for the action, without
  11510. // actually making the request, and provides an error response. If you have
  11511. // the required permissions, the error response is DryRunOperation. Otherwise,
  11512. // it is UnauthorizedOperation.
  11513. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11514. // The maximum number of results to return in a single call. Specify a value
  11515. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  11516. // results, make another call with the returned NextToken value.
  11517. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  11518. // The token for the next set of results.
  11519. NextToken *string `locationName:"nextToken" type:"string"`
  11520. // The IDs of the Spot fleet requests.
  11521. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  11522. metadataDescribeSpotFleetRequestsInput `json:"-" xml:"-"`
  11523. }
  11524. type metadataDescribeSpotFleetRequestsInput struct {
  11525. SDKShapeTraits bool `type:"structure"`
  11526. }
  11527. // String returns the string representation
  11528. func (s DescribeSpotFleetRequestsInput) String() string {
  11529. return awsutil.Prettify(s)
  11530. }
  11531. // GoString returns the string representation
  11532. func (s DescribeSpotFleetRequestsInput) GoString() string {
  11533. return s.String()
  11534. }
  11535. // Contains the output of DescribeSpotFleetRequests.
  11536. type DescribeSpotFleetRequestsOutput struct {
  11537. // The token required to retrieve the next set of results. This value is null
  11538. // when there are no more results to return.
  11539. NextToken *string `locationName:"nextToken" type:"string"`
  11540. // Information about the configuration of your Spot fleet.
  11541. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  11542. metadataDescribeSpotFleetRequestsOutput `json:"-" xml:"-"`
  11543. }
  11544. type metadataDescribeSpotFleetRequestsOutput struct {
  11545. SDKShapeTraits bool `type:"structure"`
  11546. }
  11547. // String returns the string representation
  11548. func (s DescribeSpotFleetRequestsOutput) String() string {
  11549. return awsutil.Prettify(s)
  11550. }
  11551. // GoString returns the string representation
  11552. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  11553. return s.String()
  11554. }
  11555. // Contains the parameters for DescribeSpotInstanceRequests.
  11556. type DescribeSpotInstanceRequestsInput struct {
  11557. // Checks whether you have the required permissions for the action, without
  11558. // actually making the request, and provides an error response. If you have
  11559. // the required permissions, the error response is DryRunOperation. Otherwise,
  11560. // it is UnauthorizedOperation.
  11561. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11562. // One or more filters.
  11563. //
  11564. // availability-zone-group - The Availability Zone group.
  11565. //
  11566. // create-time - The time stamp when the Spot Instance request was created.
  11567. //
  11568. // fault-code - The fault code related to the request.
  11569. //
  11570. // fault-message - The fault message related to the request.
  11571. //
  11572. // instance-id - The ID of the instance that fulfilled the request.
  11573. //
  11574. // launch-group - The Spot Instance launch group.
  11575. //
  11576. // launch.block-device-mapping.delete-on-termination - Indicates whether
  11577. // the Amazon EBS volume is deleted on instance termination.
  11578. //
  11579. // launch.block-device-mapping.device-name - The device name for the Amazon
  11580. // EBS volume (for example, /dev/sdh).
  11581. //
  11582. // launch.block-device-mapping.snapshot-id - The ID of the snapshot used
  11583. // for the Amazon EBS volume.
  11584. //
  11585. // launch.block-device-mapping.volume-size - The size of the Amazon EBS volume,
  11586. // in GiB.
  11587. //
  11588. // launch.block-device-mapping.volume-type - The type of the Amazon EBS volume
  11589. // (gp2 | standard | io1).
  11590. //
  11591. // launch.group-id - The security group for the instance.
  11592. //
  11593. // launch.image-id - The ID of the AMI.
  11594. //
  11595. // launch.instance-type - The type of instance (for example, m1.small).
  11596. //
  11597. // launch.kernel-id - The kernel ID.
  11598. //
  11599. // launch.key-name - The name of the key pair the instance launched with.
  11600. //
  11601. // launch.monitoring-enabled - Whether monitoring is enabled for the Spot
  11602. // Instance.
  11603. //
  11604. // launch.ramdisk-id - The RAM disk ID.
  11605. //
  11606. // network-interface.network-interface-id - The ID of the network interface.
  11607. //
  11608. // network-interface.device-index - The index of the device for the network
  11609. // interface attachment on the instance.
  11610. //
  11611. // network-interface.subnet-id - The ID of the subnet for the instance.
  11612. //
  11613. // network-interface.description - A description of the network interface.
  11614. //
  11615. // network-interface.private-ip-address - The primary private IP address
  11616. // of the network interface.
  11617. //
  11618. // network-interface.delete-on-termination - Indicates whether the network
  11619. // interface is deleted when the instance is terminated.
  11620. //
  11621. // network-interface.group-id - The ID of the security group associated with
  11622. // the network interface.
  11623. //
  11624. // network-interface.group-name - The name of the security group associated
  11625. // with the network interface.
  11626. //
  11627. // network-interface.addresses.primary - Indicates whether the IP address
  11628. // is the primary private IP address.
  11629. //
  11630. // product-description - The product description associated with the instance
  11631. // (Linux/UNIX | Windows).
  11632. //
  11633. // spot-instance-request-id - The Spot Instance request ID.
  11634. //
  11635. // spot-price - The maximum hourly price for any Spot Instance launched to
  11636. // fulfill the request.
  11637. //
  11638. // state - The state of the Spot Instance request (open | active | closed
  11639. // | cancelled | failed). Spot bid status information can help you track your
  11640. // Amazon EC2 Spot Instance requests. For more information, see Spot Bid Status
  11641. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  11642. // in the Amazon Elastic Compute Cloud User Guide.
  11643. //
  11644. // status-code - The short code describing the most recent evaluation of
  11645. // your Spot Instance request.
  11646. //
  11647. // status-message - The message explaining the status of the Spot Instance
  11648. // request.
  11649. //
  11650. // tag:key=value - The key/value combination of a tag assigned to the resource.
  11651. //
  11652. // tag-key - The key of a tag assigned to the resource. This filter is independent
  11653. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  11654. // and the filter "tag-value=X", you get any resources assigned both the tag
  11655. // key Purpose (regardless of what the tag's value is), and the tag value X
  11656. // (regardless of what the tag's key is). If you want to list only resources
  11657. // where Purpose is X, see the tag:key=value filter.
  11658. //
  11659. // tag-value - The value of a tag assigned to the resource. This filter is
  11660. // independent of the tag-key filter.
  11661. //
  11662. // type - The type of Spot Instance request (one-time | persistent).
  11663. //
  11664. // launched-availability-zone - The Availability Zone in which the bid is
  11665. // launched.
  11666. //
  11667. // valid-from - The start date of the request.
  11668. //
  11669. // valid-until - The end date of the request.
  11670. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11671. // One or more Spot Instance request IDs.
  11672. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  11673. metadataDescribeSpotInstanceRequestsInput `json:"-" xml:"-"`
  11674. }
  11675. type metadataDescribeSpotInstanceRequestsInput struct {
  11676. SDKShapeTraits bool `type:"structure"`
  11677. }
  11678. // String returns the string representation
  11679. func (s DescribeSpotInstanceRequestsInput) String() string {
  11680. return awsutil.Prettify(s)
  11681. }
  11682. // GoString returns the string representation
  11683. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  11684. return s.String()
  11685. }
  11686. // Contains the output of DescribeSpotInstanceRequests.
  11687. type DescribeSpotInstanceRequestsOutput struct {
  11688. // One or more Spot Instance requests.
  11689. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  11690. metadataDescribeSpotInstanceRequestsOutput `json:"-" xml:"-"`
  11691. }
  11692. type metadataDescribeSpotInstanceRequestsOutput struct {
  11693. SDKShapeTraits bool `type:"structure"`
  11694. }
  11695. // String returns the string representation
  11696. func (s DescribeSpotInstanceRequestsOutput) String() string {
  11697. return awsutil.Prettify(s)
  11698. }
  11699. // GoString returns the string representation
  11700. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  11701. return s.String()
  11702. }
  11703. // Contains the parameters for DescribeSpotPriceHistory.
  11704. type DescribeSpotPriceHistoryInput struct {
  11705. // Filters the results by the specified Availability Zone.
  11706. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  11707. // Checks whether you have the required permissions for the action, without
  11708. // actually making the request, and provides an error response. If you have
  11709. // the required permissions, the error response is DryRunOperation. Otherwise,
  11710. // it is UnauthorizedOperation.
  11711. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11712. // The date and time, up to the current date, from which to stop retrieving
  11713. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  11714. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  11715. // One or more filters.
  11716. //
  11717. // availability-zone - The Availability Zone for which prices should be returned.
  11718. //
  11719. // instance-type - The type of instance (for example, m1.small).
  11720. //
  11721. // product-description - The product description for the Spot Price (Linux/UNIX
  11722. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC)
  11723. // | Windows (Amazon VPC)).
  11724. //
  11725. // spot-price - The Spot Price. The value must match exactly (or use wildcards;
  11726. // greater than or less than comparison is not supported).
  11727. //
  11728. // timestamp - The timestamp of the Spot Price history, in UTC format (for
  11729. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  11730. // than or less than comparison is not supported.
  11731. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11732. // Filters the results by the specified instance types.
  11733. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  11734. // The maximum number of results to return in a single call. Specify a value
  11735. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  11736. // results, make another call with the returned NextToken value.
  11737. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  11738. // The token for the next set of results.
  11739. NextToken *string `locationName:"nextToken" type:"string"`
  11740. // Filters the results by the specified basic product descriptions.
  11741. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  11742. // The date and time, up to the past 90 days, from which to start retrieving
  11743. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  11744. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  11745. metadataDescribeSpotPriceHistoryInput `json:"-" xml:"-"`
  11746. }
  11747. type metadataDescribeSpotPriceHistoryInput struct {
  11748. SDKShapeTraits bool `type:"structure"`
  11749. }
  11750. // String returns the string representation
  11751. func (s DescribeSpotPriceHistoryInput) String() string {
  11752. return awsutil.Prettify(s)
  11753. }
  11754. // GoString returns the string representation
  11755. func (s DescribeSpotPriceHistoryInput) GoString() string {
  11756. return s.String()
  11757. }
  11758. // Contains the output of DescribeSpotPriceHistory.
  11759. type DescribeSpotPriceHistoryOutput struct {
  11760. // The token required to retrieve the next set of results. This value is null
  11761. // when there are no more results to return.
  11762. NextToken *string `locationName:"nextToken" type:"string"`
  11763. // The historical Spot Prices.
  11764. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  11765. metadataDescribeSpotPriceHistoryOutput `json:"-" xml:"-"`
  11766. }
  11767. type metadataDescribeSpotPriceHistoryOutput struct {
  11768. SDKShapeTraits bool `type:"structure"`
  11769. }
  11770. // String returns the string representation
  11771. func (s DescribeSpotPriceHistoryOutput) String() string {
  11772. return awsutil.Prettify(s)
  11773. }
  11774. // GoString returns the string representation
  11775. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  11776. return s.String()
  11777. }
  11778. type DescribeSubnetsInput struct {
  11779. // Checks whether you have the required permissions for the action, without
  11780. // actually making the request, and provides an error response. If you have
  11781. // the required permissions, the error response is DryRunOperation. Otherwise,
  11782. // it is UnauthorizedOperation.
  11783. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11784. // One or more filters.
  11785. //
  11786. // availabilityZone - The Availability Zone for the subnet. You can also
  11787. // use availability-zone as the filter name.
  11788. //
  11789. // available-ip-address-count - The number of IP addresses in the subnet
  11790. // that are available.
  11791. //
  11792. // cidrBlock - The CIDR block of the subnet. The CIDR block you specify must
  11793. // exactly match the subnet's CIDR block for information to be returned for
  11794. // the subnet. You can also use cidr or cidr-block as the filter names.
  11795. //
  11796. // defaultForAz - Indicates whether this is the default subnet for the Availability
  11797. // Zone. You can also use default-for-az as the filter name.
  11798. //
  11799. // state - The state of the subnet (pending | available).
  11800. //
  11801. // subnet-id - The ID of the subnet.
  11802. //
  11803. // tag:key=value - The key/value combination of a tag assigned to the resource.
  11804. //
  11805. // tag-key - The key of a tag assigned to the resource. This filter is independent
  11806. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  11807. // and the filter "tag-value=X", you get any resources assigned both the tag
  11808. // key Purpose (regardless of what the tag's value is), and the tag value X
  11809. // (regardless of what the tag's key is). If you want to list only resources
  11810. // where Purpose is X, see the tag:key=value filter.
  11811. //
  11812. // tag-value - The value of a tag assigned to the resource. This filter is
  11813. // independent of the tag-key filter.
  11814. //
  11815. // vpc-id - The ID of the VPC for the subnet.
  11816. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11817. // One or more subnet IDs.
  11818. //
  11819. // Default: Describes all your subnets.
  11820. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  11821. metadataDescribeSubnetsInput `json:"-" xml:"-"`
  11822. }
  11823. type metadataDescribeSubnetsInput struct {
  11824. SDKShapeTraits bool `type:"structure"`
  11825. }
  11826. // String returns the string representation
  11827. func (s DescribeSubnetsInput) String() string {
  11828. return awsutil.Prettify(s)
  11829. }
  11830. // GoString returns the string representation
  11831. func (s DescribeSubnetsInput) GoString() string {
  11832. return s.String()
  11833. }
  11834. type DescribeSubnetsOutput struct {
  11835. // Information about one or more subnets.
  11836. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  11837. metadataDescribeSubnetsOutput `json:"-" xml:"-"`
  11838. }
  11839. type metadataDescribeSubnetsOutput struct {
  11840. SDKShapeTraits bool `type:"structure"`
  11841. }
  11842. // String returns the string representation
  11843. func (s DescribeSubnetsOutput) String() string {
  11844. return awsutil.Prettify(s)
  11845. }
  11846. // GoString returns the string representation
  11847. func (s DescribeSubnetsOutput) GoString() string {
  11848. return s.String()
  11849. }
  11850. type DescribeTagsInput struct {
  11851. // Checks whether you have the required permissions for the action, without
  11852. // actually making the request, and provides an error response. If you have
  11853. // the required permissions, the error response is DryRunOperation. Otherwise,
  11854. // it is UnauthorizedOperation.
  11855. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11856. // One or more filters.
  11857. //
  11858. // key - The tag key.
  11859. //
  11860. // resource-id - The resource ID.
  11861. //
  11862. // resource-type - The resource type (customer-gateway | dhcp-options | image
  11863. // | instance | internet-gateway | network-acl | network-interface | reserved-instances
  11864. // | route-table | security-group | snapshot | spot-instances-request | subnet
  11865. // | volume | vpc | vpn-connection | vpn-gateway).
  11866. //
  11867. // value - The tag value.
  11868. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11869. // The maximum number of results to return for the request in a single page.
  11870. // The remaining results of the initial request can be seen by sending another
  11871. // request with the returned NextToken value. This value can be between 5 and
  11872. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  11873. // are returned.
  11874. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  11875. // The token to retrieve the next page of results.
  11876. NextToken *string `locationName:"nextToken" type:"string"`
  11877. metadataDescribeTagsInput `json:"-" xml:"-"`
  11878. }
  11879. type metadataDescribeTagsInput struct {
  11880. SDKShapeTraits bool `type:"structure"`
  11881. }
  11882. // String returns the string representation
  11883. func (s DescribeTagsInput) String() string {
  11884. return awsutil.Prettify(s)
  11885. }
  11886. // GoString returns the string representation
  11887. func (s DescribeTagsInput) GoString() string {
  11888. return s.String()
  11889. }
  11890. type DescribeTagsOutput struct {
  11891. // The token to use to retrieve the next page of results. This value is null
  11892. // when there are no more results to return..
  11893. NextToken *string `locationName:"nextToken" type:"string"`
  11894. // A list of tags.
  11895. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  11896. metadataDescribeTagsOutput `json:"-" xml:"-"`
  11897. }
  11898. type metadataDescribeTagsOutput struct {
  11899. SDKShapeTraits bool `type:"structure"`
  11900. }
  11901. // String returns the string representation
  11902. func (s DescribeTagsOutput) String() string {
  11903. return awsutil.Prettify(s)
  11904. }
  11905. // GoString returns the string representation
  11906. func (s DescribeTagsOutput) GoString() string {
  11907. return s.String()
  11908. }
  11909. type DescribeVolumeAttributeInput struct {
  11910. // The instance attribute.
  11911. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  11912. // Checks whether you have the required permissions for the action, without
  11913. // actually making the request, and provides an error response. If you have
  11914. // the required permissions, the error response is DryRunOperation. Otherwise,
  11915. // it is UnauthorizedOperation.
  11916. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11917. // The ID of the volume.
  11918. VolumeId *string `type:"string" required:"true"`
  11919. metadataDescribeVolumeAttributeInput `json:"-" xml:"-"`
  11920. }
  11921. type metadataDescribeVolumeAttributeInput struct {
  11922. SDKShapeTraits bool `type:"structure"`
  11923. }
  11924. // String returns the string representation
  11925. func (s DescribeVolumeAttributeInput) String() string {
  11926. return awsutil.Prettify(s)
  11927. }
  11928. // GoString returns the string representation
  11929. func (s DescribeVolumeAttributeInput) GoString() string {
  11930. return s.String()
  11931. }
  11932. type DescribeVolumeAttributeOutput struct {
  11933. // The state of autoEnableIO attribute.
  11934. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  11935. // A list of product codes.
  11936. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  11937. // The ID of the volume.
  11938. VolumeId *string `locationName:"volumeId" type:"string"`
  11939. metadataDescribeVolumeAttributeOutput `json:"-" xml:"-"`
  11940. }
  11941. type metadataDescribeVolumeAttributeOutput struct {
  11942. SDKShapeTraits bool `type:"structure"`
  11943. }
  11944. // String returns the string representation
  11945. func (s DescribeVolumeAttributeOutput) String() string {
  11946. return awsutil.Prettify(s)
  11947. }
  11948. // GoString returns the string representation
  11949. func (s DescribeVolumeAttributeOutput) GoString() string {
  11950. return s.String()
  11951. }
  11952. type DescribeVolumeStatusInput struct {
  11953. // Checks whether you have the required permissions for the action, without
  11954. // actually making the request, and provides an error response. If you have
  11955. // the required permissions, the error response is DryRunOperation. Otherwise,
  11956. // it is UnauthorizedOperation.
  11957. DryRun *bool `locationName:"dryRun" type:"boolean"`
  11958. // One or more filters.
  11959. //
  11960. // action.code - The action code for the event (for example, enable-volume-io).
  11961. //
  11962. // action.description - A description of the action.
  11963. //
  11964. // action.event-id - The event ID associated with the action.
  11965. //
  11966. // availability-zone - The Availability Zone of the instance.
  11967. //
  11968. // event.description - A description of the event.
  11969. //
  11970. // event.event-id - The event ID.
  11971. //
  11972. // event.event-type - The event type (for io-enabled: passed | failed; for
  11973. // io-performance: io-performance:degraded | io-performance:severely-degraded
  11974. // | io-performance:stalled).
  11975. //
  11976. // event.not-after - The latest end time for the event.
  11977. //
  11978. // event.not-before - The earliest start time for the event.
  11979. //
  11980. // volume-status.details-name - The cause for volume-status.status (io-enabled
  11981. // | io-performance).
  11982. //
  11983. // volume-status.details-status - The status of volume-status.details-name
  11984. // (for io-enabled: passed | failed; for io-performance: normal | degraded |
  11985. // severely-degraded | stalled).
  11986. //
  11987. // volume-status.status - The status of the volume (ok | impaired | warning
  11988. // | insufficient-data).
  11989. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  11990. // The maximum number of volume results returned by DescribeVolumeStatus in
  11991. // paginated output. When this parameter is used, the request only returns MaxResults
  11992. // results in a single page along with a NextToken response element. The remaining
  11993. // results of the initial request can be seen by sending another request with
  11994. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  11995. // is given a value larger than 1000, only 1000 results are returned. If this
  11996. // parameter is not used, then DescribeVolumeStatus returns all results. You
  11997. // cannot specify this parameter and the volume IDs parameter in the same request.
  11998. MaxResults *int64 `type:"integer"`
  11999. // The NextToken value to include in a future DescribeVolumeStatus request.
  12000. // When the results of the request exceed MaxResults, this value can be used
  12001. // to retrieve the next page of results. This value is null when there are no
  12002. // more results to return.
  12003. NextToken *string `type:"string"`
  12004. // One or more volume IDs.
  12005. //
  12006. // Default: Describes all your volumes.
  12007. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  12008. metadataDescribeVolumeStatusInput `json:"-" xml:"-"`
  12009. }
  12010. type metadataDescribeVolumeStatusInput struct {
  12011. SDKShapeTraits bool `type:"structure"`
  12012. }
  12013. // String returns the string representation
  12014. func (s DescribeVolumeStatusInput) String() string {
  12015. return awsutil.Prettify(s)
  12016. }
  12017. // GoString returns the string representation
  12018. func (s DescribeVolumeStatusInput) GoString() string {
  12019. return s.String()
  12020. }
  12021. type DescribeVolumeStatusOutput struct {
  12022. // The token to use to retrieve the next page of results. This value is null
  12023. // when there are no more results to return.
  12024. NextToken *string `locationName:"nextToken" type:"string"`
  12025. // A list of volumes.
  12026. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  12027. metadataDescribeVolumeStatusOutput `json:"-" xml:"-"`
  12028. }
  12029. type metadataDescribeVolumeStatusOutput struct {
  12030. SDKShapeTraits bool `type:"structure"`
  12031. }
  12032. // String returns the string representation
  12033. func (s DescribeVolumeStatusOutput) String() string {
  12034. return awsutil.Prettify(s)
  12035. }
  12036. // GoString returns the string representation
  12037. func (s DescribeVolumeStatusOutput) GoString() string {
  12038. return s.String()
  12039. }
  12040. type DescribeVolumesInput struct {
  12041. // Checks whether you have the required permissions for the action, without
  12042. // actually making the request, and provides an error response. If you have
  12043. // the required permissions, the error response is DryRunOperation. Otherwise,
  12044. // it is UnauthorizedOperation.
  12045. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12046. // One or more filters.
  12047. //
  12048. // attachment.attach-time - The time stamp when the attachment initiated.
  12049. //
  12050. // attachment.delete-on-termination - Whether the volume is deleted on instance
  12051. // termination.
  12052. //
  12053. // attachment.device - The device name that is exposed to the instance (for
  12054. // example, /dev/sda1).
  12055. //
  12056. // attachment.instance-id - The ID of the instance the volume is attached
  12057. // to.
  12058. //
  12059. // attachment.status - The attachment state (attaching | attached | detaching
  12060. // | detached).
  12061. //
  12062. // availability-zone - The Availability Zone in which the volume was created.
  12063. //
  12064. // create-time - The time stamp when the volume was created.
  12065. //
  12066. // encrypted - The encryption status of the volume.
  12067. //
  12068. // size - The size of the volume, in GiB.
  12069. //
  12070. // snapshot-id - The snapshot from which the volume was created.
  12071. //
  12072. // status - The status of the volume (creating | available | in-use | deleting
  12073. // | deleted | error).
  12074. //
  12075. // tag:key=value - The key/value combination of a tag assigned to the resource.
  12076. //
  12077. // tag-key - The key of a tag assigned to the resource. This filter is independent
  12078. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  12079. // and the filter "tag-value=X", you get any resources assigned both the tag
  12080. // key Purpose (regardless of what the tag's value is), and the tag value X
  12081. // (regardless of what the tag's key is). If you want to list only resources
  12082. // where Purpose is X, see the tag:key=value filter.
  12083. //
  12084. // tag-value - The value of a tag assigned to the resource. This filter is
  12085. // independent of the tag-key filter.
  12086. //
  12087. // volume-id - The volume ID.
  12088. //
  12089. // volume-type - The Amazon EBS volume type. This can be gp2 for General
  12090. // Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, or standard
  12091. // for Magnetic volumes.
  12092. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12093. // The maximum number of volume results returned by DescribeVolumes in paginated
  12094. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  12095. // results in a single page along with a NextToken response element. The remaining
  12096. // results of the initial request can be seen by sending another DescribeVolumes
  12097. // request with the returned NextToken value. This value can be between 5 and
  12098. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  12099. // are returned. If this parameter is not used, then DescribeVolumes returns
  12100. // all results. You cannot specify this parameter and the volume IDs parameter
  12101. // in the same request.
  12102. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  12103. // The NextToken value returned from a previous paginated DescribeVolumes request
  12104. // where MaxResults was used and the results exceeded the value of that parameter.
  12105. // Pagination continues from the end of the previous results that returned the
  12106. // NextToken value. This value is null when there are no more results to return.
  12107. NextToken *string `locationName:"nextToken" type:"string"`
  12108. // One or more volume IDs.
  12109. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  12110. metadataDescribeVolumesInput `json:"-" xml:"-"`
  12111. }
  12112. type metadataDescribeVolumesInput struct {
  12113. SDKShapeTraits bool `type:"structure"`
  12114. }
  12115. // String returns the string representation
  12116. func (s DescribeVolumesInput) String() string {
  12117. return awsutil.Prettify(s)
  12118. }
  12119. // GoString returns the string representation
  12120. func (s DescribeVolumesInput) GoString() string {
  12121. return s.String()
  12122. }
  12123. type DescribeVolumesOutput struct {
  12124. // The NextToken value to include in a future DescribeVolumes request. When
  12125. // the results of a DescribeVolumes request exceed MaxResults, this value can
  12126. // be used to retrieve the next page of results. This value is null when there
  12127. // are no more results to return.
  12128. NextToken *string `locationName:"nextToken" type:"string"`
  12129. // Information about the volumes.
  12130. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  12131. metadataDescribeVolumesOutput `json:"-" xml:"-"`
  12132. }
  12133. type metadataDescribeVolumesOutput struct {
  12134. SDKShapeTraits bool `type:"structure"`
  12135. }
  12136. // String returns the string representation
  12137. func (s DescribeVolumesOutput) String() string {
  12138. return awsutil.Prettify(s)
  12139. }
  12140. // GoString returns the string representation
  12141. func (s DescribeVolumesOutput) GoString() string {
  12142. return s.String()
  12143. }
  12144. type DescribeVpcAttributeInput struct {
  12145. // The VPC attribute.
  12146. Attribute *string `type:"string" enum:"VpcAttributeName"`
  12147. // Checks whether you have the required permissions for the action, without
  12148. // actually making the request, and provides an error response. If you have
  12149. // the required permissions, the error response is DryRunOperation. Otherwise,
  12150. // it is UnauthorizedOperation.
  12151. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12152. // The ID of the VPC.
  12153. VpcId *string `type:"string" required:"true"`
  12154. metadataDescribeVpcAttributeInput `json:"-" xml:"-"`
  12155. }
  12156. type metadataDescribeVpcAttributeInput struct {
  12157. SDKShapeTraits bool `type:"structure"`
  12158. }
  12159. // String returns the string representation
  12160. func (s DescribeVpcAttributeInput) String() string {
  12161. return awsutil.Prettify(s)
  12162. }
  12163. // GoString returns the string representation
  12164. func (s DescribeVpcAttributeInput) GoString() string {
  12165. return s.String()
  12166. }
  12167. type DescribeVpcAttributeOutput struct {
  12168. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  12169. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  12170. // they do not.
  12171. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  12172. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  12173. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  12174. // to their corresponding IP addresses; otherwise, it does not.
  12175. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  12176. // The ID of the VPC.
  12177. VpcId *string `locationName:"vpcId" type:"string"`
  12178. metadataDescribeVpcAttributeOutput `json:"-" xml:"-"`
  12179. }
  12180. type metadataDescribeVpcAttributeOutput struct {
  12181. SDKShapeTraits bool `type:"structure"`
  12182. }
  12183. // String returns the string representation
  12184. func (s DescribeVpcAttributeOutput) String() string {
  12185. return awsutil.Prettify(s)
  12186. }
  12187. // GoString returns the string representation
  12188. func (s DescribeVpcAttributeOutput) GoString() string {
  12189. return s.String()
  12190. }
  12191. type DescribeVpcClassicLinkInput struct {
  12192. // Checks whether you have the required permissions for the action, without
  12193. // actually making the request, and provides an error response. If you have
  12194. // the required permissions, the error response is DryRunOperation. Otherwise,
  12195. // it is UnauthorizedOperation.
  12196. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12197. // One or more filters.
  12198. //
  12199. // is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true
  12200. // | false).
  12201. //
  12202. // tag:key=value - The key/value combination of a tag assigned to the resource.
  12203. //
  12204. // tag-key - The key of a tag assigned to the resource. This filter is independent
  12205. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  12206. // and the filter "tag-value=X", you get any resources assigned both the tag
  12207. // key Purpose (regardless of what the tag's value is), and the tag value X
  12208. // (regardless of what the tag's key is). If you want to list only resources
  12209. // where Purpose is X, see the tag:key=value filter.
  12210. //
  12211. // tag-value - The value of a tag assigned to the resource. This filter is
  12212. // independent of the tag-key filter.
  12213. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12214. // One or more VPCs for which you want to describe the ClassicLink status.
  12215. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  12216. metadataDescribeVpcClassicLinkInput `json:"-" xml:"-"`
  12217. }
  12218. type metadataDescribeVpcClassicLinkInput struct {
  12219. SDKShapeTraits bool `type:"structure"`
  12220. }
  12221. // String returns the string representation
  12222. func (s DescribeVpcClassicLinkInput) String() string {
  12223. return awsutil.Prettify(s)
  12224. }
  12225. // GoString returns the string representation
  12226. func (s DescribeVpcClassicLinkInput) GoString() string {
  12227. return s.String()
  12228. }
  12229. type DescribeVpcClassicLinkOutput struct {
  12230. // The ClassicLink status of one or more VPCs.
  12231. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  12232. metadataDescribeVpcClassicLinkOutput `json:"-" xml:"-"`
  12233. }
  12234. type metadataDescribeVpcClassicLinkOutput struct {
  12235. SDKShapeTraits bool `type:"structure"`
  12236. }
  12237. // String returns the string representation
  12238. func (s DescribeVpcClassicLinkOutput) String() string {
  12239. return awsutil.Prettify(s)
  12240. }
  12241. // GoString returns the string representation
  12242. func (s DescribeVpcClassicLinkOutput) GoString() string {
  12243. return s.String()
  12244. }
  12245. type DescribeVpcEndpointServicesInput struct {
  12246. // Checks whether you have the required permissions for the action, without
  12247. // actually making the request, and provides an error response. If you have
  12248. // the required permissions, the error response is DryRunOperation. Otherwise,
  12249. // it is UnauthorizedOperation.
  12250. DryRun *bool `type:"boolean"`
  12251. // The maximum number of items to return for this request. The request returns
  12252. // a token that you can specify in a subsequent call to get the next set of
  12253. // results.
  12254. //
  12255. // Constraint: If the value is greater than 1000, we return only 1000 items.
  12256. MaxResults *int64 `type:"integer"`
  12257. // The token for the next set of items to return. (You received this token from
  12258. // a prior call.)
  12259. NextToken *string `type:"string"`
  12260. metadataDescribeVpcEndpointServicesInput `json:"-" xml:"-"`
  12261. }
  12262. type metadataDescribeVpcEndpointServicesInput struct {
  12263. SDKShapeTraits bool `type:"structure"`
  12264. }
  12265. // String returns the string representation
  12266. func (s DescribeVpcEndpointServicesInput) String() string {
  12267. return awsutil.Prettify(s)
  12268. }
  12269. // GoString returns the string representation
  12270. func (s DescribeVpcEndpointServicesInput) GoString() string {
  12271. return s.String()
  12272. }
  12273. type DescribeVpcEndpointServicesOutput struct {
  12274. // The token to use when requesting the next set of items. If there are no additional
  12275. // items to return, the string is empty.
  12276. NextToken *string `locationName:"nextToken" type:"string"`
  12277. // A list of supported AWS services.
  12278. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  12279. metadataDescribeVpcEndpointServicesOutput `json:"-" xml:"-"`
  12280. }
  12281. type metadataDescribeVpcEndpointServicesOutput struct {
  12282. SDKShapeTraits bool `type:"structure"`
  12283. }
  12284. // String returns the string representation
  12285. func (s DescribeVpcEndpointServicesOutput) String() string {
  12286. return awsutil.Prettify(s)
  12287. }
  12288. // GoString returns the string representation
  12289. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  12290. return s.String()
  12291. }
  12292. type DescribeVpcEndpointsInput struct {
  12293. // Checks whether you have the required permissions for the action, without
  12294. // actually making the request, and provides an error response. If you have
  12295. // the required permissions, the error response is DryRunOperation. Otherwise,
  12296. // it is UnauthorizedOperation.
  12297. DryRun *bool `type:"boolean"`
  12298. // One or more filters.
  12299. //
  12300. // service-name: The name of the AWS service.
  12301. //
  12302. // vpc-id: The ID of the VPC in which the endpoint resides.
  12303. //
  12304. // vpc-endpoint-id: The ID of the endpoint.
  12305. //
  12306. // vpc-endpoint-state: The state of the endpoint. (pending | available |
  12307. // deleting | deleted)
  12308. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12309. // The maximum number of items to return for this request. The request returns
  12310. // a token that you can specify in a subsequent call to get the next set of
  12311. // results.
  12312. //
  12313. // Constraint: If the value is greater than 1000, we return only 1000 items.
  12314. MaxResults *int64 `type:"integer"`
  12315. // The token for the next set of items to return. (You received this token from
  12316. // a prior call.)
  12317. NextToken *string `type:"string"`
  12318. // One or more endpoint IDs.
  12319. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  12320. metadataDescribeVpcEndpointsInput `json:"-" xml:"-"`
  12321. }
  12322. type metadataDescribeVpcEndpointsInput struct {
  12323. SDKShapeTraits bool `type:"structure"`
  12324. }
  12325. // String returns the string representation
  12326. func (s DescribeVpcEndpointsInput) String() string {
  12327. return awsutil.Prettify(s)
  12328. }
  12329. // GoString returns the string representation
  12330. func (s DescribeVpcEndpointsInput) GoString() string {
  12331. return s.String()
  12332. }
  12333. type DescribeVpcEndpointsOutput struct {
  12334. // The token to use when requesting the next set of items. If there are no additional
  12335. // items to return, the string is empty.
  12336. NextToken *string `locationName:"nextToken" type:"string"`
  12337. // Information about the endpoints.
  12338. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  12339. metadataDescribeVpcEndpointsOutput `json:"-" xml:"-"`
  12340. }
  12341. type metadataDescribeVpcEndpointsOutput struct {
  12342. SDKShapeTraits bool `type:"structure"`
  12343. }
  12344. // String returns the string representation
  12345. func (s DescribeVpcEndpointsOutput) String() string {
  12346. return awsutil.Prettify(s)
  12347. }
  12348. // GoString returns the string representation
  12349. func (s DescribeVpcEndpointsOutput) GoString() string {
  12350. return s.String()
  12351. }
  12352. type DescribeVpcPeeringConnectionsInput struct {
  12353. // Checks whether you have the required permissions for the action, without
  12354. // actually making the request, and provides an error response. If you have
  12355. // the required permissions, the error response is DryRunOperation. Otherwise,
  12356. // it is UnauthorizedOperation.
  12357. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12358. // One or more filters.
  12359. //
  12360. // accepter-vpc-info.cidr-block - The CIDR block of the peer VPC.
  12361. //
  12362. // accepter-vpc-info.owner-id - The AWS account ID of the owner of the peer
  12363. // VPC.
  12364. //
  12365. // accepter-vpc-info.vpc-id - The ID of the peer VPC.
  12366. //
  12367. // expiration-time - The expiration date and time for the VPC peering connection.
  12368. //
  12369. // requester-vpc-info.cidr-block - The CIDR block of the requester's VPC.
  12370. //
  12371. // requester-vpc-info.owner-id - The AWS account ID of the owner of the requester
  12372. // VPC.
  12373. //
  12374. // requester-vpc-info.vpc-id - The ID of the requester VPC.
  12375. //
  12376. // status-code - The status of the VPC peering connection (pending-acceptance
  12377. // | failed | expired | provisioning | active | deleted | rejected).
  12378. //
  12379. // status-message - A message that provides more information about the status
  12380. // of the VPC peering connection, if applicable.
  12381. //
  12382. // tag:key=value - The key/value combination of a tag assigned to the resource.
  12383. //
  12384. // tag-key - The key of a tag assigned to the resource. This filter is independent
  12385. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  12386. // and the filter "tag-value=X", you get any resources assigned both the tag
  12387. // key Purpose (regardless of what the tag's value is), and the tag value X
  12388. // (regardless of what the tag's key is). If you want to list only resources
  12389. // where Purpose is X, see the tag:key=value filter.
  12390. //
  12391. // tag-value - The value of a tag assigned to the resource. This filter is
  12392. // independent of the tag-key filter.
  12393. //
  12394. // vpc-peering-connection-id - The ID of the VPC peering connection.
  12395. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12396. // One or more VPC peering connection IDs.
  12397. //
  12398. // Default: Describes all your VPC peering connections.
  12399. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  12400. metadataDescribeVpcPeeringConnectionsInput `json:"-" xml:"-"`
  12401. }
  12402. type metadataDescribeVpcPeeringConnectionsInput struct {
  12403. SDKShapeTraits bool `type:"structure"`
  12404. }
  12405. // String returns the string representation
  12406. func (s DescribeVpcPeeringConnectionsInput) String() string {
  12407. return awsutil.Prettify(s)
  12408. }
  12409. // GoString returns the string representation
  12410. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  12411. return s.String()
  12412. }
  12413. type DescribeVpcPeeringConnectionsOutput struct {
  12414. // Information about the VPC peering connections.
  12415. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  12416. metadataDescribeVpcPeeringConnectionsOutput `json:"-" xml:"-"`
  12417. }
  12418. type metadataDescribeVpcPeeringConnectionsOutput struct {
  12419. SDKShapeTraits bool `type:"structure"`
  12420. }
  12421. // String returns the string representation
  12422. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  12423. return awsutil.Prettify(s)
  12424. }
  12425. // GoString returns the string representation
  12426. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  12427. return s.String()
  12428. }
  12429. type DescribeVpcsInput struct {
  12430. // Checks whether you have the required permissions for the action, without
  12431. // actually making the request, and provides an error response. If you have
  12432. // the required permissions, the error response is DryRunOperation. Otherwise,
  12433. // it is UnauthorizedOperation.
  12434. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12435. // One or more filters.
  12436. //
  12437. // cidr - The CIDR block of the VPC. The CIDR block you specify must exactly
  12438. // match the VPC's CIDR block for information to be returned for the VPC. Must
  12439. // contain the slash followed by one or two digits (for example, /28).
  12440. //
  12441. // dhcp-options-id - The ID of a set of DHCP options.
  12442. //
  12443. // isDefault - Indicates whether the VPC is the default VPC.
  12444. //
  12445. // state - The state of the VPC (pending | available).
  12446. //
  12447. // tag:key=value - The key/value combination of a tag assigned to the resource.
  12448. //
  12449. // tag-key - The key of a tag assigned to the resource. This filter is independent
  12450. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  12451. // and the filter "tag-value=X", you get any resources assigned both the tag
  12452. // key Purpose (regardless of what the tag's value is), and the tag value X
  12453. // (regardless of what the tag's key is). If you want to list only resources
  12454. // where Purpose is X, see the tag:key=value filter.
  12455. //
  12456. // tag-value - The value of a tag assigned to the resource. This filter is
  12457. // independent of the tag-key filter.
  12458. //
  12459. // vpc-id - The ID of the VPC.
  12460. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12461. // One or more VPC IDs.
  12462. //
  12463. // Default: Describes all your VPCs.
  12464. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  12465. metadataDescribeVpcsInput `json:"-" xml:"-"`
  12466. }
  12467. type metadataDescribeVpcsInput struct {
  12468. SDKShapeTraits bool `type:"structure"`
  12469. }
  12470. // String returns the string representation
  12471. func (s DescribeVpcsInput) String() string {
  12472. return awsutil.Prettify(s)
  12473. }
  12474. // GoString returns the string representation
  12475. func (s DescribeVpcsInput) GoString() string {
  12476. return s.String()
  12477. }
  12478. type DescribeVpcsOutput struct {
  12479. // Information about one or more VPCs.
  12480. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  12481. metadataDescribeVpcsOutput `json:"-" xml:"-"`
  12482. }
  12483. type metadataDescribeVpcsOutput struct {
  12484. SDKShapeTraits bool `type:"structure"`
  12485. }
  12486. // String returns the string representation
  12487. func (s DescribeVpcsOutput) String() string {
  12488. return awsutil.Prettify(s)
  12489. }
  12490. // GoString returns the string representation
  12491. func (s DescribeVpcsOutput) GoString() string {
  12492. return s.String()
  12493. }
  12494. type DescribeVpnConnectionsInput struct {
  12495. // Checks whether you have the required permissions for the action, without
  12496. // actually making the request, and provides an error response. If you have
  12497. // the required permissions, the error response is DryRunOperation. Otherwise,
  12498. // it is UnauthorizedOperation.
  12499. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12500. // One or more filters.
  12501. //
  12502. // customer-gateway-configuration - The configuration information for the
  12503. // customer gateway.
  12504. //
  12505. // customer-gateway-id - The ID of a customer gateway associated with the
  12506. // VPN connection.
  12507. //
  12508. // state - The state of the VPN connection (pending | available | deleting
  12509. // | deleted).
  12510. //
  12511. // option.static-routes-only - Indicates whether the connection has static
  12512. // routes only. Used for devices that do not support Border Gateway Protocol
  12513. // (BGP).
  12514. //
  12515. // route.destination-cidr-block - The destination CIDR block. This corresponds
  12516. // to the subnet used in a customer data center.
  12517. //
  12518. // bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  12519. // device.
  12520. //
  12521. // tag:key=value - The key/value combination of a tag assigned to the resource.
  12522. //
  12523. // tag-key - The key of a tag assigned to the resource. This filter is independent
  12524. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  12525. // and the filter "tag-value=X", you get any resources assigned both the tag
  12526. // key Purpose (regardless of what the tag's value is), and the tag value X
  12527. // (regardless of what the tag's key is). If you want to list only resources
  12528. // where Purpose is X, see the tag:key=value filter.
  12529. //
  12530. // tag-value - The value of a tag assigned to the resource. This filter is
  12531. // independent of the tag-key filter.
  12532. //
  12533. // type - The type of VPN connection. Currently the only supported type is
  12534. // ipsec.1.
  12535. //
  12536. // vpn-connection-id - The ID of the VPN connection.
  12537. //
  12538. // vpn-gateway-id - The ID of a virtual private gateway associated with the
  12539. // VPN connection.
  12540. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12541. // One or more VPN connection IDs.
  12542. //
  12543. // Default: Describes your VPN connections.
  12544. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  12545. metadataDescribeVpnConnectionsInput `json:"-" xml:"-"`
  12546. }
  12547. type metadataDescribeVpnConnectionsInput struct {
  12548. SDKShapeTraits bool `type:"structure"`
  12549. }
  12550. // String returns the string representation
  12551. func (s DescribeVpnConnectionsInput) String() string {
  12552. return awsutil.Prettify(s)
  12553. }
  12554. // GoString returns the string representation
  12555. func (s DescribeVpnConnectionsInput) GoString() string {
  12556. return s.String()
  12557. }
  12558. type DescribeVpnConnectionsOutput struct {
  12559. // Information about one or more VPN connections.
  12560. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  12561. metadataDescribeVpnConnectionsOutput `json:"-" xml:"-"`
  12562. }
  12563. type metadataDescribeVpnConnectionsOutput struct {
  12564. SDKShapeTraits bool `type:"structure"`
  12565. }
  12566. // String returns the string representation
  12567. func (s DescribeVpnConnectionsOutput) String() string {
  12568. return awsutil.Prettify(s)
  12569. }
  12570. // GoString returns the string representation
  12571. func (s DescribeVpnConnectionsOutput) GoString() string {
  12572. return s.String()
  12573. }
  12574. type DescribeVpnGatewaysInput struct {
  12575. // Checks whether you have the required permissions for the action, without
  12576. // actually making the request, and provides an error response. If you have
  12577. // the required permissions, the error response is DryRunOperation. Otherwise,
  12578. // it is UnauthorizedOperation.
  12579. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12580. // One or more filters.
  12581. //
  12582. // attachment.state - The current state of the attachment between the gateway
  12583. // and the VPC (attaching | attached | detaching | detached).
  12584. //
  12585. // attachment.vpc-id - The ID of an attached VPC.
  12586. //
  12587. // availability-zone - The Availability Zone for the virtual private gateway.
  12588. //
  12589. // state - The state of the virtual private gateway (pending | available
  12590. // | deleting | deleted).
  12591. //
  12592. // tag:key=value - The key/value combination of a tag assigned to the resource.
  12593. //
  12594. // tag-key - The key of a tag assigned to the resource. This filter is independent
  12595. // of the tag-value filter. For example, if you use both the filter "tag-key=Purpose"
  12596. // and the filter "tag-value=X", you get any resources assigned both the tag
  12597. // key Purpose (regardless of what the tag's value is), and the tag value X
  12598. // (regardless of what the tag's key is). If you want to list only resources
  12599. // where Purpose is X, see the tag:key=value filter.
  12600. //
  12601. // tag-value - The value of a tag assigned to the resource. This filter is
  12602. // independent of the tag-key filter.
  12603. //
  12604. // type - The type of virtual private gateway. Currently the only supported
  12605. // type is ipsec.1.
  12606. //
  12607. // vpn-gateway-id - The ID of the virtual private gateway.
  12608. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  12609. // One or more virtual private gateway IDs.
  12610. //
  12611. // Default: Describes all your virtual private gateways.
  12612. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  12613. metadataDescribeVpnGatewaysInput `json:"-" xml:"-"`
  12614. }
  12615. type metadataDescribeVpnGatewaysInput struct {
  12616. SDKShapeTraits bool `type:"structure"`
  12617. }
  12618. // String returns the string representation
  12619. func (s DescribeVpnGatewaysInput) String() string {
  12620. return awsutil.Prettify(s)
  12621. }
  12622. // GoString returns the string representation
  12623. func (s DescribeVpnGatewaysInput) GoString() string {
  12624. return s.String()
  12625. }
  12626. type DescribeVpnGatewaysOutput struct {
  12627. // Information about one or more virtual private gateways.
  12628. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  12629. metadataDescribeVpnGatewaysOutput `json:"-" xml:"-"`
  12630. }
  12631. type metadataDescribeVpnGatewaysOutput struct {
  12632. SDKShapeTraits bool `type:"structure"`
  12633. }
  12634. // String returns the string representation
  12635. func (s DescribeVpnGatewaysOutput) String() string {
  12636. return awsutil.Prettify(s)
  12637. }
  12638. // GoString returns the string representation
  12639. func (s DescribeVpnGatewaysOutput) GoString() string {
  12640. return s.String()
  12641. }
  12642. type DetachClassicLinkVpcInput struct {
  12643. // Checks whether you have the required permissions for the action, without
  12644. // actually making the request, and provides an error response. If you have
  12645. // the required permissions, the error response is DryRunOperation. Otherwise,
  12646. // it is UnauthorizedOperation.
  12647. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12648. // The ID of the instance to unlink from the VPC.
  12649. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  12650. // The ID of the VPC to which the instance is linked.
  12651. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  12652. metadataDetachClassicLinkVpcInput `json:"-" xml:"-"`
  12653. }
  12654. type metadataDetachClassicLinkVpcInput struct {
  12655. SDKShapeTraits bool `type:"structure"`
  12656. }
  12657. // String returns the string representation
  12658. func (s DetachClassicLinkVpcInput) String() string {
  12659. return awsutil.Prettify(s)
  12660. }
  12661. // GoString returns the string representation
  12662. func (s DetachClassicLinkVpcInput) GoString() string {
  12663. return s.String()
  12664. }
  12665. type DetachClassicLinkVpcOutput struct {
  12666. // Returns true if the request succeeds; otherwise, it returns an error.
  12667. Return *bool `locationName:"return" type:"boolean"`
  12668. metadataDetachClassicLinkVpcOutput `json:"-" xml:"-"`
  12669. }
  12670. type metadataDetachClassicLinkVpcOutput struct {
  12671. SDKShapeTraits bool `type:"structure"`
  12672. }
  12673. // String returns the string representation
  12674. func (s DetachClassicLinkVpcOutput) String() string {
  12675. return awsutil.Prettify(s)
  12676. }
  12677. // GoString returns the string representation
  12678. func (s DetachClassicLinkVpcOutput) GoString() string {
  12679. return s.String()
  12680. }
  12681. type DetachInternetGatewayInput struct {
  12682. // Checks whether you have the required permissions for the action, without
  12683. // actually making the request, and provides an error response. If you have
  12684. // the required permissions, the error response is DryRunOperation. Otherwise,
  12685. // it is UnauthorizedOperation.
  12686. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12687. // The ID of the Internet gateway.
  12688. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  12689. // The ID of the VPC.
  12690. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  12691. metadataDetachInternetGatewayInput `json:"-" xml:"-"`
  12692. }
  12693. type metadataDetachInternetGatewayInput struct {
  12694. SDKShapeTraits bool `type:"structure"`
  12695. }
  12696. // String returns the string representation
  12697. func (s DetachInternetGatewayInput) String() string {
  12698. return awsutil.Prettify(s)
  12699. }
  12700. // GoString returns the string representation
  12701. func (s DetachInternetGatewayInput) GoString() string {
  12702. return s.String()
  12703. }
  12704. type DetachInternetGatewayOutput struct {
  12705. metadataDetachInternetGatewayOutput `json:"-" xml:"-"`
  12706. }
  12707. type metadataDetachInternetGatewayOutput struct {
  12708. SDKShapeTraits bool `type:"structure"`
  12709. }
  12710. // String returns the string representation
  12711. func (s DetachInternetGatewayOutput) String() string {
  12712. return awsutil.Prettify(s)
  12713. }
  12714. // GoString returns the string representation
  12715. func (s DetachInternetGatewayOutput) GoString() string {
  12716. return s.String()
  12717. }
  12718. type DetachNetworkInterfaceInput struct {
  12719. // The ID of the attachment.
  12720. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  12721. // Checks whether you have the required permissions for the action, without
  12722. // actually making the request, and provides an error response. If you have
  12723. // the required permissions, the error response is DryRunOperation. Otherwise,
  12724. // it is UnauthorizedOperation.
  12725. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12726. // Specifies whether to force a detachment.
  12727. Force *bool `locationName:"force" type:"boolean"`
  12728. metadataDetachNetworkInterfaceInput `json:"-" xml:"-"`
  12729. }
  12730. type metadataDetachNetworkInterfaceInput struct {
  12731. SDKShapeTraits bool `type:"structure"`
  12732. }
  12733. // String returns the string representation
  12734. func (s DetachNetworkInterfaceInput) String() string {
  12735. return awsutil.Prettify(s)
  12736. }
  12737. // GoString returns the string representation
  12738. func (s DetachNetworkInterfaceInput) GoString() string {
  12739. return s.String()
  12740. }
  12741. type DetachNetworkInterfaceOutput struct {
  12742. metadataDetachNetworkInterfaceOutput `json:"-" xml:"-"`
  12743. }
  12744. type metadataDetachNetworkInterfaceOutput struct {
  12745. SDKShapeTraits bool `type:"structure"`
  12746. }
  12747. // String returns the string representation
  12748. func (s DetachNetworkInterfaceOutput) String() string {
  12749. return awsutil.Prettify(s)
  12750. }
  12751. // GoString returns the string representation
  12752. func (s DetachNetworkInterfaceOutput) GoString() string {
  12753. return s.String()
  12754. }
  12755. type DetachVolumeInput struct {
  12756. // The device name.
  12757. Device *string `type:"string"`
  12758. // Checks whether you have the required permissions for the action, without
  12759. // actually making the request, and provides an error response. If you have
  12760. // the required permissions, the error response is DryRunOperation. Otherwise,
  12761. // it is UnauthorizedOperation.
  12762. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12763. // Forces detachment if the previous detachment attempt did not occur cleanly
  12764. // (for example, logging into an instance, unmounting the volume, and detaching
  12765. // normally). This option can lead to data loss or a corrupted file system.
  12766. // Use this option only as a last resort to detach a volume from a failed instance.
  12767. // The instance won't have an opportunity to flush file system caches or file
  12768. // system metadata. If you use this option, you must perform file system check
  12769. // and repair procedures.
  12770. Force *bool `type:"boolean"`
  12771. // The ID of the instance.
  12772. InstanceId *string `type:"string"`
  12773. // The ID of the volume.
  12774. VolumeId *string `type:"string" required:"true"`
  12775. metadataDetachVolumeInput `json:"-" xml:"-"`
  12776. }
  12777. type metadataDetachVolumeInput struct {
  12778. SDKShapeTraits bool `type:"structure"`
  12779. }
  12780. // String returns the string representation
  12781. func (s DetachVolumeInput) String() string {
  12782. return awsutil.Prettify(s)
  12783. }
  12784. // GoString returns the string representation
  12785. func (s DetachVolumeInput) GoString() string {
  12786. return s.String()
  12787. }
  12788. type DetachVpnGatewayInput struct {
  12789. // Checks whether you have the required permissions for the action, without
  12790. // actually making the request, and provides an error response. If you have
  12791. // the required permissions, the error response is DryRunOperation. Otherwise,
  12792. // it is UnauthorizedOperation.
  12793. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12794. // The ID of the VPC.
  12795. VpcId *string `type:"string" required:"true"`
  12796. // The ID of the virtual private gateway.
  12797. VpnGatewayId *string `type:"string" required:"true"`
  12798. metadataDetachVpnGatewayInput `json:"-" xml:"-"`
  12799. }
  12800. type metadataDetachVpnGatewayInput struct {
  12801. SDKShapeTraits bool `type:"structure"`
  12802. }
  12803. // String returns the string representation
  12804. func (s DetachVpnGatewayInput) String() string {
  12805. return awsutil.Prettify(s)
  12806. }
  12807. // GoString returns the string representation
  12808. func (s DetachVpnGatewayInput) GoString() string {
  12809. return s.String()
  12810. }
  12811. type DetachVpnGatewayOutput struct {
  12812. metadataDetachVpnGatewayOutput `json:"-" xml:"-"`
  12813. }
  12814. type metadataDetachVpnGatewayOutput struct {
  12815. SDKShapeTraits bool `type:"structure"`
  12816. }
  12817. // String returns the string representation
  12818. func (s DetachVpnGatewayOutput) String() string {
  12819. return awsutil.Prettify(s)
  12820. }
  12821. // GoString returns the string representation
  12822. func (s DetachVpnGatewayOutput) GoString() string {
  12823. return s.String()
  12824. }
  12825. // Describes a DHCP configuration option.
  12826. type DhcpConfiguration struct {
  12827. // The name of a DHCP option.
  12828. Key *string `locationName:"key" type:"string"`
  12829. // One or more values for the DHCP option.
  12830. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  12831. metadataDhcpConfiguration `json:"-" xml:"-"`
  12832. }
  12833. type metadataDhcpConfiguration struct {
  12834. SDKShapeTraits bool `type:"structure"`
  12835. }
  12836. // String returns the string representation
  12837. func (s DhcpConfiguration) String() string {
  12838. return awsutil.Prettify(s)
  12839. }
  12840. // GoString returns the string representation
  12841. func (s DhcpConfiguration) GoString() string {
  12842. return s.String()
  12843. }
  12844. // Describes a set of DHCP options.
  12845. type DhcpOptions struct {
  12846. // One or more DHCP options in the set.
  12847. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  12848. // The ID of the set of DHCP options.
  12849. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  12850. // Any tags assigned to the DHCP options set.
  12851. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  12852. metadataDhcpOptions `json:"-" xml:"-"`
  12853. }
  12854. type metadataDhcpOptions struct {
  12855. SDKShapeTraits bool `type:"structure"`
  12856. }
  12857. // String returns the string representation
  12858. func (s DhcpOptions) String() string {
  12859. return awsutil.Prettify(s)
  12860. }
  12861. // GoString returns the string representation
  12862. func (s DhcpOptions) GoString() string {
  12863. return s.String()
  12864. }
  12865. type DisableVgwRoutePropagationInput struct {
  12866. // The ID of the virtual private gateway.
  12867. GatewayId *string `type:"string" required:"true"`
  12868. // The ID of the route table.
  12869. RouteTableId *string `type:"string" required:"true"`
  12870. metadataDisableVgwRoutePropagationInput `json:"-" xml:"-"`
  12871. }
  12872. type metadataDisableVgwRoutePropagationInput struct {
  12873. SDKShapeTraits bool `type:"structure"`
  12874. }
  12875. // String returns the string representation
  12876. func (s DisableVgwRoutePropagationInput) String() string {
  12877. return awsutil.Prettify(s)
  12878. }
  12879. // GoString returns the string representation
  12880. func (s DisableVgwRoutePropagationInput) GoString() string {
  12881. return s.String()
  12882. }
  12883. type DisableVgwRoutePropagationOutput struct {
  12884. metadataDisableVgwRoutePropagationOutput `json:"-" xml:"-"`
  12885. }
  12886. type metadataDisableVgwRoutePropagationOutput struct {
  12887. SDKShapeTraits bool `type:"structure"`
  12888. }
  12889. // String returns the string representation
  12890. func (s DisableVgwRoutePropagationOutput) String() string {
  12891. return awsutil.Prettify(s)
  12892. }
  12893. // GoString returns the string representation
  12894. func (s DisableVgwRoutePropagationOutput) GoString() string {
  12895. return s.String()
  12896. }
  12897. type DisableVpcClassicLinkInput struct {
  12898. // Checks whether you have the required permissions for the action, without
  12899. // actually making the request, and provides an error response. If you have
  12900. // the required permissions, the error response is DryRunOperation. Otherwise,
  12901. // it is UnauthorizedOperation.
  12902. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12903. // The ID of the VPC.
  12904. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  12905. metadataDisableVpcClassicLinkInput `json:"-" xml:"-"`
  12906. }
  12907. type metadataDisableVpcClassicLinkInput struct {
  12908. SDKShapeTraits bool `type:"structure"`
  12909. }
  12910. // String returns the string representation
  12911. func (s DisableVpcClassicLinkInput) String() string {
  12912. return awsutil.Prettify(s)
  12913. }
  12914. // GoString returns the string representation
  12915. func (s DisableVpcClassicLinkInput) GoString() string {
  12916. return s.String()
  12917. }
  12918. type DisableVpcClassicLinkOutput struct {
  12919. // Returns true if the request succeeds; otherwise, it returns an error.
  12920. Return *bool `locationName:"return" type:"boolean"`
  12921. metadataDisableVpcClassicLinkOutput `json:"-" xml:"-"`
  12922. }
  12923. type metadataDisableVpcClassicLinkOutput struct {
  12924. SDKShapeTraits bool `type:"structure"`
  12925. }
  12926. // String returns the string representation
  12927. func (s DisableVpcClassicLinkOutput) String() string {
  12928. return awsutil.Prettify(s)
  12929. }
  12930. // GoString returns the string representation
  12931. func (s DisableVpcClassicLinkOutput) GoString() string {
  12932. return s.String()
  12933. }
  12934. type DisassociateAddressInput struct {
  12935. // [EC2-VPC] The association ID. Required for EC2-VPC.
  12936. AssociationId *string `type:"string"`
  12937. // Checks whether you have the required permissions for the action, without
  12938. // actually making the request, and provides an error response. If you have
  12939. // the required permissions, the error response is DryRunOperation. Otherwise,
  12940. // it is UnauthorizedOperation.
  12941. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12942. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  12943. PublicIp *string `type:"string"`
  12944. metadataDisassociateAddressInput `json:"-" xml:"-"`
  12945. }
  12946. type metadataDisassociateAddressInput struct {
  12947. SDKShapeTraits bool `type:"structure"`
  12948. }
  12949. // String returns the string representation
  12950. func (s DisassociateAddressInput) String() string {
  12951. return awsutil.Prettify(s)
  12952. }
  12953. // GoString returns the string representation
  12954. func (s DisassociateAddressInput) GoString() string {
  12955. return s.String()
  12956. }
  12957. type DisassociateAddressOutput struct {
  12958. metadataDisassociateAddressOutput `json:"-" xml:"-"`
  12959. }
  12960. type metadataDisassociateAddressOutput struct {
  12961. SDKShapeTraits bool `type:"structure"`
  12962. }
  12963. // String returns the string representation
  12964. func (s DisassociateAddressOutput) String() string {
  12965. return awsutil.Prettify(s)
  12966. }
  12967. // GoString returns the string representation
  12968. func (s DisassociateAddressOutput) GoString() string {
  12969. return s.String()
  12970. }
  12971. type DisassociateRouteTableInput struct {
  12972. // The association ID representing the current association between the route
  12973. // table and subnet.
  12974. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  12975. // Checks whether you have the required permissions for the action, without
  12976. // actually making the request, and provides an error response. If you have
  12977. // the required permissions, the error response is DryRunOperation. Otherwise,
  12978. // it is UnauthorizedOperation.
  12979. DryRun *bool `locationName:"dryRun" type:"boolean"`
  12980. metadataDisassociateRouteTableInput `json:"-" xml:"-"`
  12981. }
  12982. type metadataDisassociateRouteTableInput struct {
  12983. SDKShapeTraits bool `type:"structure"`
  12984. }
  12985. // String returns the string representation
  12986. func (s DisassociateRouteTableInput) String() string {
  12987. return awsutil.Prettify(s)
  12988. }
  12989. // GoString returns the string representation
  12990. func (s DisassociateRouteTableInput) GoString() string {
  12991. return s.String()
  12992. }
  12993. type DisassociateRouteTableOutput struct {
  12994. metadataDisassociateRouteTableOutput `json:"-" xml:"-"`
  12995. }
  12996. type metadataDisassociateRouteTableOutput struct {
  12997. SDKShapeTraits bool `type:"structure"`
  12998. }
  12999. // String returns the string representation
  13000. func (s DisassociateRouteTableOutput) String() string {
  13001. return awsutil.Prettify(s)
  13002. }
  13003. // GoString returns the string representation
  13004. func (s DisassociateRouteTableOutput) GoString() string {
  13005. return s.String()
  13006. }
  13007. // Describes a disk image.
  13008. type DiskImage struct {
  13009. // A description of the disk image.
  13010. Description *string `type:"string"`
  13011. // Information about the disk image.
  13012. Image *DiskImageDetail `type:"structure"`
  13013. // Information about the volume.
  13014. Volume *VolumeDetail `type:"structure"`
  13015. metadataDiskImage `json:"-" xml:"-"`
  13016. }
  13017. type metadataDiskImage struct {
  13018. SDKShapeTraits bool `type:"structure"`
  13019. }
  13020. // String returns the string representation
  13021. func (s DiskImage) String() string {
  13022. return awsutil.Prettify(s)
  13023. }
  13024. // GoString returns the string representation
  13025. func (s DiskImage) GoString() string {
  13026. return s.String()
  13027. }
  13028. // Describes a disk image.
  13029. type DiskImageDescription struct {
  13030. // The checksum computed for the disk image.
  13031. Checksum *string `locationName:"checksum" type:"string"`
  13032. // The disk image format.
  13033. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  13034. // A presigned URL for the import manifest stored in Amazon S3. For information
  13035. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  13036. // Request Authentication Alternative" section of the Authenticating REST Requests
  13037. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  13038. // topic in the Amazon Simple Storage Service Developer Guide.
  13039. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  13040. // The size of the disk image, in GiB.
  13041. Size *int64 `locationName:"size" type:"long" required:"true"`
  13042. metadataDiskImageDescription `json:"-" xml:"-"`
  13043. }
  13044. type metadataDiskImageDescription struct {
  13045. SDKShapeTraits bool `type:"structure"`
  13046. }
  13047. // String returns the string representation
  13048. func (s DiskImageDescription) String() string {
  13049. return awsutil.Prettify(s)
  13050. }
  13051. // GoString returns the string representation
  13052. func (s DiskImageDescription) GoString() string {
  13053. return s.String()
  13054. }
  13055. // Describes a disk image.
  13056. type DiskImageDetail struct {
  13057. // The size of the disk image, in GiB.
  13058. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  13059. // The disk image format.
  13060. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  13061. // A presigned URL for the import manifest stored in Amazon S3 and presented
  13062. // here as an Amazon S3 presigned URL. For information about creating a presigned
  13063. // URL for an Amazon S3 object, read the "Query String Request Authentication
  13064. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  13065. // topic in the Amazon Simple Storage Service Developer Guide.
  13066. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  13067. metadataDiskImageDetail `json:"-" xml:"-"`
  13068. }
  13069. type metadataDiskImageDetail struct {
  13070. SDKShapeTraits bool `type:"structure"`
  13071. }
  13072. // String returns the string representation
  13073. func (s DiskImageDetail) String() string {
  13074. return awsutil.Prettify(s)
  13075. }
  13076. // GoString returns the string representation
  13077. func (s DiskImageDetail) GoString() string {
  13078. return s.String()
  13079. }
  13080. // Describes a disk image volume.
  13081. type DiskImageVolumeDescription struct {
  13082. // The volume identifier.
  13083. Id *string `locationName:"id" type:"string" required:"true"`
  13084. // The size of the volume, in GiB.
  13085. Size *int64 `locationName:"size" type:"long"`
  13086. metadataDiskImageVolumeDescription `json:"-" xml:"-"`
  13087. }
  13088. type metadataDiskImageVolumeDescription struct {
  13089. SDKShapeTraits bool `type:"structure"`
  13090. }
  13091. // String returns the string representation
  13092. func (s DiskImageVolumeDescription) String() string {
  13093. return awsutil.Prettify(s)
  13094. }
  13095. // GoString returns the string representation
  13096. func (s DiskImageVolumeDescription) GoString() string {
  13097. return s.String()
  13098. }
  13099. // Describes a block device for an EBS volume.
  13100. type EbsBlockDevice struct {
  13101. // Indicates whether the EBS volume is deleted on instance termination.
  13102. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  13103. // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
  13104. // may only be attached to instances that support Amazon EBS encryption.
  13105. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  13106. // The number of I/O operations per second (IOPS) that the volume supports.
  13107. // For Provisioned IOPS (SSD) volumes, this represents the number of IOPS that
  13108. // are provisioned for the volume. For General Purpose (SSD) volumes, this represents
  13109. // the baseline performance of the volume and the rate at which the volume accumulates
  13110. // I/O credits for bursting. For more information on General Purpose (SSD) baseline
  13111. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  13112. // in the Amazon Elastic Compute Cloud User Guide.
  13113. //
  13114. // Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and
  13115. // 3 to 10000 for General Purpose (SSD) volumes.
  13116. //
  13117. // Condition: This parameter is required for requests to create io1 volumes;
  13118. // it is not used in requests to create standard or gp2 volumes.
  13119. Iops *int64 `locationName:"iops" type:"integer"`
  13120. // The ID of the snapshot.
  13121. SnapshotId *string `locationName:"snapshotId" type:"string"`
  13122. // The size of the volume, in GiB.
  13123. //
  13124. // Constraints: 1-1024 for standard volumes, 1-16384 for gp2 volumes, and 4-16384
  13125. // for io1 volumes. If you specify a snapshot, the volume size must be equal
  13126. // to or larger than the snapshot size.
  13127. //
  13128. // Default: If you're creating the volume from a snapshot and don't specify
  13129. // a volume size, the default is the snapshot size.
  13130. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  13131. // The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned
  13132. // IOPS (SSD) volumes, and standard for Magnetic volumes.
  13133. //
  13134. // Default: standard
  13135. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  13136. metadataEbsBlockDevice `json:"-" xml:"-"`
  13137. }
  13138. type metadataEbsBlockDevice struct {
  13139. SDKShapeTraits bool `type:"structure"`
  13140. }
  13141. // String returns the string representation
  13142. func (s EbsBlockDevice) String() string {
  13143. return awsutil.Prettify(s)
  13144. }
  13145. // GoString returns the string representation
  13146. func (s EbsBlockDevice) GoString() string {
  13147. return s.String()
  13148. }
  13149. // Describes a parameter used to set up an EBS volume in a block device mapping.
  13150. type EbsInstanceBlockDevice struct {
  13151. // The time stamp when the attachment initiated.
  13152. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  13153. // Indicates whether the volume is deleted on instance termination.
  13154. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  13155. // The attachment state.
  13156. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  13157. // The ID of the EBS volume.
  13158. VolumeId *string `locationName:"volumeId" type:"string"`
  13159. metadataEbsInstanceBlockDevice `json:"-" xml:"-"`
  13160. }
  13161. type metadataEbsInstanceBlockDevice struct {
  13162. SDKShapeTraits bool `type:"structure"`
  13163. }
  13164. // String returns the string representation
  13165. func (s EbsInstanceBlockDevice) String() string {
  13166. return awsutil.Prettify(s)
  13167. }
  13168. // GoString returns the string representation
  13169. func (s EbsInstanceBlockDevice) GoString() string {
  13170. return s.String()
  13171. }
  13172. type EbsInstanceBlockDeviceSpecification struct {
  13173. // Indicates whether the volume is deleted on instance termination.
  13174. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  13175. // The ID of the EBS volume.
  13176. VolumeId *string `locationName:"volumeId" type:"string"`
  13177. metadataEbsInstanceBlockDeviceSpecification `json:"-" xml:"-"`
  13178. }
  13179. type metadataEbsInstanceBlockDeviceSpecification struct {
  13180. SDKShapeTraits bool `type:"structure"`
  13181. }
  13182. // String returns the string representation
  13183. func (s EbsInstanceBlockDeviceSpecification) String() string {
  13184. return awsutil.Prettify(s)
  13185. }
  13186. // GoString returns the string representation
  13187. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  13188. return s.String()
  13189. }
  13190. type EnableVgwRoutePropagationInput struct {
  13191. // The ID of the virtual private gateway.
  13192. GatewayId *string `type:"string" required:"true"`
  13193. // The ID of the route table.
  13194. RouteTableId *string `type:"string" required:"true"`
  13195. metadataEnableVgwRoutePropagationInput `json:"-" xml:"-"`
  13196. }
  13197. type metadataEnableVgwRoutePropagationInput struct {
  13198. SDKShapeTraits bool `type:"structure"`
  13199. }
  13200. // String returns the string representation
  13201. func (s EnableVgwRoutePropagationInput) String() string {
  13202. return awsutil.Prettify(s)
  13203. }
  13204. // GoString returns the string representation
  13205. func (s EnableVgwRoutePropagationInput) GoString() string {
  13206. return s.String()
  13207. }
  13208. type EnableVgwRoutePropagationOutput struct {
  13209. metadataEnableVgwRoutePropagationOutput `json:"-" xml:"-"`
  13210. }
  13211. type metadataEnableVgwRoutePropagationOutput struct {
  13212. SDKShapeTraits bool `type:"structure"`
  13213. }
  13214. // String returns the string representation
  13215. func (s EnableVgwRoutePropagationOutput) String() string {
  13216. return awsutil.Prettify(s)
  13217. }
  13218. // GoString returns the string representation
  13219. func (s EnableVgwRoutePropagationOutput) GoString() string {
  13220. return s.String()
  13221. }
  13222. type EnableVolumeIOInput struct {
  13223. // Checks whether you have the required permissions for the action, without
  13224. // actually making the request, and provides an error response. If you have
  13225. // the required permissions, the error response is DryRunOperation. Otherwise,
  13226. // it is UnauthorizedOperation.
  13227. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13228. // The ID of the volume.
  13229. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  13230. metadataEnableVolumeIOInput `json:"-" xml:"-"`
  13231. }
  13232. type metadataEnableVolumeIOInput struct {
  13233. SDKShapeTraits bool `type:"structure"`
  13234. }
  13235. // String returns the string representation
  13236. func (s EnableVolumeIOInput) String() string {
  13237. return awsutil.Prettify(s)
  13238. }
  13239. // GoString returns the string representation
  13240. func (s EnableVolumeIOInput) GoString() string {
  13241. return s.String()
  13242. }
  13243. type EnableVolumeIOOutput struct {
  13244. metadataEnableVolumeIOOutput `json:"-" xml:"-"`
  13245. }
  13246. type metadataEnableVolumeIOOutput struct {
  13247. SDKShapeTraits bool `type:"structure"`
  13248. }
  13249. // String returns the string representation
  13250. func (s EnableVolumeIOOutput) String() string {
  13251. return awsutil.Prettify(s)
  13252. }
  13253. // GoString returns the string representation
  13254. func (s EnableVolumeIOOutput) GoString() string {
  13255. return s.String()
  13256. }
  13257. type EnableVpcClassicLinkInput struct {
  13258. // Checks whether you have the required permissions for the action, without
  13259. // actually making the request, and provides an error response. If you have
  13260. // the required permissions, the error response is DryRunOperation. Otherwise,
  13261. // it is UnauthorizedOperation.
  13262. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13263. // The ID of the VPC.
  13264. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  13265. metadataEnableVpcClassicLinkInput `json:"-" xml:"-"`
  13266. }
  13267. type metadataEnableVpcClassicLinkInput struct {
  13268. SDKShapeTraits bool `type:"structure"`
  13269. }
  13270. // String returns the string representation
  13271. func (s EnableVpcClassicLinkInput) String() string {
  13272. return awsutil.Prettify(s)
  13273. }
  13274. // GoString returns the string representation
  13275. func (s EnableVpcClassicLinkInput) GoString() string {
  13276. return s.String()
  13277. }
  13278. type EnableVpcClassicLinkOutput struct {
  13279. // Returns true if the request succeeds; otherwise, it returns an error.
  13280. Return *bool `locationName:"return" type:"boolean"`
  13281. metadataEnableVpcClassicLinkOutput `json:"-" xml:"-"`
  13282. }
  13283. type metadataEnableVpcClassicLinkOutput struct {
  13284. SDKShapeTraits bool `type:"structure"`
  13285. }
  13286. // String returns the string representation
  13287. func (s EnableVpcClassicLinkOutput) String() string {
  13288. return awsutil.Prettify(s)
  13289. }
  13290. // GoString returns the string representation
  13291. func (s EnableVpcClassicLinkOutput) GoString() string {
  13292. return s.String()
  13293. }
  13294. // Describes a Spot fleet event.
  13295. type EventInformation struct {
  13296. // The description of the event.
  13297. EventDescription *string `locationName:"eventDescription" type:"string"`
  13298. // The event.
  13299. //
  13300. // The following are the error events.
  13301. //
  13302. // iamFleetRoleInvalid - Spot fleet did not have the required permissions
  13303. // either to launch or terminate an instance.
  13304. //
  13305. // spotFleetRequestConfigurationInvalid - The configuration is not valid.
  13306. // For more information, see the description.
  13307. //
  13308. // spotInstanceCountLimitExceeded - You've reached the limit on the number
  13309. // of Spot Instances that you can launch.
  13310. //
  13311. // The following are the fleetRequestChange events.
  13312. //
  13313. // active - The Spot fleet has been validated and Amazon EC2 is attempting
  13314. // to maintain the target number of running Spot Instances.
  13315. //
  13316. // cancelled - The Spot fleet is canceled and has no running Spot Instances.
  13317. // The Spot fleet will be deleted two days after its instances were terminated.
  13318. //
  13319. // cancelled_running - The Spot fleet is canceled and will not launch additional
  13320. // Spot Instances, but its existing Spot Instances will continue to run until
  13321. // they are interrupted or terminated.
  13322. //
  13323. // cancelled_terminating - The Spot fleet is canceled and its Spot Instances
  13324. // are terminating.
  13325. //
  13326. // expired - The Spot fleet request has expired. A subsequent event indicates
  13327. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  13328. // set.
  13329. //
  13330. // price_update - The bid price for a launch configuration was adjusted because
  13331. // it was too high. This change is permanent.
  13332. //
  13333. // submitted - The Spot fleet request is being evaluated and Amazon EC2 is
  13334. // preparing to launch the target number of Spot Instances.
  13335. //
  13336. // The following are the instanceChange events.
  13337. //
  13338. // launched - A bid was fulfilled and a new instance was launched.
  13339. //
  13340. // terminated - An instance was terminated by the user.
  13341. EventSubType *string `locationName:"eventSubType" type:"string"`
  13342. // The ID of the instance. This information is available only for instanceChange
  13343. // events.
  13344. InstanceId *string `locationName:"instanceId" type:"string"`
  13345. metadataEventInformation `json:"-" xml:"-"`
  13346. }
  13347. type metadataEventInformation struct {
  13348. SDKShapeTraits bool `type:"structure"`
  13349. }
  13350. // String returns the string representation
  13351. func (s EventInformation) String() string {
  13352. return awsutil.Prettify(s)
  13353. }
  13354. // GoString returns the string representation
  13355. func (s EventInformation) GoString() string {
  13356. return s.String()
  13357. }
  13358. // Describes an instance export task.
  13359. type ExportTask struct {
  13360. // A description of the resource being exported.
  13361. Description *string `locationName:"description" type:"string"`
  13362. // The ID of the export task.
  13363. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  13364. // Information about the export task.
  13365. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  13366. // Information about the instance to export.
  13367. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  13368. // The state of the export task.
  13369. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  13370. // The status message related to the export task.
  13371. StatusMessage *string `locationName:"statusMessage" type:"string"`
  13372. metadataExportTask `json:"-" xml:"-"`
  13373. }
  13374. type metadataExportTask struct {
  13375. SDKShapeTraits bool `type:"structure"`
  13376. }
  13377. // String returns the string representation
  13378. func (s ExportTask) String() string {
  13379. return awsutil.Prettify(s)
  13380. }
  13381. // GoString returns the string representation
  13382. func (s ExportTask) GoString() string {
  13383. return s.String()
  13384. }
  13385. // Describes the format and location for an instance export task.
  13386. type ExportToS3Task struct {
  13387. // The container format used to combine disk images with metadata (such as OVF).
  13388. // If absent, only the disk image is exported.
  13389. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  13390. // The format for the exported image.
  13391. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  13392. // The S3 bucket for the destination image. The destination bucket must exist
  13393. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  13394. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  13395. // The encryption key for your S3 bucket.
  13396. S3Key *string `locationName:"s3Key" type:"string"`
  13397. metadataExportToS3Task `json:"-" xml:"-"`
  13398. }
  13399. type metadataExportToS3Task struct {
  13400. SDKShapeTraits bool `type:"structure"`
  13401. }
  13402. // String returns the string representation
  13403. func (s ExportToS3Task) String() string {
  13404. return awsutil.Prettify(s)
  13405. }
  13406. // GoString returns the string representation
  13407. func (s ExportToS3Task) GoString() string {
  13408. return s.String()
  13409. }
  13410. // Describes an instance export task.
  13411. type ExportToS3TaskSpecification struct {
  13412. // The container format used to combine disk images with metadata (such as OVF).
  13413. // If absent, only the disk image is exported.
  13414. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  13415. // The format for the exported image.
  13416. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  13417. // The S3 bucket for the destination image. The destination bucket must exist
  13418. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  13419. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  13420. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  13421. // + exportTaskId + '.' + diskImageFormat.
  13422. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  13423. metadataExportToS3TaskSpecification `json:"-" xml:"-"`
  13424. }
  13425. type metadataExportToS3TaskSpecification struct {
  13426. SDKShapeTraits bool `type:"structure"`
  13427. }
  13428. // String returns the string representation
  13429. func (s ExportToS3TaskSpecification) String() string {
  13430. return awsutil.Prettify(s)
  13431. }
  13432. // GoString returns the string representation
  13433. func (s ExportToS3TaskSpecification) GoString() string {
  13434. return s.String()
  13435. }
  13436. // A filter name and value pair that is used to return a more specific list
  13437. // of results. Filters can be used to match a set of resources by various criteria,
  13438. // such as tags, attributes, or IDs.
  13439. type Filter struct {
  13440. // The name of the filter. Filter names are case-sensitive.
  13441. Name *string `type:"string"`
  13442. // One or more filter values. Filter values are case-sensitive.
  13443. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  13444. metadataFilter `json:"-" xml:"-"`
  13445. }
  13446. type metadataFilter struct {
  13447. SDKShapeTraits bool `type:"structure"`
  13448. }
  13449. // String returns the string representation
  13450. func (s Filter) String() string {
  13451. return awsutil.Prettify(s)
  13452. }
  13453. // GoString returns the string representation
  13454. func (s Filter) GoString() string {
  13455. return s.String()
  13456. }
  13457. // Describes a flow log.
  13458. type FlowLog struct {
  13459. // The date and time the flow log was created.
  13460. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  13461. // Information about the error that occurred. Rate limited indicates that CloudWatch
  13462. // logs throttling has been applied for one or more network interfaces. Access
  13463. // error indicates that the IAM role associated with the flow log does not have
  13464. // sufficient permissions to publish to CloudWatch Logs. Unknown error indicates
  13465. // an internal error.
  13466. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  13467. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  13468. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  13469. // The status of the logs delivery (SUCCESS | FAILED).
  13470. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  13471. // The flow log ID.
  13472. FlowLogId *string `locationName:"flowLogId" type:"string"`
  13473. // The status of the flow log (ACTIVE).
  13474. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  13475. // The name of the flow log group.
  13476. LogGroupName *string `locationName:"logGroupName" type:"string"`
  13477. // The ID of the resource on which the flow log was created.
  13478. ResourceId *string `locationName:"resourceId" type:"string"`
  13479. // The type of traffic captured for the flow log.
  13480. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  13481. metadataFlowLog `json:"-" xml:"-"`
  13482. }
  13483. type metadataFlowLog struct {
  13484. SDKShapeTraits bool `type:"structure"`
  13485. }
  13486. // String returns the string representation
  13487. func (s FlowLog) String() string {
  13488. return awsutil.Prettify(s)
  13489. }
  13490. // GoString returns the string representation
  13491. func (s FlowLog) GoString() string {
  13492. return s.String()
  13493. }
  13494. type GetConsoleOutputInput struct {
  13495. // Checks whether you have the required permissions for the action, without
  13496. // actually making the request, and provides an error response. If you have
  13497. // the required permissions, the error response is DryRunOperation. Otherwise,
  13498. // it is UnauthorizedOperation.
  13499. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13500. // The ID of the instance.
  13501. InstanceId *string `type:"string" required:"true"`
  13502. metadataGetConsoleOutputInput `json:"-" xml:"-"`
  13503. }
  13504. type metadataGetConsoleOutputInput struct {
  13505. SDKShapeTraits bool `type:"structure"`
  13506. }
  13507. // String returns the string representation
  13508. func (s GetConsoleOutputInput) String() string {
  13509. return awsutil.Prettify(s)
  13510. }
  13511. // GoString returns the string representation
  13512. func (s GetConsoleOutputInput) GoString() string {
  13513. return s.String()
  13514. }
  13515. type GetConsoleOutputOutput struct {
  13516. // The ID of the instance.
  13517. InstanceId *string `locationName:"instanceId" type:"string"`
  13518. // The console output, Base64 encoded.
  13519. Output *string `locationName:"output" type:"string"`
  13520. // The time the output was last updated.
  13521. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  13522. metadataGetConsoleOutputOutput `json:"-" xml:"-"`
  13523. }
  13524. type metadataGetConsoleOutputOutput struct {
  13525. SDKShapeTraits bool `type:"structure"`
  13526. }
  13527. // String returns the string representation
  13528. func (s GetConsoleOutputOutput) String() string {
  13529. return awsutil.Prettify(s)
  13530. }
  13531. // GoString returns the string representation
  13532. func (s GetConsoleOutputOutput) GoString() string {
  13533. return s.String()
  13534. }
  13535. type GetPasswordDataInput struct {
  13536. // Checks whether you have the required permissions for the action, without
  13537. // actually making the request, and provides an error response. If you have
  13538. // the required permissions, the error response is DryRunOperation. Otherwise,
  13539. // it is UnauthorizedOperation.
  13540. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13541. // The ID of the Windows instance.
  13542. InstanceId *string `type:"string" required:"true"`
  13543. metadataGetPasswordDataInput `json:"-" xml:"-"`
  13544. }
  13545. type metadataGetPasswordDataInput struct {
  13546. SDKShapeTraits bool `type:"structure"`
  13547. }
  13548. // String returns the string representation
  13549. func (s GetPasswordDataInput) String() string {
  13550. return awsutil.Prettify(s)
  13551. }
  13552. // GoString returns the string representation
  13553. func (s GetPasswordDataInput) GoString() string {
  13554. return s.String()
  13555. }
  13556. type GetPasswordDataOutput struct {
  13557. // The ID of the Windows instance.
  13558. InstanceId *string `locationName:"instanceId" type:"string"`
  13559. // The password of the instance.
  13560. PasswordData *string `locationName:"passwordData" type:"string"`
  13561. // The time the data was last updated.
  13562. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  13563. metadataGetPasswordDataOutput `json:"-" xml:"-"`
  13564. }
  13565. type metadataGetPasswordDataOutput struct {
  13566. SDKShapeTraits bool `type:"structure"`
  13567. }
  13568. // String returns the string representation
  13569. func (s GetPasswordDataOutput) String() string {
  13570. return awsutil.Prettify(s)
  13571. }
  13572. // GoString returns the string representation
  13573. func (s GetPasswordDataOutput) GoString() string {
  13574. return s.String()
  13575. }
  13576. // Describes a security group.
  13577. type GroupIdentifier struct {
  13578. // The ID of the security group.
  13579. GroupId *string `locationName:"groupId" type:"string"`
  13580. // The name of the security group.
  13581. GroupName *string `locationName:"groupName" type:"string"`
  13582. metadataGroupIdentifier `json:"-" xml:"-"`
  13583. }
  13584. type metadataGroupIdentifier struct {
  13585. SDKShapeTraits bool `type:"structure"`
  13586. }
  13587. // String returns the string representation
  13588. func (s GroupIdentifier) String() string {
  13589. return awsutil.Prettify(s)
  13590. }
  13591. // GoString returns the string representation
  13592. func (s GroupIdentifier) GoString() string {
  13593. return s.String()
  13594. }
  13595. // Describes an event in the history of the Spot fleet request.
  13596. type HistoryRecord struct {
  13597. // Information about the event.
  13598. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  13599. // The event type.
  13600. //
  13601. // error - Indicates an error with the Spot fleet request.
  13602. //
  13603. // fleetRequestChange - Indicates a change in the status or configuration
  13604. // of the Spot fleet request.
  13605. //
  13606. // instanceChange - Indicates that an instance was launched or terminated.
  13607. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  13608. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  13609. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  13610. metadataHistoryRecord `json:"-" xml:"-"`
  13611. }
  13612. type metadataHistoryRecord struct {
  13613. SDKShapeTraits bool `type:"structure"`
  13614. }
  13615. // String returns the string representation
  13616. func (s HistoryRecord) String() string {
  13617. return awsutil.Prettify(s)
  13618. }
  13619. // GoString returns the string representation
  13620. func (s HistoryRecord) GoString() string {
  13621. return s.String()
  13622. }
  13623. // Describes an IAM instance profile.
  13624. type IamInstanceProfile struct {
  13625. // The Amazon Resource Name (ARN) of the instance profile.
  13626. Arn *string `locationName:"arn" type:"string"`
  13627. // The ID of the instance profile.
  13628. Id *string `locationName:"id" type:"string"`
  13629. metadataIamInstanceProfile `json:"-" xml:"-"`
  13630. }
  13631. type metadataIamInstanceProfile struct {
  13632. SDKShapeTraits bool `type:"structure"`
  13633. }
  13634. // String returns the string representation
  13635. func (s IamInstanceProfile) String() string {
  13636. return awsutil.Prettify(s)
  13637. }
  13638. // GoString returns the string representation
  13639. func (s IamInstanceProfile) GoString() string {
  13640. return s.String()
  13641. }
  13642. // Describes an IAM instance profile.
  13643. type IamInstanceProfileSpecification struct {
  13644. // The Amazon Resource Name (ARN) of the instance profile.
  13645. Arn *string `locationName:"arn" type:"string"`
  13646. // The name of the instance profile.
  13647. Name *string `locationName:"name" type:"string"`
  13648. metadataIamInstanceProfileSpecification `json:"-" xml:"-"`
  13649. }
  13650. type metadataIamInstanceProfileSpecification struct {
  13651. SDKShapeTraits bool `type:"structure"`
  13652. }
  13653. // String returns the string representation
  13654. func (s IamInstanceProfileSpecification) String() string {
  13655. return awsutil.Prettify(s)
  13656. }
  13657. // GoString returns the string representation
  13658. func (s IamInstanceProfileSpecification) GoString() string {
  13659. return s.String()
  13660. }
  13661. // Describes the ICMP type and code.
  13662. type IcmpTypeCode struct {
  13663. // The ICMP type. A value of -1 means all types.
  13664. Code *int64 `locationName:"code" type:"integer"`
  13665. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  13666. Type *int64 `locationName:"type" type:"integer"`
  13667. metadataIcmpTypeCode `json:"-" xml:"-"`
  13668. }
  13669. type metadataIcmpTypeCode struct {
  13670. SDKShapeTraits bool `type:"structure"`
  13671. }
  13672. // String returns the string representation
  13673. func (s IcmpTypeCode) String() string {
  13674. return awsutil.Prettify(s)
  13675. }
  13676. // GoString returns the string representation
  13677. func (s IcmpTypeCode) GoString() string {
  13678. return s.String()
  13679. }
  13680. // Describes an image.
  13681. type Image struct {
  13682. // The architecture of the image.
  13683. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  13684. // Any block device mapping entries.
  13685. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  13686. // The date and time the image was created.
  13687. CreationDate *string `locationName:"creationDate" type:"string"`
  13688. // The description of the AMI that was provided during image creation.
  13689. Description *string `locationName:"description" type:"string"`
  13690. // The hypervisor type of the image.
  13691. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  13692. // The ID of the AMI.
  13693. ImageId *string `locationName:"imageId" type:"string"`
  13694. // The location of the AMI.
  13695. ImageLocation *string `locationName:"imageLocation" type:"string"`
  13696. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  13697. // the AMI owner.
  13698. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  13699. // The type of image.
  13700. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  13701. // The kernel associated with the image, if any. Only applicable for machine
  13702. // images.
  13703. KernelId *string `locationName:"kernelId" type:"string"`
  13704. // The name of the AMI that was provided during image creation.
  13705. Name *string `locationName:"name" type:"string"`
  13706. // The AWS account ID of the image owner.
  13707. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  13708. // The value is Windows for Windows AMIs; otherwise blank.
  13709. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  13710. // Any product codes associated with the AMI.
  13711. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  13712. // Indicates whether the image has public launch permissions. The value is true
  13713. // if this image has public launch permissions or false if it has only implicit
  13714. // and explicit launch permissions.
  13715. Public *bool `locationName:"isPublic" type:"boolean"`
  13716. // The RAM disk associated with the image, if any. Only applicable for machine
  13717. // images.
  13718. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  13719. // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
  13720. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  13721. // The type of root device used by the AMI. The AMI can use an EBS volume or
  13722. // an instance store volume.
  13723. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  13724. // Specifies whether enhanced networking is enabled.
  13725. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  13726. // The current state of the AMI. If the state is available, the image is successfully
  13727. // registered and can be used to launch an instance.
  13728. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  13729. // The reason for the state change.
  13730. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  13731. // Any tags assigned to the image.
  13732. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  13733. // The type of virtualization of the AMI.
  13734. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  13735. metadataImage `json:"-" xml:"-"`
  13736. }
  13737. type metadataImage struct {
  13738. SDKShapeTraits bool `type:"structure"`
  13739. }
  13740. // String returns the string representation
  13741. func (s Image) String() string {
  13742. return awsutil.Prettify(s)
  13743. }
  13744. // GoString returns the string representation
  13745. func (s Image) GoString() string {
  13746. return s.String()
  13747. }
  13748. // Describes the disk container object for an import image task.
  13749. type ImageDiskContainer struct {
  13750. // The description of the disk image.
  13751. Description *string `type:"string"`
  13752. // The block device mapping for the disk.
  13753. DeviceName *string `type:"string"`
  13754. // The format of the disk image being imported.
  13755. //
  13756. // Valid values: RAW | VHD | VMDK | OVA
  13757. Format *string `type:"string"`
  13758. // The ID of the EBS snapshot to be used for importing the snapshot.
  13759. SnapshotId *string `type:"string"`
  13760. // The URL to the Amazon S3-based disk image being imported. The URL can either
  13761. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  13762. Url *string `type:"string"`
  13763. // The S3 bucket for the disk image.
  13764. UserBucket *UserBucket `type:"structure"`
  13765. metadataImageDiskContainer `json:"-" xml:"-"`
  13766. }
  13767. type metadataImageDiskContainer struct {
  13768. SDKShapeTraits bool `type:"structure"`
  13769. }
  13770. // String returns the string representation
  13771. func (s ImageDiskContainer) String() string {
  13772. return awsutil.Prettify(s)
  13773. }
  13774. // GoString returns the string representation
  13775. func (s ImageDiskContainer) GoString() string {
  13776. return s.String()
  13777. }
  13778. type ImportImageInput struct {
  13779. // The architecture of the virtual machine.
  13780. //
  13781. // Valid values: i386 | x86_64
  13782. Architecture *string `type:"string"`
  13783. // The client-specific data.
  13784. ClientData *ClientData `type:"structure"`
  13785. // The token to enable idempotency for VM import requests.
  13786. ClientToken *string `type:"string"`
  13787. // A description string for the import image task.
  13788. Description *string `type:"string"`
  13789. // Information about the disk containers.
  13790. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  13791. // Checks whether you have the required permissions for the action, without
  13792. // actually making the request, and provides an error response. If you have
  13793. // the required permissions, the error response is DryRunOperation. Otherwise,
  13794. // it is UnauthorizedOperation.
  13795. DryRun *bool `type:"boolean"`
  13796. // The target hypervisor platform.
  13797. //
  13798. // Valid values: xen
  13799. Hypervisor *string `type:"string"`
  13800. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  13801. //
  13802. // Note: You may only use BYOL if you have existing licenses with rights to
  13803. // use these licenses in a third party cloud like AWS. For more information,
  13804. // see VM Import/Export Prerequisites (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html)
  13805. // in the Amazon Elastic Compute Cloud User Guide.
  13806. //
  13807. // Valid values: AWS | BYOL
  13808. LicenseType *string `type:"string"`
  13809. // The operating system of the virtual machine.
  13810. //
  13811. // Valid values: Windows | Linux
  13812. Platform *string `type:"string"`
  13813. // The name of the role to use when not using the default role, 'vmimport'.
  13814. RoleName *string `type:"string"`
  13815. metadataImportImageInput `json:"-" xml:"-"`
  13816. }
  13817. type metadataImportImageInput struct {
  13818. SDKShapeTraits bool `type:"structure"`
  13819. }
  13820. // String returns the string representation
  13821. func (s ImportImageInput) String() string {
  13822. return awsutil.Prettify(s)
  13823. }
  13824. // GoString returns the string representation
  13825. func (s ImportImageInput) GoString() string {
  13826. return s.String()
  13827. }
  13828. type ImportImageOutput struct {
  13829. // The architecture of the virtual machine.
  13830. Architecture *string `locationName:"architecture" type:"string"`
  13831. // A description of the import task.
  13832. Description *string `locationName:"description" type:"string"`
  13833. // The target hypervisor of the import task.
  13834. Hypervisor *string `locationName:"hypervisor" type:"string"`
  13835. // The ID of the Amazon Machine Image (AMI) created by the import task.
  13836. ImageId *string `locationName:"imageId" type:"string"`
  13837. // The task ID of the import image task.
  13838. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  13839. // The license type of the virtual machine.
  13840. LicenseType *string `locationName:"licenseType" type:"string"`
  13841. // The operating system of the virtual machine.
  13842. Platform *string `locationName:"platform" type:"string"`
  13843. // The progress of the task.
  13844. Progress *string `locationName:"progress" type:"string"`
  13845. // Information about the snapshots.
  13846. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  13847. // A brief status of the task.
  13848. Status *string `locationName:"status" type:"string"`
  13849. // A detailed status message of the import task.
  13850. StatusMessage *string `locationName:"statusMessage" type:"string"`
  13851. metadataImportImageOutput `json:"-" xml:"-"`
  13852. }
  13853. type metadataImportImageOutput struct {
  13854. SDKShapeTraits bool `type:"structure"`
  13855. }
  13856. // String returns the string representation
  13857. func (s ImportImageOutput) String() string {
  13858. return awsutil.Prettify(s)
  13859. }
  13860. // GoString returns the string representation
  13861. func (s ImportImageOutput) GoString() string {
  13862. return s.String()
  13863. }
  13864. // Describes an import image task.
  13865. type ImportImageTask struct {
  13866. // The architecture of the virtual machine.
  13867. //
  13868. // Valid values: i386 | x86_64
  13869. Architecture *string `locationName:"architecture" type:"string"`
  13870. // A description of the import task.
  13871. Description *string `locationName:"description" type:"string"`
  13872. // The target hypervisor for the import task.
  13873. //
  13874. // Valid values: xen
  13875. Hypervisor *string `locationName:"hypervisor" type:"string"`
  13876. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  13877. ImageId *string `locationName:"imageId" type:"string"`
  13878. // The ID of the import image task.
  13879. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  13880. // The license type of the virtual machine.
  13881. LicenseType *string `locationName:"licenseType" type:"string"`
  13882. // The description string for the import image task.
  13883. Platform *string `locationName:"platform" type:"string"`
  13884. // The percentage of progress of the import image task.
  13885. Progress *string `locationName:"progress" type:"string"`
  13886. // Information about the snapshots.
  13887. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  13888. // A brief status for the import image task.
  13889. Status *string `locationName:"status" type:"string"`
  13890. // A descriptive status message for the import image task.
  13891. StatusMessage *string `locationName:"statusMessage" type:"string"`
  13892. metadataImportImageTask `json:"-" xml:"-"`
  13893. }
  13894. type metadataImportImageTask struct {
  13895. SDKShapeTraits bool `type:"structure"`
  13896. }
  13897. // String returns the string representation
  13898. func (s ImportImageTask) String() string {
  13899. return awsutil.Prettify(s)
  13900. }
  13901. // GoString returns the string representation
  13902. func (s ImportImageTask) GoString() string {
  13903. return s.String()
  13904. }
  13905. type ImportInstanceInput struct {
  13906. // A description for the instance being imported.
  13907. Description *string `locationName:"description" type:"string"`
  13908. // The disk image.
  13909. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  13910. // Checks whether you have the required permissions for the action, without
  13911. // actually making the request, and provides an error response. If you have
  13912. // the required permissions, the error response is DryRunOperation. Otherwise,
  13913. // it is UnauthorizedOperation.
  13914. DryRun *bool `locationName:"dryRun" type:"boolean"`
  13915. // The launch specification.
  13916. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  13917. // The instance operating system.
  13918. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  13919. metadataImportInstanceInput `json:"-" xml:"-"`
  13920. }
  13921. type metadataImportInstanceInput struct {
  13922. SDKShapeTraits bool `type:"structure"`
  13923. }
  13924. // String returns the string representation
  13925. func (s ImportInstanceInput) String() string {
  13926. return awsutil.Prettify(s)
  13927. }
  13928. // GoString returns the string representation
  13929. func (s ImportInstanceInput) GoString() string {
  13930. return s.String()
  13931. }
  13932. // Describes the launch specification for VM import.
  13933. type ImportInstanceLaunchSpecification struct {
  13934. // Reserved.
  13935. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  13936. // The architecture of the instance.
  13937. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  13938. // One or more security group IDs.
  13939. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  13940. // One or more security group names.
  13941. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  13942. // Indicates whether an instance stops or terminates when you initiate shutdown
  13943. // from the instance (using the operating system command for system shutdown).
  13944. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  13945. // The instance type. For more information about the instance types that you
  13946. // can import, see Before You Get Started (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/VMImportPrerequisites.html)
  13947. // in the Amazon Elastic Compute Cloud User Guide.
  13948. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  13949. // Indicates whether monitoring is enabled.
  13950. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  13951. // The placement information for the instance.
  13952. Placement *Placement `locationName:"placement" type:"structure"`
  13953. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  13954. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  13955. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  13956. SubnetId *string `locationName:"subnetId" type:"string"`
  13957. // The Base64-encoded MIME user data to be made available to the instance.
  13958. UserData *UserData `locationName:"userData" type:"structure"`
  13959. metadataImportInstanceLaunchSpecification `json:"-" xml:"-"`
  13960. }
  13961. type metadataImportInstanceLaunchSpecification struct {
  13962. SDKShapeTraits bool `type:"structure"`
  13963. }
  13964. // String returns the string representation
  13965. func (s ImportInstanceLaunchSpecification) String() string {
  13966. return awsutil.Prettify(s)
  13967. }
  13968. // GoString returns the string representation
  13969. func (s ImportInstanceLaunchSpecification) GoString() string {
  13970. return s.String()
  13971. }
  13972. type ImportInstanceOutput struct {
  13973. // Information about the conversion task.
  13974. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  13975. metadataImportInstanceOutput `json:"-" xml:"-"`
  13976. }
  13977. type metadataImportInstanceOutput struct {
  13978. SDKShapeTraits bool `type:"structure"`
  13979. }
  13980. // String returns the string representation
  13981. func (s ImportInstanceOutput) String() string {
  13982. return awsutil.Prettify(s)
  13983. }
  13984. // GoString returns the string representation
  13985. func (s ImportInstanceOutput) GoString() string {
  13986. return s.String()
  13987. }
  13988. // Describes an import instance task.
  13989. type ImportInstanceTaskDetails struct {
  13990. // A description of the task.
  13991. Description *string `locationName:"description" type:"string"`
  13992. // The ID of the instance.
  13993. InstanceId *string `locationName:"instanceId" type:"string"`
  13994. // The instance operating system.
  13995. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  13996. // One or more volumes.
  13997. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  13998. metadataImportInstanceTaskDetails `json:"-" xml:"-"`
  13999. }
  14000. type metadataImportInstanceTaskDetails struct {
  14001. SDKShapeTraits bool `type:"structure"`
  14002. }
  14003. // String returns the string representation
  14004. func (s ImportInstanceTaskDetails) String() string {
  14005. return awsutil.Prettify(s)
  14006. }
  14007. // GoString returns the string representation
  14008. func (s ImportInstanceTaskDetails) GoString() string {
  14009. return s.String()
  14010. }
  14011. // Describes an import volume task.
  14012. type ImportInstanceVolumeDetailItem struct {
  14013. // The Availability Zone where the resulting instance will reside.
  14014. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  14015. // The number of bytes converted so far.
  14016. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  14017. // A description of the task.
  14018. Description *string `locationName:"description" type:"string"`
  14019. // The image.
  14020. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  14021. // The status of the import of this particular disk image.
  14022. Status *string `locationName:"status" type:"string" required:"true"`
  14023. // The status information or errors related to the disk image.
  14024. StatusMessage *string `locationName:"statusMessage" type:"string"`
  14025. // The volume.
  14026. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  14027. metadataImportInstanceVolumeDetailItem `json:"-" xml:"-"`
  14028. }
  14029. type metadataImportInstanceVolumeDetailItem struct {
  14030. SDKShapeTraits bool `type:"structure"`
  14031. }
  14032. // String returns the string representation
  14033. func (s ImportInstanceVolumeDetailItem) String() string {
  14034. return awsutil.Prettify(s)
  14035. }
  14036. // GoString returns the string representation
  14037. func (s ImportInstanceVolumeDetailItem) GoString() string {
  14038. return s.String()
  14039. }
  14040. type ImportKeyPairInput struct {
  14041. // Checks whether you have the required permissions for the action, without
  14042. // actually making the request, and provides an error response. If you have
  14043. // the required permissions, the error response is DryRunOperation. Otherwise,
  14044. // it is UnauthorizedOperation.
  14045. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14046. // A unique name for the key pair.
  14047. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  14048. // The public key. You must base64 encode the public key material before sending
  14049. // it to AWS.
  14050. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  14051. metadataImportKeyPairInput `json:"-" xml:"-"`
  14052. }
  14053. type metadataImportKeyPairInput struct {
  14054. SDKShapeTraits bool `type:"structure"`
  14055. }
  14056. // String returns the string representation
  14057. func (s ImportKeyPairInput) String() string {
  14058. return awsutil.Prettify(s)
  14059. }
  14060. // GoString returns the string representation
  14061. func (s ImportKeyPairInput) GoString() string {
  14062. return s.String()
  14063. }
  14064. type ImportKeyPairOutput struct {
  14065. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  14066. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  14067. // The key pair name you provided.
  14068. KeyName *string `locationName:"keyName" type:"string"`
  14069. metadataImportKeyPairOutput `json:"-" xml:"-"`
  14070. }
  14071. type metadataImportKeyPairOutput struct {
  14072. SDKShapeTraits bool `type:"structure"`
  14073. }
  14074. // String returns the string representation
  14075. func (s ImportKeyPairOutput) String() string {
  14076. return awsutil.Prettify(s)
  14077. }
  14078. // GoString returns the string representation
  14079. func (s ImportKeyPairOutput) GoString() string {
  14080. return s.String()
  14081. }
  14082. type ImportSnapshotInput struct {
  14083. // The client-specific data.
  14084. ClientData *ClientData `type:"structure"`
  14085. // Token to enable idempotency for VM import requests.
  14086. ClientToken *string `type:"string"`
  14087. // The description string for the import snapshot task.
  14088. Description *string `type:"string"`
  14089. // Information about the disk container.
  14090. DiskContainer *SnapshotDiskContainer `type:"structure"`
  14091. // Checks whether you have the required permissions for the action, without
  14092. // actually making the request, and provides an error response. If you have
  14093. // the required permissions, the error response is DryRunOperation. Otherwise,
  14094. // it is UnauthorizedOperation.
  14095. DryRun *bool `type:"boolean"`
  14096. // The name of the role to use when not using the default role, 'vmimport'.
  14097. RoleName *string `type:"string"`
  14098. metadataImportSnapshotInput `json:"-" xml:"-"`
  14099. }
  14100. type metadataImportSnapshotInput struct {
  14101. SDKShapeTraits bool `type:"structure"`
  14102. }
  14103. // String returns the string representation
  14104. func (s ImportSnapshotInput) String() string {
  14105. return awsutil.Prettify(s)
  14106. }
  14107. // GoString returns the string representation
  14108. func (s ImportSnapshotInput) GoString() string {
  14109. return s.String()
  14110. }
  14111. type ImportSnapshotOutput struct {
  14112. // A description of the import snapshot task.
  14113. Description *string `locationName:"description" type:"string"`
  14114. // The ID of the import snapshot task.
  14115. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  14116. // Information about the import snapshot task.
  14117. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  14118. metadataImportSnapshotOutput `json:"-" xml:"-"`
  14119. }
  14120. type metadataImportSnapshotOutput struct {
  14121. SDKShapeTraits bool `type:"structure"`
  14122. }
  14123. // String returns the string representation
  14124. func (s ImportSnapshotOutput) String() string {
  14125. return awsutil.Prettify(s)
  14126. }
  14127. // GoString returns the string representation
  14128. func (s ImportSnapshotOutput) GoString() string {
  14129. return s.String()
  14130. }
  14131. // Describes an import snapshot task.
  14132. type ImportSnapshotTask struct {
  14133. // A description of the import snapshot task.
  14134. Description *string `locationName:"description" type:"string"`
  14135. // The ID of the import snapshot task.
  14136. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  14137. // Describes an import snapshot task.
  14138. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  14139. metadataImportSnapshotTask `json:"-" xml:"-"`
  14140. }
  14141. type metadataImportSnapshotTask struct {
  14142. SDKShapeTraits bool `type:"structure"`
  14143. }
  14144. // String returns the string representation
  14145. func (s ImportSnapshotTask) String() string {
  14146. return awsutil.Prettify(s)
  14147. }
  14148. // GoString returns the string representation
  14149. func (s ImportSnapshotTask) GoString() string {
  14150. return s.String()
  14151. }
  14152. type ImportVolumeInput struct {
  14153. // The Availability Zone for the resulting EBS volume.
  14154. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  14155. // A description of the volume.
  14156. Description *string `locationName:"description" type:"string"`
  14157. // Checks whether you have the required permissions for the action, without
  14158. // actually making the request, and provides an error response. If you have
  14159. // the required permissions, the error response is DryRunOperation. Otherwise,
  14160. // it is UnauthorizedOperation.
  14161. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14162. // The disk image.
  14163. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  14164. // The volume size.
  14165. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  14166. metadataImportVolumeInput `json:"-" xml:"-"`
  14167. }
  14168. type metadataImportVolumeInput struct {
  14169. SDKShapeTraits bool `type:"structure"`
  14170. }
  14171. // String returns the string representation
  14172. func (s ImportVolumeInput) String() string {
  14173. return awsutil.Prettify(s)
  14174. }
  14175. // GoString returns the string representation
  14176. func (s ImportVolumeInput) GoString() string {
  14177. return s.String()
  14178. }
  14179. type ImportVolumeOutput struct {
  14180. // Information about the conversion task.
  14181. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  14182. metadataImportVolumeOutput `json:"-" xml:"-"`
  14183. }
  14184. type metadataImportVolumeOutput struct {
  14185. SDKShapeTraits bool `type:"structure"`
  14186. }
  14187. // String returns the string representation
  14188. func (s ImportVolumeOutput) String() string {
  14189. return awsutil.Prettify(s)
  14190. }
  14191. // GoString returns the string representation
  14192. func (s ImportVolumeOutput) GoString() string {
  14193. return s.String()
  14194. }
  14195. // Describes an import volume task.
  14196. type ImportVolumeTaskDetails struct {
  14197. // The Availability Zone where the resulting volume will reside.
  14198. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  14199. // The number of bytes converted so far.
  14200. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  14201. // The description you provided when starting the import volume task.
  14202. Description *string `locationName:"description" type:"string"`
  14203. // The image.
  14204. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  14205. // The volume.
  14206. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  14207. metadataImportVolumeTaskDetails `json:"-" xml:"-"`
  14208. }
  14209. type metadataImportVolumeTaskDetails struct {
  14210. SDKShapeTraits bool `type:"structure"`
  14211. }
  14212. // String returns the string representation
  14213. func (s ImportVolumeTaskDetails) String() string {
  14214. return awsutil.Prettify(s)
  14215. }
  14216. // GoString returns the string representation
  14217. func (s ImportVolumeTaskDetails) GoString() string {
  14218. return s.String()
  14219. }
  14220. // Describes an instance.
  14221. type Instance struct {
  14222. // The AMI launch index, which can be used to find this instance in the launch
  14223. // group.
  14224. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  14225. // The architecture of the image.
  14226. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  14227. // Any block device mapping entries for the instance.
  14228. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  14229. // The idempotency token you provided when you launched the instance.
  14230. ClientToken *string `locationName:"clientToken" type:"string"`
  14231. // Indicates whether the instance is optimized for EBS I/O. This optimization
  14232. // provides dedicated throughput to Amazon EBS and an optimized configuration
  14233. // stack to provide optimal I/O performance. This optimization isn't available
  14234. // with all instance types. Additional usage charges apply when using an EBS
  14235. // Optimized instance.
  14236. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  14237. // The hypervisor type of the instance.
  14238. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  14239. // The IAM instance profile associated with the instance.
  14240. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  14241. // The ID of the AMI used to launch the instance.
  14242. ImageId *string `locationName:"imageId" type:"string"`
  14243. // The ID of the instance.
  14244. InstanceId *string `locationName:"instanceId" type:"string"`
  14245. // Indicates whether this is a Spot Instance.
  14246. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  14247. // The instance type.
  14248. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  14249. // The kernel associated with this instance.
  14250. KernelId *string `locationName:"kernelId" type:"string"`
  14251. // The name of the key pair, if this instance was launched with an associated
  14252. // key pair.
  14253. KeyName *string `locationName:"keyName" type:"string"`
  14254. // The time the instance was launched.
  14255. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  14256. // The monitoring information for the instance.
  14257. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  14258. // [EC2-VPC] One or more network interfaces for the instance.
  14259. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  14260. // The location where the instance launched.
  14261. Placement *Placement `locationName:"placement" type:"structure"`
  14262. // The value is Windows for Windows instances; otherwise blank.
  14263. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  14264. // The private DNS name assigned to the instance. This DNS name can only be
  14265. // used inside the Amazon EC2 network. This name is not available until the
  14266. // instance enters the running state.
  14267. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  14268. // The private IP address assigned to the instance.
  14269. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  14270. // The product codes attached to this instance.
  14271. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  14272. // The public DNS name assigned to the instance. This name is not available
  14273. // until the instance enters the running state.
  14274. PublicDnsName *string `locationName:"dnsName" type:"string"`
  14275. // The public IP address assigned to the instance.
  14276. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  14277. // The RAM disk associated with this instance.
  14278. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  14279. // The root device name (for example, /dev/sda1 or /dev/xvda).
  14280. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  14281. // The root device type used by the AMI. The AMI can use an EBS volume or an
  14282. // instance store volume.
  14283. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  14284. // One or more security groups for the instance.
  14285. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  14286. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  14287. // This controls whether source/destination checking is enabled on the instance.
  14288. // A value of true means checking is enabled, and false means checking is disabled.
  14289. // The value must be false for the instance to perform NAT. For more information,
  14290. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  14291. // in the Amazon Virtual Private Cloud User Guide.
  14292. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  14293. // The ID of the Spot Instance request.
  14294. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  14295. // Specifies whether enhanced networking is enabled.
  14296. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  14297. // The current state of the instance.
  14298. State *InstanceState `locationName:"instanceState" type:"structure"`
  14299. // The reason for the most recent state transition.
  14300. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  14301. // The reason for the most recent state transition. This might be an empty string.
  14302. StateTransitionReason *string `locationName:"reason" type:"string"`
  14303. // The ID of the subnet in which the instance is running.
  14304. SubnetId *string `locationName:"subnetId" type:"string"`
  14305. // Any tags assigned to the instance.
  14306. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  14307. // The virtualization type of the instance.
  14308. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  14309. // The ID of the VPC in which the instance is running.
  14310. VpcId *string `locationName:"vpcId" type:"string"`
  14311. metadataInstance `json:"-" xml:"-"`
  14312. }
  14313. type metadataInstance struct {
  14314. SDKShapeTraits bool `type:"structure"`
  14315. }
  14316. // String returns the string representation
  14317. func (s Instance) String() string {
  14318. return awsutil.Prettify(s)
  14319. }
  14320. // GoString returns the string representation
  14321. func (s Instance) GoString() string {
  14322. return s.String()
  14323. }
  14324. // Describes a block device mapping.
  14325. type InstanceBlockDeviceMapping struct {
  14326. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  14327. DeviceName *string `locationName:"deviceName" type:"string"`
  14328. // Parameters used to automatically set up EBS volumes when the instance is
  14329. // launched.
  14330. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  14331. metadataInstanceBlockDeviceMapping `json:"-" xml:"-"`
  14332. }
  14333. type metadataInstanceBlockDeviceMapping struct {
  14334. SDKShapeTraits bool `type:"structure"`
  14335. }
  14336. // String returns the string representation
  14337. func (s InstanceBlockDeviceMapping) String() string {
  14338. return awsutil.Prettify(s)
  14339. }
  14340. // GoString returns the string representation
  14341. func (s InstanceBlockDeviceMapping) GoString() string {
  14342. return s.String()
  14343. }
  14344. // Describes a block device mapping entry.
  14345. type InstanceBlockDeviceMappingSpecification struct {
  14346. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  14347. DeviceName *string `locationName:"deviceName" type:"string"`
  14348. // Parameters used to automatically set up EBS volumes when the instance is
  14349. // launched.
  14350. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  14351. // suppress the specified device included in the block device mapping.
  14352. NoDevice *string `locationName:"noDevice" type:"string"`
  14353. // The virtual device name.
  14354. VirtualName *string `locationName:"virtualName" type:"string"`
  14355. metadataInstanceBlockDeviceMappingSpecification `json:"-" xml:"-"`
  14356. }
  14357. type metadataInstanceBlockDeviceMappingSpecification struct {
  14358. SDKShapeTraits bool `type:"structure"`
  14359. }
  14360. // String returns the string representation
  14361. func (s InstanceBlockDeviceMappingSpecification) String() string {
  14362. return awsutil.Prettify(s)
  14363. }
  14364. // GoString returns the string representation
  14365. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  14366. return s.String()
  14367. }
  14368. // Describes a Reserved Instance listing state.
  14369. type InstanceCount struct {
  14370. // The number of listed Reserved Instances in the state specified by the state.
  14371. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  14372. // The states of the listed Reserved Instances.
  14373. State *string `locationName:"state" type:"string" enum:"ListingState"`
  14374. metadataInstanceCount `json:"-" xml:"-"`
  14375. }
  14376. type metadataInstanceCount struct {
  14377. SDKShapeTraits bool `type:"structure"`
  14378. }
  14379. // String returns the string representation
  14380. func (s InstanceCount) String() string {
  14381. return awsutil.Prettify(s)
  14382. }
  14383. // GoString returns the string representation
  14384. func (s InstanceCount) GoString() string {
  14385. return s.String()
  14386. }
  14387. // Describes an instance to export.
  14388. type InstanceExportDetails struct {
  14389. // The ID of the resource being exported.
  14390. InstanceId *string `locationName:"instanceId" type:"string"`
  14391. // The target virtualization environment.
  14392. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  14393. metadataInstanceExportDetails `json:"-" xml:"-"`
  14394. }
  14395. type metadataInstanceExportDetails struct {
  14396. SDKShapeTraits bool `type:"structure"`
  14397. }
  14398. // String returns the string representation
  14399. func (s InstanceExportDetails) String() string {
  14400. return awsutil.Prettify(s)
  14401. }
  14402. // GoString returns the string representation
  14403. func (s InstanceExportDetails) GoString() string {
  14404. return s.String()
  14405. }
  14406. // Describes the monitoring information of the instance.
  14407. type InstanceMonitoring struct {
  14408. // The ID of the instance.
  14409. InstanceId *string `locationName:"instanceId" type:"string"`
  14410. // The monitoring information.
  14411. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  14412. metadataInstanceMonitoring `json:"-" xml:"-"`
  14413. }
  14414. type metadataInstanceMonitoring struct {
  14415. SDKShapeTraits bool `type:"structure"`
  14416. }
  14417. // String returns the string representation
  14418. func (s InstanceMonitoring) String() string {
  14419. return awsutil.Prettify(s)
  14420. }
  14421. // GoString returns the string representation
  14422. func (s InstanceMonitoring) GoString() string {
  14423. return s.String()
  14424. }
  14425. // Describes a network interface.
  14426. type InstanceNetworkInterface struct {
  14427. // The association information for an Elastic IP associated with the network
  14428. // interface.
  14429. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  14430. // The network interface attachment.
  14431. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  14432. // The description.
  14433. Description *string `locationName:"description" type:"string"`
  14434. // One or more security groups.
  14435. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  14436. // The MAC address.
  14437. MacAddress *string `locationName:"macAddress" type:"string"`
  14438. // The ID of the network interface.
  14439. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  14440. // The ID of the AWS account that created the network interface.
  14441. OwnerId *string `locationName:"ownerId" type:"string"`
  14442. // The private DNS name.
  14443. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  14444. // The IP address of the network interface within the subnet.
  14445. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  14446. // The private IP addresses associated with the network interface.
  14447. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  14448. // Indicates whether to validate network traffic to or from this network interface.
  14449. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  14450. // The status of the network interface.
  14451. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  14452. // The ID of the subnet.
  14453. SubnetId *string `locationName:"subnetId" type:"string"`
  14454. // The ID of the VPC.
  14455. VpcId *string `locationName:"vpcId" type:"string"`
  14456. metadataInstanceNetworkInterface `json:"-" xml:"-"`
  14457. }
  14458. type metadataInstanceNetworkInterface struct {
  14459. SDKShapeTraits bool `type:"structure"`
  14460. }
  14461. // String returns the string representation
  14462. func (s InstanceNetworkInterface) String() string {
  14463. return awsutil.Prettify(s)
  14464. }
  14465. // GoString returns the string representation
  14466. func (s InstanceNetworkInterface) GoString() string {
  14467. return s.String()
  14468. }
  14469. // Describes association information for an Elastic IP address.
  14470. type InstanceNetworkInterfaceAssociation struct {
  14471. // The ID of the owner of the Elastic IP address.
  14472. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  14473. // The public DNS name.
  14474. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  14475. // The public IP address or Elastic IP address bound to the network interface.
  14476. PublicIp *string `locationName:"publicIp" type:"string"`
  14477. metadataInstanceNetworkInterfaceAssociation `json:"-" xml:"-"`
  14478. }
  14479. type metadataInstanceNetworkInterfaceAssociation struct {
  14480. SDKShapeTraits bool `type:"structure"`
  14481. }
  14482. // String returns the string representation
  14483. func (s InstanceNetworkInterfaceAssociation) String() string {
  14484. return awsutil.Prettify(s)
  14485. }
  14486. // GoString returns the string representation
  14487. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  14488. return s.String()
  14489. }
  14490. // Describes a network interface attachment.
  14491. type InstanceNetworkInterfaceAttachment struct {
  14492. // The time stamp when the attachment initiated.
  14493. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  14494. // The ID of the network interface attachment.
  14495. AttachmentId *string `locationName:"attachmentId" type:"string"`
  14496. // Indicates whether the network interface is deleted when the instance is terminated.
  14497. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  14498. // The index of the device on the instance for the network interface attachment.
  14499. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  14500. // The attachment state.
  14501. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  14502. metadataInstanceNetworkInterfaceAttachment `json:"-" xml:"-"`
  14503. }
  14504. type metadataInstanceNetworkInterfaceAttachment struct {
  14505. SDKShapeTraits bool `type:"structure"`
  14506. }
  14507. // String returns the string representation
  14508. func (s InstanceNetworkInterfaceAttachment) String() string {
  14509. return awsutil.Prettify(s)
  14510. }
  14511. // GoString returns the string representation
  14512. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  14513. return s.String()
  14514. }
  14515. // Describes a network interface.
  14516. type InstanceNetworkInterfaceSpecification struct {
  14517. // Indicates whether to assign a public IP address to an instance you launch
  14518. // in a VPC. The public IP address can only be assigned to a network interface
  14519. // for eth0, and can only be assigned to a new network interface, not an existing
  14520. // one. You cannot specify more than one network interface in the request. If
  14521. // launching into a default subnet, the default value is true.
  14522. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  14523. // If set to true, the interface is deleted when the instance is terminated.
  14524. // You can specify true only if creating a new network interface when launching
  14525. // an instance.
  14526. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  14527. // The description of the network interface. Applies only if creating a network
  14528. // interface when launching an instance.
  14529. Description *string `locationName:"description" type:"string"`
  14530. // The index of the device on the instance for the network interface attachment.
  14531. // If you are specifying a network interface in a RunInstances request, you
  14532. // must provide the device index.
  14533. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  14534. // The IDs of the security groups for the network interface. Applies only if
  14535. // creating a network interface when launching an instance.
  14536. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  14537. // The ID of the network interface.
  14538. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  14539. // The private IP address of the network interface. Applies only if creating
  14540. // a network interface when launching an instance.
  14541. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  14542. // One or more private IP addresses to assign to the network interface. Only
  14543. // one private IP address can be designated as primary.
  14544. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  14545. // The number of secondary private IP addresses. You can't specify this option
  14546. // and specify more than one private IP address using the private IP addresses
  14547. // option.
  14548. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  14549. // The ID of the subnet associated with the network string. Applies only if
  14550. // creating a network interface when launching an instance.
  14551. SubnetId *string `locationName:"subnetId" type:"string"`
  14552. metadataInstanceNetworkInterfaceSpecification `json:"-" xml:"-"`
  14553. }
  14554. type metadataInstanceNetworkInterfaceSpecification struct {
  14555. SDKShapeTraits bool `type:"structure"`
  14556. }
  14557. // String returns the string representation
  14558. func (s InstanceNetworkInterfaceSpecification) String() string {
  14559. return awsutil.Prettify(s)
  14560. }
  14561. // GoString returns the string representation
  14562. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  14563. return s.String()
  14564. }
  14565. // Describes a private IP address.
  14566. type InstancePrivateIpAddress struct {
  14567. // The association information for an Elastic IP address for the network interface.
  14568. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  14569. // Indicates whether this IP address is the primary private IP address of the
  14570. // network interface.
  14571. Primary *bool `locationName:"primary" type:"boolean"`
  14572. // The private DNS name.
  14573. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  14574. // The private IP address of the network interface.
  14575. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  14576. metadataInstancePrivateIpAddress `json:"-" xml:"-"`
  14577. }
  14578. type metadataInstancePrivateIpAddress struct {
  14579. SDKShapeTraits bool `type:"structure"`
  14580. }
  14581. // String returns the string representation
  14582. func (s InstancePrivateIpAddress) String() string {
  14583. return awsutil.Prettify(s)
  14584. }
  14585. // GoString returns the string representation
  14586. func (s InstancePrivateIpAddress) GoString() string {
  14587. return s.String()
  14588. }
  14589. // Describes the current state of the instance.
  14590. type InstanceState struct {
  14591. // The low byte represents the state. The high byte is an opaque internal value
  14592. // and should be ignored.
  14593. //
  14594. // 0 : pending
  14595. //
  14596. // 16 : running
  14597. //
  14598. // 32 : shutting-down
  14599. //
  14600. // 48 : terminated
  14601. //
  14602. // 64 : stopping
  14603. //
  14604. // 80 : stopped
  14605. Code *int64 `locationName:"code" type:"integer"`
  14606. // The current state of the instance.
  14607. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  14608. metadataInstanceState `json:"-" xml:"-"`
  14609. }
  14610. type metadataInstanceState struct {
  14611. SDKShapeTraits bool `type:"structure"`
  14612. }
  14613. // String returns the string representation
  14614. func (s InstanceState) String() string {
  14615. return awsutil.Prettify(s)
  14616. }
  14617. // GoString returns the string representation
  14618. func (s InstanceState) GoString() string {
  14619. return s.String()
  14620. }
  14621. // Describes an instance state change.
  14622. type InstanceStateChange struct {
  14623. // The current state of the instance.
  14624. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  14625. // The ID of the instance.
  14626. InstanceId *string `locationName:"instanceId" type:"string"`
  14627. // The previous state of the instance.
  14628. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  14629. metadataInstanceStateChange `json:"-" xml:"-"`
  14630. }
  14631. type metadataInstanceStateChange struct {
  14632. SDKShapeTraits bool `type:"structure"`
  14633. }
  14634. // String returns the string representation
  14635. func (s InstanceStateChange) String() string {
  14636. return awsutil.Prettify(s)
  14637. }
  14638. // GoString returns the string representation
  14639. func (s InstanceStateChange) GoString() string {
  14640. return s.String()
  14641. }
  14642. // Describes the status of an instance.
  14643. type InstanceStatus struct {
  14644. // The Availability Zone of the instance.
  14645. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  14646. // Any scheduled events associated with the instance.
  14647. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  14648. // The ID of the instance.
  14649. InstanceId *string `locationName:"instanceId" type:"string"`
  14650. // The intended state of the instance. DescribeInstanceStatus requires that
  14651. // an instance be in the running state.
  14652. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  14653. // Reports impaired functionality that stems from issues internal to the instance,
  14654. // such as impaired reachability.
  14655. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  14656. // Reports impaired functionality that stems from issues related to the systems
  14657. // that support an instance, such as hardware failures and network connectivity
  14658. // problems.
  14659. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  14660. metadataInstanceStatus `json:"-" xml:"-"`
  14661. }
  14662. type metadataInstanceStatus struct {
  14663. SDKShapeTraits bool `type:"structure"`
  14664. }
  14665. // String returns the string representation
  14666. func (s InstanceStatus) String() string {
  14667. return awsutil.Prettify(s)
  14668. }
  14669. // GoString returns the string representation
  14670. func (s InstanceStatus) GoString() string {
  14671. return s.String()
  14672. }
  14673. // Describes the instance status.
  14674. type InstanceStatusDetails struct {
  14675. // The time when a status check failed. For an instance that was launched and
  14676. // impaired, this is the time when the instance was launched.
  14677. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  14678. // The type of instance status.
  14679. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  14680. // The status.
  14681. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  14682. metadataInstanceStatusDetails `json:"-" xml:"-"`
  14683. }
  14684. type metadataInstanceStatusDetails struct {
  14685. SDKShapeTraits bool `type:"structure"`
  14686. }
  14687. // String returns the string representation
  14688. func (s InstanceStatusDetails) String() string {
  14689. return awsutil.Prettify(s)
  14690. }
  14691. // GoString returns the string representation
  14692. func (s InstanceStatusDetails) GoString() string {
  14693. return s.String()
  14694. }
  14695. // Describes a scheduled event for an instance.
  14696. type InstanceStatusEvent struct {
  14697. // The event code.
  14698. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  14699. // A description of the event.
  14700. //
  14701. // After a scheduled event is completed, it can still be described for up to
  14702. // a week. If the event has been completed, this description starts with the
  14703. // following text: [Completed].
  14704. Description *string `locationName:"description" type:"string"`
  14705. // The latest scheduled end time for the event.
  14706. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  14707. // The earliest scheduled start time for the event.
  14708. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  14709. metadataInstanceStatusEvent `json:"-" xml:"-"`
  14710. }
  14711. type metadataInstanceStatusEvent struct {
  14712. SDKShapeTraits bool `type:"structure"`
  14713. }
  14714. // String returns the string representation
  14715. func (s InstanceStatusEvent) String() string {
  14716. return awsutil.Prettify(s)
  14717. }
  14718. // GoString returns the string representation
  14719. func (s InstanceStatusEvent) GoString() string {
  14720. return s.String()
  14721. }
  14722. // Describes the status of an instance.
  14723. type InstanceStatusSummary struct {
  14724. // The system instance health or application instance health.
  14725. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  14726. // The status.
  14727. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  14728. metadataInstanceStatusSummary `json:"-" xml:"-"`
  14729. }
  14730. type metadataInstanceStatusSummary struct {
  14731. SDKShapeTraits bool `type:"structure"`
  14732. }
  14733. // String returns the string representation
  14734. func (s InstanceStatusSummary) String() string {
  14735. return awsutil.Prettify(s)
  14736. }
  14737. // GoString returns the string representation
  14738. func (s InstanceStatusSummary) GoString() string {
  14739. return s.String()
  14740. }
  14741. // Describes an Internet gateway.
  14742. type InternetGateway struct {
  14743. // Any VPCs attached to the Internet gateway.
  14744. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  14745. // The ID of the Internet gateway.
  14746. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  14747. // Any tags assigned to the Internet gateway.
  14748. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  14749. metadataInternetGateway `json:"-" xml:"-"`
  14750. }
  14751. type metadataInternetGateway struct {
  14752. SDKShapeTraits bool `type:"structure"`
  14753. }
  14754. // String returns the string representation
  14755. func (s InternetGateway) String() string {
  14756. return awsutil.Prettify(s)
  14757. }
  14758. // GoString returns the string representation
  14759. func (s InternetGateway) GoString() string {
  14760. return s.String()
  14761. }
  14762. // Describes the attachment of a VPC to an Internet gateway.
  14763. type InternetGatewayAttachment struct {
  14764. // The current state of the attachment.
  14765. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  14766. // The ID of the VPC.
  14767. VpcId *string `locationName:"vpcId" type:"string"`
  14768. metadataInternetGatewayAttachment `json:"-" xml:"-"`
  14769. }
  14770. type metadataInternetGatewayAttachment struct {
  14771. SDKShapeTraits bool `type:"structure"`
  14772. }
  14773. // String returns the string representation
  14774. func (s InternetGatewayAttachment) String() string {
  14775. return awsutil.Prettify(s)
  14776. }
  14777. // GoString returns the string representation
  14778. func (s InternetGatewayAttachment) GoString() string {
  14779. return s.String()
  14780. }
  14781. // Describes a security group rule.
  14782. type IpPermission struct {
  14783. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  14784. // A value of -1 indicates all ICMP types.
  14785. FromPort *int64 `locationName:"fromPort" type:"integer"`
  14786. // The protocol.
  14787. //
  14788. // When you call DescribeSecurityGroups, the protocol value returned is the
  14789. // number. Exception: For TCP, UDP, and ICMP, the value returned is the name
  14790. // (for example, tcp, udp, or icmp). For a list of protocol numbers, see Protocol
  14791. // Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  14792. // (VPC only) When you call AuthorizeSecurityGroupIngress, you can use -1 to
  14793. // specify all.
  14794. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  14795. // One or more IP ranges.
  14796. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  14797. // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
  14798. // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
  14799. // request, this is the AWS service that you want to access through a VPC endpoint
  14800. // from instances associated with the security group.
  14801. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  14802. // The end of port range for the TCP and UDP protocols, or an ICMP code. A value
  14803. // of -1 indicates all ICMP codes for the specified ICMP type.
  14804. ToPort *int64 `locationName:"toPort" type:"integer"`
  14805. // One or more security group and AWS account ID pairs.
  14806. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  14807. metadataIpPermission `json:"-" xml:"-"`
  14808. }
  14809. type metadataIpPermission struct {
  14810. SDKShapeTraits bool `type:"structure"`
  14811. }
  14812. // String returns the string representation
  14813. func (s IpPermission) String() string {
  14814. return awsutil.Prettify(s)
  14815. }
  14816. // GoString returns the string representation
  14817. func (s IpPermission) GoString() string {
  14818. return s.String()
  14819. }
  14820. // Describes an IP range.
  14821. type IpRange struct {
  14822. // The CIDR range. You can either specify a CIDR range or a source security
  14823. // group, not both.
  14824. CidrIp *string `locationName:"cidrIp" type:"string"`
  14825. metadataIpRange `json:"-" xml:"-"`
  14826. }
  14827. type metadataIpRange struct {
  14828. SDKShapeTraits bool `type:"structure"`
  14829. }
  14830. // String returns the string representation
  14831. func (s IpRange) String() string {
  14832. return awsutil.Prettify(s)
  14833. }
  14834. // GoString returns the string representation
  14835. func (s IpRange) GoString() string {
  14836. return s.String()
  14837. }
  14838. // Describes a key pair.
  14839. type KeyPairInfo struct {
  14840. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  14841. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  14842. // the public key, this is the MD5 public key fingerprint as specified in section
  14843. // 4 of RFC4716.
  14844. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  14845. // The name of the key pair.
  14846. KeyName *string `locationName:"keyName" type:"string"`
  14847. metadataKeyPairInfo `json:"-" xml:"-"`
  14848. }
  14849. type metadataKeyPairInfo struct {
  14850. SDKShapeTraits bool `type:"structure"`
  14851. }
  14852. // String returns the string representation
  14853. func (s KeyPairInfo) String() string {
  14854. return awsutil.Prettify(s)
  14855. }
  14856. // GoString returns the string representation
  14857. func (s KeyPairInfo) GoString() string {
  14858. return s.String()
  14859. }
  14860. // Describes a launch permission.
  14861. type LaunchPermission struct {
  14862. // The name of the group.
  14863. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  14864. // The AWS account ID.
  14865. UserId *string `locationName:"userId" type:"string"`
  14866. metadataLaunchPermission `json:"-" xml:"-"`
  14867. }
  14868. type metadataLaunchPermission struct {
  14869. SDKShapeTraits bool `type:"structure"`
  14870. }
  14871. // String returns the string representation
  14872. func (s LaunchPermission) String() string {
  14873. return awsutil.Prettify(s)
  14874. }
  14875. // GoString returns the string representation
  14876. func (s LaunchPermission) GoString() string {
  14877. return s.String()
  14878. }
  14879. // Describes a launch permission modification.
  14880. type LaunchPermissionModifications struct {
  14881. // The AWS account ID to add to the list of launch permissions for the AMI.
  14882. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  14883. // The AWS account ID to remove from the list of launch permissions for the
  14884. // AMI.
  14885. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  14886. metadataLaunchPermissionModifications `json:"-" xml:"-"`
  14887. }
  14888. type metadataLaunchPermissionModifications struct {
  14889. SDKShapeTraits bool `type:"structure"`
  14890. }
  14891. // String returns the string representation
  14892. func (s LaunchPermissionModifications) String() string {
  14893. return awsutil.Prettify(s)
  14894. }
  14895. // GoString returns the string representation
  14896. func (s LaunchPermissionModifications) GoString() string {
  14897. return s.String()
  14898. }
  14899. // Describes the launch specification for an instance.
  14900. type LaunchSpecification struct {
  14901. // Deprecated.
  14902. AddressingType *string `locationName:"addressingType" type:"string"`
  14903. // One or more block device mapping entries.
  14904. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  14905. // Indicates whether the instance is optimized for EBS I/O. This optimization
  14906. // provides dedicated throughput to Amazon EBS and an optimized configuration
  14907. // stack to provide optimal EBS I/O performance. This optimization isn't available
  14908. // with all instance types. Additional usage charges apply when using an EBS
  14909. // Optimized instance.
  14910. //
  14911. // Default: false
  14912. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  14913. // The IAM instance profile.
  14914. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  14915. // The ID of the AMI.
  14916. ImageId *string `locationName:"imageId" type:"string"`
  14917. // The instance type.
  14918. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  14919. // The ID of the kernel.
  14920. KernelId *string `locationName:"kernelId" type:"string"`
  14921. // The name of the key pair.
  14922. KeyName *string `locationName:"keyName" type:"string"`
  14923. // Describes the monitoring for the instance.
  14924. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  14925. // One or more network interfaces.
  14926. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  14927. // The placement information for the instance.
  14928. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  14929. // The ID of the RAM disk.
  14930. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  14931. // One or more security groups. To request an instance in a nondefault VPC,
  14932. // you must specify the ID of the security group. To request an instance in
  14933. // EC2-Classic or a default VPC, you can specify the name or the ID of the security
  14934. // group.
  14935. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  14936. // The ID of the subnet in which to launch the instance.
  14937. SubnetId *string `locationName:"subnetId" type:"string"`
  14938. // The Base64-encoded MIME user data to make available to the instances.
  14939. UserData *string `locationName:"userData" type:"string"`
  14940. metadataLaunchSpecification `json:"-" xml:"-"`
  14941. }
  14942. type metadataLaunchSpecification struct {
  14943. SDKShapeTraits bool `type:"structure"`
  14944. }
  14945. // String returns the string representation
  14946. func (s LaunchSpecification) String() string {
  14947. return awsutil.Prettify(s)
  14948. }
  14949. // GoString returns the string representation
  14950. func (s LaunchSpecification) GoString() string {
  14951. return s.String()
  14952. }
  14953. type ModifyImageAttributeInput struct {
  14954. // The name of the attribute to modify.
  14955. Attribute *string `type:"string"`
  14956. // A description for the AMI.
  14957. Description *AttributeValue `type:"structure"`
  14958. // Checks whether you have the required permissions for the action, without
  14959. // actually making the request, and provides an error response. If you have
  14960. // the required permissions, the error response is DryRunOperation. Otherwise,
  14961. // it is UnauthorizedOperation.
  14962. DryRun *bool `locationName:"dryRun" type:"boolean"`
  14963. // The ID of the AMI.
  14964. ImageId *string `type:"string" required:"true"`
  14965. // A launch permission modification.
  14966. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  14967. // The operation type.
  14968. OperationType *string `type:"string" enum:"OperationType"`
  14969. // One or more product codes. After you add a product code to an AMI, it can't
  14970. // be removed. This is only valid when modifying the productCodes attribute.
  14971. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  14972. // One or more user groups. This is only valid when modifying the launchPermission
  14973. // attribute.
  14974. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  14975. // One or more AWS account IDs. This is only valid when modifying the launchPermission
  14976. // attribute.
  14977. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  14978. // The value of the attribute being modified. This is only valid when modifying
  14979. // the description attribute.
  14980. Value *string `type:"string"`
  14981. metadataModifyImageAttributeInput `json:"-" xml:"-"`
  14982. }
  14983. type metadataModifyImageAttributeInput struct {
  14984. SDKShapeTraits bool `type:"structure"`
  14985. }
  14986. // String returns the string representation
  14987. func (s ModifyImageAttributeInput) String() string {
  14988. return awsutil.Prettify(s)
  14989. }
  14990. // GoString returns the string representation
  14991. func (s ModifyImageAttributeInput) GoString() string {
  14992. return s.String()
  14993. }
  14994. type ModifyImageAttributeOutput struct {
  14995. metadataModifyImageAttributeOutput `json:"-" xml:"-"`
  14996. }
  14997. type metadataModifyImageAttributeOutput struct {
  14998. SDKShapeTraits bool `type:"structure"`
  14999. }
  15000. // String returns the string representation
  15001. func (s ModifyImageAttributeOutput) String() string {
  15002. return awsutil.Prettify(s)
  15003. }
  15004. // GoString returns the string representation
  15005. func (s ModifyImageAttributeOutput) GoString() string {
  15006. return s.String()
  15007. }
  15008. type ModifyInstanceAttributeInput struct {
  15009. // The name of the attribute.
  15010. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  15011. // Modifies the DeleteOnTermination attribute for volumes that are currently
  15012. // attached. The volume must be owned by the caller. If no value is specified
  15013. // for DeleteOnTermination, the default is true and the volume is deleted when
  15014. // the instance is terminated.
  15015. //
  15016. // To add instance store volumes to an Amazon EBS-backed instance, you must
  15017. // add them when you launch the instance. For more information, see Updating
  15018. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  15019. // in the Amazon Elastic Compute Cloud User Guide.
  15020. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  15021. // If the value is true, you can't terminate the instance using the Amazon EC2
  15022. // console, CLI, or API; otherwise, you can. You cannot use this paramater for
  15023. // Spot Instances.
  15024. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  15025. // Checks whether you have the required permissions for the action, without
  15026. // actually making the request, and provides an error response. If you have
  15027. // the required permissions, the error response is DryRunOperation. Otherwise,
  15028. // it is UnauthorizedOperation.
  15029. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15030. // Specifies whether the instance is optimized for EBS I/O. This optimization
  15031. // provides dedicated throughput to Amazon EBS and an optimized configuration
  15032. // stack to provide optimal EBS I/O performance. This optimization isn't available
  15033. // with all instance types. Additional usage charges apply when using an EBS
  15034. // Optimized instance.
  15035. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  15036. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  15037. // least one security group, even if it's just the default security group for
  15038. // the VPC. You must specify the security group ID, not the security group name.
  15039. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  15040. // The ID of the instance.
  15041. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  15042. // Specifies whether an instance stops or terminates when you initiate shutdown
  15043. // from the instance (using the operating system command for system shutdown).
  15044. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  15045. // Changes the instance type to the specified value. For more information, see
  15046. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  15047. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  15048. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  15049. // Changes the instance's kernel to the specified value. We recommend that you
  15050. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  15051. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  15052. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  15053. // Changes the instance's RAM disk to the specified value. We recommend that
  15054. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  15055. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  15056. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  15057. // Specifies whether source/destination checking is enabled. A value of true
  15058. // means that checking is enabled, and false means checking is disabled. This
  15059. // value must be false for a NAT instance to perform NAT.
  15060. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  15061. // Set to simple to enable enhanced networking for the instance.
  15062. //
  15063. // There is no way to disable enhanced networking at this time.
  15064. //
  15065. // This option is supported only for HVM instances. Specifying this option
  15066. // with a PV instance can make it unreachable.
  15067. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  15068. // Changes the instance's user data to the specified value.
  15069. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  15070. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  15071. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  15072. Value *string `locationName:"value" type:"string"`
  15073. metadataModifyInstanceAttributeInput `json:"-" xml:"-"`
  15074. }
  15075. type metadataModifyInstanceAttributeInput struct {
  15076. SDKShapeTraits bool `type:"structure"`
  15077. }
  15078. // String returns the string representation
  15079. func (s ModifyInstanceAttributeInput) String() string {
  15080. return awsutil.Prettify(s)
  15081. }
  15082. // GoString returns the string representation
  15083. func (s ModifyInstanceAttributeInput) GoString() string {
  15084. return s.String()
  15085. }
  15086. type ModifyInstanceAttributeOutput struct {
  15087. metadataModifyInstanceAttributeOutput `json:"-" xml:"-"`
  15088. }
  15089. type metadataModifyInstanceAttributeOutput struct {
  15090. SDKShapeTraits bool `type:"structure"`
  15091. }
  15092. // String returns the string representation
  15093. func (s ModifyInstanceAttributeOutput) String() string {
  15094. return awsutil.Prettify(s)
  15095. }
  15096. // GoString returns the string representation
  15097. func (s ModifyInstanceAttributeOutput) GoString() string {
  15098. return s.String()
  15099. }
  15100. type ModifyNetworkInterfaceAttributeInput struct {
  15101. // Information about the interface attachment. If modifying the 'delete on termination'
  15102. // attribute, you must specify the ID of the interface attachment.
  15103. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  15104. // A description for the network interface.
  15105. Description *AttributeValue `locationName:"description" type:"structure"`
  15106. // Checks whether you have the required permissions for the action, without
  15107. // actually making the request, and provides an error response. If you have
  15108. // the required permissions, the error response is DryRunOperation. Otherwise,
  15109. // it is UnauthorizedOperation.
  15110. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15111. // Changes the security groups for the network interface. The new set of groups
  15112. // you specify replaces the current set. You must specify at least one group,
  15113. // even if it's just the default security group in the VPC. You must specify
  15114. // the ID of the security group, not the name.
  15115. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  15116. // The ID of the network interface.
  15117. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  15118. // Indicates whether source/destination checking is enabled. A value of true
  15119. // means checking is enabled, and false means checking is disabled. This value
  15120. // must be false for a NAT instance to perform NAT. For more information, see
  15121. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  15122. // in the Amazon Virtual Private Cloud User Guide.
  15123. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  15124. metadataModifyNetworkInterfaceAttributeInput `json:"-" xml:"-"`
  15125. }
  15126. type metadataModifyNetworkInterfaceAttributeInput struct {
  15127. SDKShapeTraits bool `type:"structure"`
  15128. }
  15129. // String returns the string representation
  15130. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  15131. return awsutil.Prettify(s)
  15132. }
  15133. // GoString returns the string representation
  15134. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  15135. return s.String()
  15136. }
  15137. type ModifyNetworkInterfaceAttributeOutput struct {
  15138. metadataModifyNetworkInterfaceAttributeOutput `json:"-" xml:"-"`
  15139. }
  15140. type metadataModifyNetworkInterfaceAttributeOutput struct {
  15141. SDKShapeTraits bool `type:"structure"`
  15142. }
  15143. // String returns the string representation
  15144. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  15145. return awsutil.Prettify(s)
  15146. }
  15147. // GoString returns the string representation
  15148. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  15149. return s.String()
  15150. }
  15151. type ModifyReservedInstancesInput struct {
  15152. // A unique, case-sensitive token you provide to ensure idempotency of your
  15153. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  15154. ClientToken *string `locationName:"clientToken" type:"string"`
  15155. // The IDs of the Reserved Instances to modify.
  15156. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  15157. // The configuration settings for the Reserved Instances to modify.
  15158. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  15159. metadataModifyReservedInstancesInput `json:"-" xml:"-"`
  15160. }
  15161. type metadataModifyReservedInstancesInput struct {
  15162. SDKShapeTraits bool `type:"structure"`
  15163. }
  15164. // String returns the string representation
  15165. func (s ModifyReservedInstancesInput) String() string {
  15166. return awsutil.Prettify(s)
  15167. }
  15168. // GoString returns the string representation
  15169. func (s ModifyReservedInstancesInput) GoString() string {
  15170. return s.String()
  15171. }
  15172. type ModifyReservedInstancesOutput struct {
  15173. // The ID for the modification.
  15174. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  15175. metadataModifyReservedInstancesOutput `json:"-" xml:"-"`
  15176. }
  15177. type metadataModifyReservedInstancesOutput struct {
  15178. SDKShapeTraits bool `type:"structure"`
  15179. }
  15180. // String returns the string representation
  15181. func (s ModifyReservedInstancesOutput) String() string {
  15182. return awsutil.Prettify(s)
  15183. }
  15184. // GoString returns the string representation
  15185. func (s ModifyReservedInstancesOutput) GoString() string {
  15186. return s.String()
  15187. }
  15188. type ModifySnapshotAttributeInput struct {
  15189. // The snapshot attribute to modify.
  15190. //
  15191. // Only volume creation permissions may be modified at the customer level.
  15192. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  15193. // A JSON representation of the snapshot attribute modification.
  15194. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  15195. // Checks whether you have the required permissions for the action, without
  15196. // actually making the request, and provides an error response. If you have
  15197. // the required permissions, the error response is DryRunOperation. Otherwise,
  15198. // it is UnauthorizedOperation.
  15199. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15200. // The group to modify for the snapshot.
  15201. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  15202. // The type of operation to perform to the attribute.
  15203. OperationType *string `type:"string" enum:"OperationType"`
  15204. // The ID of the snapshot.
  15205. SnapshotId *string `type:"string" required:"true"`
  15206. // The account ID to modify for the snapshot.
  15207. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  15208. metadataModifySnapshotAttributeInput `json:"-" xml:"-"`
  15209. }
  15210. type metadataModifySnapshotAttributeInput struct {
  15211. SDKShapeTraits bool `type:"structure"`
  15212. }
  15213. // String returns the string representation
  15214. func (s ModifySnapshotAttributeInput) String() string {
  15215. return awsutil.Prettify(s)
  15216. }
  15217. // GoString returns the string representation
  15218. func (s ModifySnapshotAttributeInput) GoString() string {
  15219. return s.String()
  15220. }
  15221. type ModifySnapshotAttributeOutput struct {
  15222. metadataModifySnapshotAttributeOutput `json:"-" xml:"-"`
  15223. }
  15224. type metadataModifySnapshotAttributeOutput struct {
  15225. SDKShapeTraits bool `type:"structure"`
  15226. }
  15227. // String returns the string representation
  15228. func (s ModifySnapshotAttributeOutput) String() string {
  15229. return awsutil.Prettify(s)
  15230. }
  15231. // GoString returns the string representation
  15232. func (s ModifySnapshotAttributeOutput) GoString() string {
  15233. return s.String()
  15234. }
  15235. type ModifySubnetAttributeInput struct {
  15236. // Specify true to indicate that instances launched into the specified subnet
  15237. // should be assigned public IP address.
  15238. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  15239. // The ID of the subnet.
  15240. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  15241. metadataModifySubnetAttributeInput `json:"-" xml:"-"`
  15242. }
  15243. type metadataModifySubnetAttributeInput struct {
  15244. SDKShapeTraits bool `type:"structure"`
  15245. }
  15246. // String returns the string representation
  15247. func (s ModifySubnetAttributeInput) String() string {
  15248. return awsutil.Prettify(s)
  15249. }
  15250. // GoString returns the string representation
  15251. func (s ModifySubnetAttributeInput) GoString() string {
  15252. return s.String()
  15253. }
  15254. type ModifySubnetAttributeOutput struct {
  15255. metadataModifySubnetAttributeOutput `json:"-" xml:"-"`
  15256. }
  15257. type metadataModifySubnetAttributeOutput struct {
  15258. SDKShapeTraits bool `type:"structure"`
  15259. }
  15260. // String returns the string representation
  15261. func (s ModifySubnetAttributeOutput) String() string {
  15262. return awsutil.Prettify(s)
  15263. }
  15264. // GoString returns the string representation
  15265. func (s ModifySubnetAttributeOutput) GoString() string {
  15266. return s.String()
  15267. }
  15268. type ModifyVolumeAttributeInput struct {
  15269. // Indicates whether the volume should be auto-enabled for I/O operations.
  15270. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  15271. // Checks whether you have the required permissions for the action, without
  15272. // actually making the request, and provides an error response. If you have
  15273. // the required permissions, the error response is DryRunOperation. Otherwise,
  15274. // it is UnauthorizedOperation.
  15275. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15276. // The ID of the volume.
  15277. VolumeId *string `type:"string" required:"true"`
  15278. metadataModifyVolumeAttributeInput `json:"-" xml:"-"`
  15279. }
  15280. type metadataModifyVolumeAttributeInput struct {
  15281. SDKShapeTraits bool `type:"structure"`
  15282. }
  15283. // String returns the string representation
  15284. func (s ModifyVolumeAttributeInput) String() string {
  15285. return awsutil.Prettify(s)
  15286. }
  15287. // GoString returns the string representation
  15288. func (s ModifyVolumeAttributeInput) GoString() string {
  15289. return s.String()
  15290. }
  15291. type ModifyVolumeAttributeOutput struct {
  15292. metadataModifyVolumeAttributeOutput `json:"-" xml:"-"`
  15293. }
  15294. type metadataModifyVolumeAttributeOutput struct {
  15295. SDKShapeTraits bool `type:"structure"`
  15296. }
  15297. // String returns the string representation
  15298. func (s ModifyVolumeAttributeOutput) String() string {
  15299. return awsutil.Prettify(s)
  15300. }
  15301. // GoString returns the string representation
  15302. func (s ModifyVolumeAttributeOutput) GoString() string {
  15303. return s.String()
  15304. }
  15305. type ModifyVpcAttributeInput struct {
  15306. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  15307. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  15308. //
  15309. // You can only enable DNS hostnames if you also enable DNS support.
  15310. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  15311. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  15312. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  15313. // or the reserved IP address at the base of the VPC network range "plus two"
  15314. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  15315. // resolves public DNS hostnames to IP addresses is not enabled.
  15316. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  15317. // The ID of the VPC.
  15318. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  15319. metadataModifyVpcAttributeInput `json:"-" xml:"-"`
  15320. }
  15321. type metadataModifyVpcAttributeInput struct {
  15322. SDKShapeTraits bool `type:"structure"`
  15323. }
  15324. // String returns the string representation
  15325. func (s ModifyVpcAttributeInput) String() string {
  15326. return awsutil.Prettify(s)
  15327. }
  15328. // GoString returns the string representation
  15329. func (s ModifyVpcAttributeInput) GoString() string {
  15330. return s.String()
  15331. }
  15332. type ModifyVpcAttributeOutput struct {
  15333. metadataModifyVpcAttributeOutput `json:"-" xml:"-"`
  15334. }
  15335. type metadataModifyVpcAttributeOutput struct {
  15336. SDKShapeTraits bool `type:"structure"`
  15337. }
  15338. // String returns the string representation
  15339. func (s ModifyVpcAttributeOutput) String() string {
  15340. return awsutil.Prettify(s)
  15341. }
  15342. // GoString returns the string representation
  15343. func (s ModifyVpcAttributeOutput) GoString() string {
  15344. return s.String()
  15345. }
  15346. type ModifyVpcEndpointInput struct {
  15347. // One or more route tables IDs to associate with the endpoint.
  15348. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  15349. // Checks whether you have the required permissions for the action, without
  15350. // actually making the request, and provides an error response. If you have
  15351. // the required permissions, the error response is DryRunOperation. Otherwise,
  15352. // it is UnauthorizedOperation.
  15353. DryRun *bool `type:"boolean"`
  15354. // A policy document to attach to the endpoint. The policy must be in valid
  15355. // JSON format.
  15356. PolicyDocument *string `type:"string"`
  15357. // One or more route table IDs to disassociate from the endpoint.
  15358. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  15359. // Specify true to reset the policy document to the default policy. The default
  15360. // policy allows access to the service.
  15361. ResetPolicy *bool `type:"boolean"`
  15362. // The ID of the endpoint.
  15363. VpcEndpointId *string `type:"string" required:"true"`
  15364. metadataModifyVpcEndpointInput `json:"-" xml:"-"`
  15365. }
  15366. type metadataModifyVpcEndpointInput struct {
  15367. SDKShapeTraits bool `type:"structure"`
  15368. }
  15369. // String returns the string representation
  15370. func (s ModifyVpcEndpointInput) String() string {
  15371. return awsutil.Prettify(s)
  15372. }
  15373. // GoString returns the string representation
  15374. func (s ModifyVpcEndpointInput) GoString() string {
  15375. return s.String()
  15376. }
  15377. type ModifyVpcEndpointOutput struct {
  15378. // Returns true if the request succeeds; otherwise, it returns an error.
  15379. Return *bool `locationName:"return" type:"boolean"`
  15380. metadataModifyVpcEndpointOutput `json:"-" xml:"-"`
  15381. }
  15382. type metadataModifyVpcEndpointOutput struct {
  15383. SDKShapeTraits bool `type:"structure"`
  15384. }
  15385. // String returns the string representation
  15386. func (s ModifyVpcEndpointOutput) String() string {
  15387. return awsutil.Prettify(s)
  15388. }
  15389. // GoString returns the string representation
  15390. func (s ModifyVpcEndpointOutput) GoString() string {
  15391. return s.String()
  15392. }
  15393. type MonitorInstancesInput struct {
  15394. // Checks whether you have the required permissions for the action, without
  15395. // actually making the request, and provides an error response. If you have
  15396. // the required permissions, the error response is DryRunOperation. Otherwise,
  15397. // it is UnauthorizedOperation.
  15398. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15399. // One or more instance IDs.
  15400. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  15401. metadataMonitorInstancesInput `json:"-" xml:"-"`
  15402. }
  15403. type metadataMonitorInstancesInput struct {
  15404. SDKShapeTraits bool `type:"structure"`
  15405. }
  15406. // String returns the string representation
  15407. func (s MonitorInstancesInput) String() string {
  15408. return awsutil.Prettify(s)
  15409. }
  15410. // GoString returns the string representation
  15411. func (s MonitorInstancesInput) GoString() string {
  15412. return s.String()
  15413. }
  15414. type MonitorInstancesOutput struct {
  15415. // Monitoring information for one or more instances.
  15416. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  15417. metadataMonitorInstancesOutput `json:"-" xml:"-"`
  15418. }
  15419. type metadataMonitorInstancesOutput struct {
  15420. SDKShapeTraits bool `type:"structure"`
  15421. }
  15422. // String returns the string representation
  15423. func (s MonitorInstancesOutput) String() string {
  15424. return awsutil.Prettify(s)
  15425. }
  15426. // GoString returns the string representation
  15427. func (s MonitorInstancesOutput) GoString() string {
  15428. return s.String()
  15429. }
  15430. // Describes the monitoring for the instance.
  15431. type Monitoring struct {
  15432. // Indicates whether monitoring is enabled for the instance.
  15433. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  15434. metadataMonitoring `json:"-" xml:"-"`
  15435. }
  15436. type metadataMonitoring struct {
  15437. SDKShapeTraits bool `type:"structure"`
  15438. }
  15439. // String returns the string representation
  15440. func (s Monitoring) String() string {
  15441. return awsutil.Prettify(s)
  15442. }
  15443. // GoString returns the string representation
  15444. func (s Monitoring) GoString() string {
  15445. return s.String()
  15446. }
  15447. type MoveAddressToVpcInput struct {
  15448. // Checks whether you have the required permissions for the action, without
  15449. // actually making the request, and provides an error response. If you have
  15450. // the required permissions, the error response is DryRunOperation. Otherwise,
  15451. // it is UnauthorizedOperation.
  15452. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15453. // The Elastic IP address.
  15454. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  15455. metadataMoveAddressToVpcInput `json:"-" xml:"-"`
  15456. }
  15457. type metadataMoveAddressToVpcInput struct {
  15458. SDKShapeTraits bool `type:"structure"`
  15459. }
  15460. // String returns the string representation
  15461. func (s MoveAddressToVpcInput) String() string {
  15462. return awsutil.Prettify(s)
  15463. }
  15464. // GoString returns the string representation
  15465. func (s MoveAddressToVpcInput) GoString() string {
  15466. return s.String()
  15467. }
  15468. type MoveAddressToVpcOutput struct {
  15469. // The allocation ID for the Elastic IP address.
  15470. AllocationId *string `locationName:"allocationId" type:"string"`
  15471. // The status of the move of the IP address.
  15472. Status *string `locationName:"status" type:"string" enum:"Status"`
  15473. metadataMoveAddressToVpcOutput `json:"-" xml:"-"`
  15474. }
  15475. type metadataMoveAddressToVpcOutput struct {
  15476. SDKShapeTraits bool `type:"structure"`
  15477. }
  15478. // String returns the string representation
  15479. func (s MoveAddressToVpcOutput) String() string {
  15480. return awsutil.Prettify(s)
  15481. }
  15482. // GoString returns the string representation
  15483. func (s MoveAddressToVpcOutput) GoString() string {
  15484. return s.String()
  15485. }
  15486. // Describes the status of a moving Elastic IP address.
  15487. type MovingAddressStatus struct {
  15488. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  15489. // or restored to the EC2-Classic platform.
  15490. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  15491. // The Elastic IP address.
  15492. PublicIp *string `locationName:"publicIp" type:"string"`
  15493. metadataMovingAddressStatus `json:"-" xml:"-"`
  15494. }
  15495. type metadataMovingAddressStatus struct {
  15496. SDKShapeTraits bool `type:"structure"`
  15497. }
  15498. // String returns the string representation
  15499. func (s MovingAddressStatus) String() string {
  15500. return awsutil.Prettify(s)
  15501. }
  15502. // GoString returns the string representation
  15503. func (s MovingAddressStatus) GoString() string {
  15504. return s.String()
  15505. }
  15506. // Describes a network ACL.
  15507. type NetworkAcl struct {
  15508. // Any associations between the network ACL and one or more subnets
  15509. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  15510. // One or more entries (rules) in the network ACL.
  15511. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  15512. // Indicates whether this is the default network ACL for the VPC.
  15513. IsDefault *bool `locationName:"default" type:"boolean"`
  15514. // The ID of the network ACL.
  15515. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  15516. // Any tags assigned to the network ACL.
  15517. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  15518. // The ID of the VPC for the network ACL.
  15519. VpcId *string `locationName:"vpcId" type:"string"`
  15520. metadataNetworkAcl `json:"-" xml:"-"`
  15521. }
  15522. type metadataNetworkAcl struct {
  15523. SDKShapeTraits bool `type:"structure"`
  15524. }
  15525. // String returns the string representation
  15526. func (s NetworkAcl) String() string {
  15527. return awsutil.Prettify(s)
  15528. }
  15529. // GoString returns the string representation
  15530. func (s NetworkAcl) GoString() string {
  15531. return s.String()
  15532. }
  15533. // Describes an association between a network ACL and a subnet.
  15534. type NetworkAclAssociation struct {
  15535. // The ID of the association between a network ACL and a subnet.
  15536. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  15537. // The ID of the network ACL.
  15538. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  15539. // The ID of the subnet.
  15540. SubnetId *string `locationName:"subnetId" type:"string"`
  15541. metadataNetworkAclAssociation `json:"-" xml:"-"`
  15542. }
  15543. type metadataNetworkAclAssociation struct {
  15544. SDKShapeTraits bool `type:"structure"`
  15545. }
  15546. // String returns the string representation
  15547. func (s NetworkAclAssociation) String() string {
  15548. return awsutil.Prettify(s)
  15549. }
  15550. // GoString returns the string representation
  15551. func (s NetworkAclAssociation) GoString() string {
  15552. return s.String()
  15553. }
  15554. // Describes an entry in a network ACL.
  15555. type NetworkAclEntry struct {
  15556. // The network range to allow or deny, in CIDR notation.
  15557. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  15558. // Indicates whether the rule is an egress rule (applied to traffic leaving
  15559. // the subnet).
  15560. Egress *bool `locationName:"egress" type:"boolean"`
  15561. // ICMP protocol: The ICMP type and code.
  15562. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  15563. // TCP or UDP protocols: The range of ports the rule applies to.
  15564. PortRange *PortRange `locationName:"portRange" type:"structure"`
  15565. // The protocol. A value of -1 means all protocols.
  15566. Protocol *string `locationName:"protocol" type:"string"`
  15567. // Indicates whether to allow or deny the traffic that matches the rule.
  15568. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  15569. // The rule number for the entry. ACL entries are processed in ascending order
  15570. // by rule number.
  15571. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  15572. metadataNetworkAclEntry `json:"-" xml:"-"`
  15573. }
  15574. type metadataNetworkAclEntry struct {
  15575. SDKShapeTraits bool `type:"structure"`
  15576. }
  15577. // String returns the string representation
  15578. func (s NetworkAclEntry) String() string {
  15579. return awsutil.Prettify(s)
  15580. }
  15581. // GoString returns the string representation
  15582. func (s NetworkAclEntry) GoString() string {
  15583. return s.String()
  15584. }
  15585. // Describes a network interface.
  15586. type NetworkInterface struct {
  15587. // The association information for an Elastic IP associated with the network
  15588. // interface.
  15589. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  15590. // The network interface attachment.
  15591. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  15592. // The Availability Zone.
  15593. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  15594. // A description.
  15595. Description *string `locationName:"description" type:"string"`
  15596. // Any security groups for the network interface.
  15597. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  15598. // The MAC address.
  15599. MacAddress *string `locationName:"macAddress" type:"string"`
  15600. // The ID of the network interface.
  15601. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  15602. // The AWS account ID of the owner of the network interface.
  15603. OwnerId *string `locationName:"ownerId" type:"string"`
  15604. // The private DNS name.
  15605. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  15606. // The IP address of the network interface within the subnet.
  15607. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  15608. // The private IP addresses associated with the network interface.
  15609. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  15610. // The ID of the entity that launched the instance on your behalf (for example,
  15611. // AWS Management Console or Auto Scaling).
  15612. RequesterId *string `locationName:"requesterId" type:"string"`
  15613. // Indicates whether the network interface is being managed by AWS.
  15614. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  15615. // Indicates whether traffic to or from the instance is validated.
  15616. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  15617. // The status of the network interface.
  15618. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  15619. // The ID of the subnet.
  15620. SubnetId *string `locationName:"subnetId" type:"string"`
  15621. // Any tags assigned to the network interface.
  15622. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  15623. // The ID of the VPC.
  15624. VpcId *string `locationName:"vpcId" type:"string"`
  15625. metadataNetworkInterface `json:"-" xml:"-"`
  15626. }
  15627. type metadataNetworkInterface struct {
  15628. SDKShapeTraits bool `type:"structure"`
  15629. }
  15630. // String returns the string representation
  15631. func (s NetworkInterface) String() string {
  15632. return awsutil.Prettify(s)
  15633. }
  15634. // GoString returns the string representation
  15635. func (s NetworkInterface) GoString() string {
  15636. return s.String()
  15637. }
  15638. // Describes association information for an Elastic IP address.
  15639. type NetworkInterfaceAssociation struct {
  15640. // The allocation ID.
  15641. AllocationId *string `locationName:"allocationId" type:"string"`
  15642. // The association ID.
  15643. AssociationId *string `locationName:"associationId" type:"string"`
  15644. // The ID of the Elastic IP address owner.
  15645. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  15646. // The public DNS name.
  15647. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  15648. // The address of the Elastic IP address bound to the network interface.
  15649. PublicIp *string `locationName:"publicIp" type:"string"`
  15650. metadataNetworkInterfaceAssociation `json:"-" xml:"-"`
  15651. }
  15652. type metadataNetworkInterfaceAssociation struct {
  15653. SDKShapeTraits bool `type:"structure"`
  15654. }
  15655. // String returns the string representation
  15656. func (s NetworkInterfaceAssociation) String() string {
  15657. return awsutil.Prettify(s)
  15658. }
  15659. // GoString returns the string representation
  15660. func (s NetworkInterfaceAssociation) GoString() string {
  15661. return s.String()
  15662. }
  15663. // Describes a network interface attachment.
  15664. type NetworkInterfaceAttachment struct {
  15665. // The timestamp indicating when the attachment initiated.
  15666. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  15667. // The ID of the network interface attachment.
  15668. AttachmentId *string `locationName:"attachmentId" type:"string"`
  15669. // Indicates whether the network interface is deleted when the instance is terminated.
  15670. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  15671. // The device index of the network interface attachment on the instance.
  15672. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  15673. // The ID of the instance.
  15674. InstanceId *string `locationName:"instanceId" type:"string"`
  15675. // The AWS account ID of the owner of the instance.
  15676. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  15677. // The attachment state.
  15678. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  15679. metadataNetworkInterfaceAttachment `json:"-" xml:"-"`
  15680. }
  15681. type metadataNetworkInterfaceAttachment struct {
  15682. SDKShapeTraits bool `type:"structure"`
  15683. }
  15684. // String returns the string representation
  15685. func (s NetworkInterfaceAttachment) String() string {
  15686. return awsutil.Prettify(s)
  15687. }
  15688. // GoString returns the string representation
  15689. func (s NetworkInterfaceAttachment) GoString() string {
  15690. return s.String()
  15691. }
  15692. // Describes an attachment change.
  15693. type NetworkInterfaceAttachmentChanges struct {
  15694. // The ID of the network interface attachment.
  15695. AttachmentId *string `locationName:"attachmentId" type:"string"`
  15696. // Indicates whether the network interface is deleted when the instance is terminated.
  15697. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  15698. metadataNetworkInterfaceAttachmentChanges `json:"-" xml:"-"`
  15699. }
  15700. type metadataNetworkInterfaceAttachmentChanges struct {
  15701. SDKShapeTraits bool `type:"structure"`
  15702. }
  15703. // String returns the string representation
  15704. func (s NetworkInterfaceAttachmentChanges) String() string {
  15705. return awsutil.Prettify(s)
  15706. }
  15707. // GoString returns the string representation
  15708. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  15709. return s.String()
  15710. }
  15711. // Describes the private IP address of a network interface.
  15712. type NetworkInterfacePrivateIpAddress struct {
  15713. // The association information for an Elastic IP address associated with the
  15714. // network interface.
  15715. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  15716. // Indicates whether this IP address is the primary private IP address of the
  15717. // network interface.
  15718. Primary *bool `locationName:"primary" type:"boolean"`
  15719. // The private DNS name.
  15720. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  15721. // The private IP address.
  15722. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  15723. metadataNetworkInterfacePrivateIpAddress `json:"-" xml:"-"`
  15724. }
  15725. type metadataNetworkInterfacePrivateIpAddress struct {
  15726. SDKShapeTraits bool `type:"structure"`
  15727. }
  15728. // String returns the string representation
  15729. func (s NetworkInterfacePrivateIpAddress) String() string {
  15730. return awsutil.Prettify(s)
  15731. }
  15732. // GoString returns the string representation
  15733. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  15734. return s.String()
  15735. }
  15736. type NewDhcpConfiguration struct {
  15737. Key *string `locationName:"key" type:"string"`
  15738. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  15739. metadataNewDhcpConfiguration `json:"-" xml:"-"`
  15740. }
  15741. type metadataNewDhcpConfiguration struct {
  15742. SDKShapeTraits bool `type:"structure"`
  15743. }
  15744. // String returns the string representation
  15745. func (s NewDhcpConfiguration) String() string {
  15746. return awsutil.Prettify(s)
  15747. }
  15748. // GoString returns the string representation
  15749. func (s NewDhcpConfiguration) GoString() string {
  15750. return s.String()
  15751. }
  15752. // Describes the placement for the instance.
  15753. type Placement struct {
  15754. // The Availability Zone of the instance.
  15755. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  15756. // The name of the placement group the instance is in (for cluster compute instances).
  15757. GroupName *string `locationName:"groupName" type:"string"`
  15758. // The tenancy of the instance (if the instance is running in a VPC). An instance
  15759. // with a tenancy of dedicated runs on single-tenant hardware.
  15760. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  15761. metadataPlacement `json:"-" xml:"-"`
  15762. }
  15763. type metadataPlacement struct {
  15764. SDKShapeTraits bool `type:"structure"`
  15765. }
  15766. // String returns the string representation
  15767. func (s Placement) String() string {
  15768. return awsutil.Prettify(s)
  15769. }
  15770. // GoString returns the string representation
  15771. func (s Placement) GoString() string {
  15772. return s.String()
  15773. }
  15774. // Describes a placement group.
  15775. type PlacementGroup struct {
  15776. // The name of the placement group.
  15777. GroupName *string `locationName:"groupName" type:"string"`
  15778. // The state of the placement group.
  15779. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  15780. // The placement strategy.
  15781. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  15782. metadataPlacementGroup `json:"-" xml:"-"`
  15783. }
  15784. type metadataPlacementGroup struct {
  15785. SDKShapeTraits bool `type:"structure"`
  15786. }
  15787. // String returns the string representation
  15788. func (s PlacementGroup) String() string {
  15789. return awsutil.Prettify(s)
  15790. }
  15791. // GoString returns the string representation
  15792. func (s PlacementGroup) GoString() string {
  15793. return s.String()
  15794. }
  15795. // Describes a range of ports.
  15796. type PortRange struct {
  15797. // The first port in the range.
  15798. From *int64 `locationName:"from" type:"integer"`
  15799. // The last port in the range.
  15800. To *int64 `locationName:"to" type:"integer"`
  15801. metadataPortRange `json:"-" xml:"-"`
  15802. }
  15803. type metadataPortRange struct {
  15804. SDKShapeTraits bool `type:"structure"`
  15805. }
  15806. // String returns the string representation
  15807. func (s PortRange) String() string {
  15808. return awsutil.Prettify(s)
  15809. }
  15810. // GoString returns the string representation
  15811. func (s PortRange) GoString() string {
  15812. return s.String()
  15813. }
  15814. // Describes prefixes for AWS services.
  15815. type PrefixList struct {
  15816. // The IP address range of the AWS service.
  15817. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  15818. // The ID of the prefix.
  15819. PrefixListId *string `locationName:"prefixListId" type:"string"`
  15820. // The name of the prefix.
  15821. PrefixListName *string `locationName:"prefixListName" type:"string"`
  15822. metadataPrefixList `json:"-" xml:"-"`
  15823. }
  15824. type metadataPrefixList struct {
  15825. SDKShapeTraits bool `type:"structure"`
  15826. }
  15827. // String returns the string representation
  15828. func (s PrefixList) String() string {
  15829. return awsutil.Prettify(s)
  15830. }
  15831. // GoString returns the string representation
  15832. func (s PrefixList) GoString() string {
  15833. return s.String()
  15834. }
  15835. // The ID of the prefix.
  15836. type PrefixListId struct {
  15837. // The ID of the prefix.
  15838. PrefixListId *string `locationName:"prefixListId" type:"string"`
  15839. metadataPrefixListId `json:"-" xml:"-"`
  15840. }
  15841. type metadataPrefixListId struct {
  15842. SDKShapeTraits bool `type:"structure"`
  15843. }
  15844. // String returns the string representation
  15845. func (s PrefixListId) String() string {
  15846. return awsutil.Prettify(s)
  15847. }
  15848. // GoString returns the string representation
  15849. func (s PrefixListId) GoString() string {
  15850. return s.String()
  15851. }
  15852. // Describes the price for a Reserved Instance.
  15853. type PriceSchedule struct {
  15854. // The current price schedule, as determined by the term remaining for the Reserved
  15855. // Instance in the listing.
  15856. //
  15857. // A specific price schedule is always in effect, but only one price schedule
  15858. // can be active at any time. Take, for example, a Reserved Instance listing
  15859. // that has five months remaining in its term. When you specify price schedules
  15860. // for five months and two months, this means that schedule 1, covering the
  15861. // first three months of the remaining term, will be active during months 5,
  15862. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  15863. // be active for months 2 and 1.
  15864. Active *bool `locationName:"active" type:"boolean"`
  15865. // The currency for transacting the Reserved Instance resale. At this time,
  15866. // the only supported currency is USD.
  15867. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  15868. // The fixed price for the term.
  15869. Price *float64 `locationName:"price" type:"double"`
  15870. // The number of months remaining in the reservation. For example, 2 is the
  15871. // second to the last month before the capacity reservation expires.
  15872. Term *int64 `locationName:"term" type:"long"`
  15873. metadataPriceSchedule `json:"-" xml:"-"`
  15874. }
  15875. type metadataPriceSchedule struct {
  15876. SDKShapeTraits bool `type:"structure"`
  15877. }
  15878. // String returns the string representation
  15879. func (s PriceSchedule) String() string {
  15880. return awsutil.Prettify(s)
  15881. }
  15882. // GoString returns the string representation
  15883. func (s PriceSchedule) GoString() string {
  15884. return s.String()
  15885. }
  15886. // Describes the price for a Reserved Instance.
  15887. type PriceScheduleSpecification struct {
  15888. // The currency for transacting the Reserved Instance resale. At this time,
  15889. // the only supported currency is USD.
  15890. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  15891. // The fixed price for the term.
  15892. Price *float64 `locationName:"price" type:"double"`
  15893. // The number of months remaining in the reservation. For example, 2 is the
  15894. // second to the last month before the capacity reservation expires.
  15895. Term *int64 `locationName:"term" type:"long"`
  15896. metadataPriceScheduleSpecification `json:"-" xml:"-"`
  15897. }
  15898. type metadataPriceScheduleSpecification struct {
  15899. SDKShapeTraits bool `type:"structure"`
  15900. }
  15901. // String returns the string representation
  15902. func (s PriceScheduleSpecification) String() string {
  15903. return awsutil.Prettify(s)
  15904. }
  15905. // GoString returns the string representation
  15906. func (s PriceScheduleSpecification) GoString() string {
  15907. return s.String()
  15908. }
  15909. // Describes a Reserved Instance offering.
  15910. type PricingDetail struct {
  15911. // The number of instances available for the price.
  15912. Count *int64 `locationName:"count" type:"integer"`
  15913. // The price per instance.
  15914. Price *float64 `locationName:"price" type:"double"`
  15915. metadataPricingDetail `json:"-" xml:"-"`
  15916. }
  15917. type metadataPricingDetail struct {
  15918. SDKShapeTraits bool `type:"structure"`
  15919. }
  15920. // String returns the string representation
  15921. func (s PricingDetail) String() string {
  15922. return awsutil.Prettify(s)
  15923. }
  15924. // GoString returns the string representation
  15925. func (s PricingDetail) GoString() string {
  15926. return s.String()
  15927. }
  15928. // Describes a secondary private IP address for a network interface.
  15929. type PrivateIpAddressSpecification struct {
  15930. // Indicates whether the private IP address is the primary private IP address.
  15931. // Only one IP address can be designated as primary.
  15932. Primary *bool `locationName:"primary" type:"boolean"`
  15933. // The private IP addresses.
  15934. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  15935. metadataPrivateIpAddressSpecification `json:"-" xml:"-"`
  15936. }
  15937. type metadataPrivateIpAddressSpecification struct {
  15938. SDKShapeTraits bool `type:"structure"`
  15939. }
  15940. // String returns the string representation
  15941. func (s PrivateIpAddressSpecification) String() string {
  15942. return awsutil.Prettify(s)
  15943. }
  15944. // GoString returns the string representation
  15945. func (s PrivateIpAddressSpecification) GoString() string {
  15946. return s.String()
  15947. }
  15948. // Describes a product code.
  15949. type ProductCode struct {
  15950. // The product code.
  15951. ProductCodeId *string `locationName:"productCode" type:"string"`
  15952. // The type of product code.
  15953. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  15954. metadataProductCode `json:"-" xml:"-"`
  15955. }
  15956. type metadataProductCode struct {
  15957. SDKShapeTraits bool `type:"structure"`
  15958. }
  15959. // String returns the string representation
  15960. func (s ProductCode) String() string {
  15961. return awsutil.Prettify(s)
  15962. }
  15963. // GoString returns the string representation
  15964. func (s ProductCode) GoString() string {
  15965. return s.String()
  15966. }
  15967. // Describes a virtual private gateway propagating route.
  15968. type PropagatingVgw struct {
  15969. // The ID of the virtual private gateway (VGW).
  15970. GatewayId *string `locationName:"gatewayId" type:"string"`
  15971. metadataPropagatingVgw `json:"-" xml:"-"`
  15972. }
  15973. type metadataPropagatingVgw struct {
  15974. SDKShapeTraits bool `type:"structure"`
  15975. }
  15976. // String returns the string representation
  15977. func (s PropagatingVgw) String() string {
  15978. return awsutil.Prettify(s)
  15979. }
  15980. // GoString returns the string representation
  15981. func (s PropagatingVgw) GoString() string {
  15982. return s.String()
  15983. }
  15984. type PurchaseReservedInstancesOfferingInput struct {
  15985. // Checks whether you have the required permissions for the action, without
  15986. // actually making the request, and provides an error response. If you have
  15987. // the required permissions, the error response is DryRunOperation. Otherwise,
  15988. // it is UnauthorizedOperation.
  15989. DryRun *bool `locationName:"dryRun" type:"boolean"`
  15990. // The number of Reserved Instances to purchase.
  15991. InstanceCount *int64 `type:"integer" required:"true"`
  15992. // Specified for Reserved Instance Marketplace offerings to limit the total
  15993. // order and ensure that the Reserved Instances are not purchased at unexpected
  15994. // prices.
  15995. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  15996. // The ID of the Reserved Instance offering to purchase.
  15997. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  15998. metadataPurchaseReservedInstancesOfferingInput `json:"-" xml:"-"`
  15999. }
  16000. type metadataPurchaseReservedInstancesOfferingInput struct {
  16001. SDKShapeTraits bool `type:"structure"`
  16002. }
  16003. // String returns the string representation
  16004. func (s PurchaseReservedInstancesOfferingInput) String() string {
  16005. return awsutil.Prettify(s)
  16006. }
  16007. // GoString returns the string representation
  16008. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  16009. return s.String()
  16010. }
  16011. type PurchaseReservedInstancesOfferingOutput struct {
  16012. // The IDs of the purchased Reserved Instances.
  16013. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  16014. metadataPurchaseReservedInstancesOfferingOutput `json:"-" xml:"-"`
  16015. }
  16016. type metadataPurchaseReservedInstancesOfferingOutput struct {
  16017. SDKShapeTraits bool `type:"structure"`
  16018. }
  16019. // String returns the string representation
  16020. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  16021. return awsutil.Prettify(s)
  16022. }
  16023. // GoString returns the string representation
  16024. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  16025. return s.String()
  16026. }
  16027. type RebootInstancesInput struct {
  16028. // Checks whether you have the required permissions for the action, without
  16029. // actually making the request, and provides an error response. If you have
  16030. // the required permissions, the error response is DryRunOperation. Otherwise,
  16031. // it is UnauthorizedOperation.
  16032. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16033. // One or more instance IDs.
  16034. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  16035. metadataRebootInstancesInput `json:"-" xml:"-"`
  16036. }
  16037. type metadataRebootInstancesInput struct {
  16038. SDKShapeTraits bool `type:"structure"`
  16039. }
  16040. // String returns the string representation
  16041. func (s RebootInstancesInput) String() string {
  16042. return awsutil.Prettify(s)
  16043. }
  16044. // GoString returns the string representation
  16045. func (s RebootInstancesInput) GoString() string {
  16046. return s.String()
  16047. }
  16048. type RebootInstancesOutput struct {
  16049. metadataRebootInstancesOutput `json:"-" xml:"-"`
  16050. }
  16051. type metadataRebootInstancesOutput struct {
  16052. SDKShapeTraits bool `type:"structure"`
  16053. }
  16054. // String returns the string representation
  16055. func (s RebootInstancesOutput) String() string {
  16056. return awsutil.Prettify(s)
  16057. }
  16058. // GoString returns the string representation
  16059. func (s RebootInstancesOutput) GoString() string {
  16060. return s.String()
  16061. }
  16062. // Describes a recurring charge.
  16063. type RecurringCharge struct {
  16064. // The amount of the recurring charge.
  16065. Amount *float64 `locationName:"amount" type:"double"`
  16066. // The frequency of the recurring charge.
  16067. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  16068. metadataRecurringCharge `json:"-" xml:"-"`
  16069. }
  16070. type metadataRecurringCharge struct {
  16071. SDKShapeTraits bool `type:"structure"`
  16072. }
  16073. // String returns the string representation
  16074. func (s RecurringCharge) String() string {
  16075. return awsutil.Prettify(s)
  16076. }
  16077. // GoString returns the string representation
  16078. func (s RecurringCharge) GoString() string {
  16079. return s.String()
  16080. }
  16081. // Describes a region.
  16082. type Region struct {
  16083. // The region service endpoint.
  16084. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  16085. // The name of the region.
  16086. RegionName *string `locationName:"regionName" type:"string"`
  16087. metadataRegion `json:"-" xml:"-"`
  16088. }
  16089. type metadataRegion struct {
  16090. SDKShapeTraits bool `type:"structure"`
  16091. }
  16092. // String returns the string representation
  16093. func (s Region) String() string {
  16094. return awsutil.Prettify(s)
  16095. }
  16096. // GoString returns the string representation
  16097. func (s Region) GoString() string {
  16098. return s.String()
  16099. }
  16100. type RegisterImageInput struct {
  16101. // The architecture of the AMI.
  16102. //
  16103. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  16104. // the architecture specified in the manifest file.
  16105. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  16106. // One or more block device mapping entries.
  16107. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  16108. // A description for your AMI.
  16109. Description *string `locationName:"description" type:"string"`
  16110. // Checks whether you have the required permissions for the action, without
  16111. // actually making the request, and provides an error response. If you have
  16112. // the required permissions, the error response is DryRunOperation. Otherwise,
  16113. // it is UnauthorizedOperation.
  16114. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16115. // The full path to your AMI manifest in Amazon S3 storage.
  16116. ImageLocation *string `type:"string"`
  16117. // The ID of the kernel.
  16118. KernelId *string `locationName:"kernelId" type:"string"`
  16119. // A name for your AMI.
  16120. //
  16121. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  16122. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  16123. // at-signs (@), or underscores(_)
  16124. Name *string `locationName:"name" type:"string" required:"true"`
  16125. // The ID of the RAM disk.
  16126. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  16127. // The name of the root device (for example, /dev/sda1, or /dev/xvda).
  16128. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  16129. // Set to simple to enable enhanced networking for the AMI and any instances
  16130. // that you launch from the AMI.
  16131. //
  16132. // There is no way to disable enhanced networking at this time.
  16133. //
  16134. // This option is supported only for HVM AMIs. Specifying this option with
  16135. // a PV AMI can make instances launched from the AMI unreachable.
  16136. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  16137. // The type of virtualization.
  16138. //
  16139. // Default: paravirtual
  16140. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  16141. metadataRegisterImageInput `json:"-" xml:"-"`
  16142. }
  16143. type metadataRegisterImageInput struct {
  16144. SDKShapeTraits bool `type:"structure"`
  16145. }
  16146. // String returns the string representation
  16147. func (s RegisterImageInput) String() string {
  16148. return awsutil.Prettify(s)
  16149. }
  16150. // GoString returns the string representation
  16151. func (s RegisterImageInput) GoString() string {
  16152. return s.String()
  16153. }
  16154. type RegisterImageOutput struct {
  16155. // The ID of the newly registered AMI.
  16156. ImageId *string `locationName:"imageId" type:"string"`
  16157. metadataRegisterImageOutput `json:"-" xml:"-"`
  16158. }
  16159. type metadataRegisterImageOutput struct {
  16160. SDKShapeTraits bool `type:"structure"`
  16161. }
  16162. // String returns the string representation
  16163. func (s RegisterImageOutput) String() string {
  16164. return awsutil.Prettify(s)
  16165. }
  16166. // GoString returns the string representation
  16167. func (s RegisterImageOutput) GoString() string {
  16168. return s.String()
  16169. }
  16170. type RejectVpcPeeringConnectionInput struct {
  16171. // Checks whether you have the required permissions for the action, without
  16172. // actually making the request, and provides an error response. If you have
  16173. // the required permissions, the error response is DryRunOperation. Otherwise,
  16174. // it is UnauthorizedOperation.
  16175. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16176. // The ID of the VPC peering connection.
  16177. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  16178. metadataRejectVpcPeeringConnectionInput `json:"-" xml:"-"`
  16179. }
  16180. type metadataRejectVpcPeeringConnectionInput struct {
  16181. SDKShapeTraits bool `type:"structure"`
  16182. }
  16183. // String returns the string representation
  16184. func (s RejectVpcPeeringConnectionInput) String() string {
  16185. return awsutil.Prettify(s)
  16186. }
  16187. // GoString returns the string representation
  16188. func (s RejectVpcPeeringConnectionInput) GoString() string {
  16189. return s.String()
  16190. }
  16191. type RejectVpcPeeringConnectionOutput struct {
  16192. // Returns true if the request succeeds; otherwise, it returns an error.
  16193. Return *bool `locationName:"return" type:"boolean"`
  16194. metadataRejectVpcPeeringConnectionOutput `json:"-" xml:"-"`
  16195. }
  16196. type metadataRejectVpcPeeringConnectionOutput struct {
  16197. SDKShapeTraits bool `type:"structure"`
  16198. }
  16199. // String returns the string representation
  16200. func (s RejectVpcPeeringConnectionOutput) String() string {
  16201. return awsutil.Prettify(s)
  16202. }
  16203. // GoString returns the string representation
  16204. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  16205. return s.String()
  16206. }
  16207. type ReleaseAddressInput struct {
  16208. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  16209. AllocationId *string `type:"string"`
  16210. // Checks whether you have the required permissions for the action, without
  16211. // actually making the request, and provides an error response. If you have
  16212. // the required permissions, the error response is DryRunOperation. Otherwise,
  16213. // it is UnauthorizedOperation.
  16214. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16215. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  16216. PublicIp *string `type:"string"`
  16217. metadataReleaseAddressInput `json:"-" xml:"-"`
  16218. }
  16219. type metadataReleaseAddressInput struct {
  16220. SDKShapeTraits bool `type:"structure"`
  16221. }
  16222. // String returns the string representation
  16223. func (s ReleaseAddressInput) String() string {
  16224. return awsutil.Prettify(s)
  16225. }
  16226. // GoString returns the string representation
  16227. func (s ReleaseAddressInput) GoString() string {
  16228. return s.String()
  16229. }
  16230. type ReleaseAddressOutput struct {
  16231. metadataReleaseAddressOutput `json:"-" xml:"-"`
  16232. }
  16233. type metadataReleaseAddressOutput struct {
  16234. SDKShapeTraits bool `type:"structure"`
  16235. }
  16236. // String returns the string representation
  16237. func (s ReleaseAddressOutput) String() string {
  16238. return awsutil.Prettify(s)
  16239. }
  16240. // GoString returns the string representation
  16241. func (s ReleaseAddressOutput) GoString() string {
  16242. return s.String()
  16243. }
  16244. type ReplaceNetworkAclAssociationInput struct {
  16245. // The ID of the current association between the original network ACL and the
  16246. // subnet.
  16247. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  16248. // Checks whether you have the required permissions for the action, without
  16249. // actually making the request, and provides an error response. If you have
  16250. // the required permissions, the error response is DryRunOperation. Otherwise,
  16251. // it is UnauthorizedOperation.
  16252. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16253. // The ID of the new network ACL to associate with the subnet.
  16254. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  16255. metadataReplaceNetworkAclAssociationInput `json:"-" xml:"-"`
  16256. }
  16257. type metadataReplaceNetworkAclAssociationInput struct {
  16258. SDKShapeTraits bool `type:"structure"`
  16259. }
  16260. // String returns the string representation
  16261. func (s ReplaceNetworkAclAssociationInput) String() string {
  16262. return awsutil.Prettify(s)
  16263. }
  16264. // GoString returns the string representation
  16265. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  16266. return s.String()
  16267. }
  16268. type ReplaceNetworkAclAssociationOutput struct {
  16269. // The ID of the new association.
  16270. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  16271. metadataReplaceNetworkAclAssociationOutput `json:"-" xml:"-"`
  16272. }
  16273. type metadataReplaceNetworkAclAssociationOutput struct {
  16274. SDKShapeTraits bool `type:"structure"`
  16275. }
  16276. // String returns the string representation
  16277. func (s ReplaceNetworkAclAssociationOutput) String() string {
  16278. return awsutil.Prettify(s)
  16279. }
  16280. // GoString returns the string representation
  16281. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  16282. return s.String()
  16283. }
  16284. type ReplaceNetworkAclEntryInput struct {
  16285. // The network range to allow or deny, in CIDR notation.
  16286. CidrBlock *string `locationName:"cidrBlock" type:"string" required:"true"`
  16287. // Checks whether you have the required permissions for the action, without
  16288. // actually making the request, and provides an error response. If you have
  16289. // the required permissions, the error response is DryRunOperation. Otherwise,
  16290. // it is UnauthorizedOperation.
  16291. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16292. // Indicates whether to replace the egress rule.
  16293. //
  16294. // Default: If no value is specified, we replace the ingress rule.
  16295. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  16296. // ICMP protocol: The ICMP type and code. Required if specifying 1 (ICMP) for
  16297. // the protocol.
  16298. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  16299. // The ID of the ACL.
  16300. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  16301. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  16302. // specifying 6 (TCP) or 17 (UDP) for the protocol.
  16303. PortRange *PortRange `locationName:"portRange" type:"structure"`
  16304. // The IP protocol. You can specify all or -1 to mean all protocols.
  16305. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  16306. // Indicates whether to allow or deny the traffic that matches the rule.
  16307. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  16308. // The rule number of the entry to replace.
  16309. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  16310. metadataReplaceNetworkAclEntryInput `json:"-" xml:"-"`
  16311. }
  16312. type metadataReplaceNetworkAclEntryInput struct {
  16313. SDKShapeTraits bool `type:"structure"`
  16314. }
  16315. // String returns the string representation
  16316. func (s ReplaceNetworkAclEntryInput) String() string {
  16317. return awsutil.Prettify(s)
  16318. }
  16319. // GoString returns the string representation
  16320. func (s ReplaceNetworkAclEntryInput) GoString() string {
  16321. return s.String()
  16322. }
  16323. type ReplaceNetworkAclEntryOutput struct {
  16324. metadataReplaceNetworkAclEntryOutput `json:"-" xml:"-"`
  16325. }
  16326. type metadataReplaceNetworkAclEntryOutput struct {
  16327. SDKShapeTraits bool `type:"structure"`
  16328. }
  16329. // String returns the string representation
  16330. func (s ReplaceNetworkAclEntryOutput) String() string {
  16331. return awsutil.Prettify(s)
  16332. }
  16333. // GoString returns the string representation
  16334. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  16335. return s.String()
  16336. }
  16337. type ReplaceRouteInput struct {
  16338. // The CIDR address block used for the destination match. The value you provide
  16339. // must match the CIDR of an existing route in the table.
  16340. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string" required:"true"`
  16341. // Checks whether you have the required permissions for the action, without
  16342. // actually making the request, and provides an error response. If you have
  16343. // the required permissions, the error response is DryRunOperation. Otherwise,
  16344. // it is UnauthorizedOperation.
  16345. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16346. // The ID of an Internet gateway or virtual private gateway.
  16347. GatewayId *string `locationName:"gatewayId" type:"string"`
  16348. // The ID of a NAT instance in your VPC.
  16349. InstanceId *string `locationName:"instanceId" type:"string"`
  16350. // The ID of a network interface.
  16351. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  16352. // The ID of the route table.
  16353. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  16354. // The ID of a VPC peering connection.
  16355. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  16356. metadataReplaceRouteInput `json:"-" xml:"-"`
  16357. }
  16358. type metadataReplaceRouteInput struct {
  16359. SDKShapeTraits bool `type:"structure"`
  16360. }
  16361. // String returns the string representation
  16362. func (s ReplaceRouteInput) String() string {
  16363. return awsutil.Prettify(s)
  16364. }
  16365. // GoString returns the string representation
  16366. func (s ReplaceRouteInput) GoString() string {
  16367. return s.String()
  16368. }
  16369. type ReplaceRouteOutput struct {
  16370. metadataReplaceRouteOutput `json:"-" xml:"-"`
  16371. }
  16372. type metadataReplaceRouteOutput struct {
  16373. SDKShapeTraits bool `type:"structure"`
  16374. }
  16375. // String returns the string representation
  16376. func (s ReplaceRouteOutput) String() string {
  16377. return awsutil.Prettify(s)
  16378. }
  16379. // GoString returns the string representation
  16380. func (s ReplaceRouteOutput) GoString() string {
  16381. return s.String()
  16382. }
  16383. type ReplaceRouteTableAssociationInput struct {
  16384. // The association ID.
  16385. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  16386. // Checks whether you have the required permissions for the action, without
  16387. // actually making the request, and provides an error response. If you have
  16388. // the required permissions, the error response is DryRunOperation. Otherwise,
  16389. // it is UnauthorizedOperation.
  16390. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16391. // The ID of the new route table to associate with the subnet.
  16392. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  16393. metadataReplaceRouteTableAssociationInput `json:"-" xml:"-"`
  16394. }
  16395. type metadataReplaceRouteTableAssociationInput struct {
  16396. SDKShapeTraits bool `type:"structure"`
  16397. }
  16398. // String returns the string representation
  16399. func (s ReplaceRouteTableAssociationInput) String() string {
  16400. return awsutil.Prettify(s)
  16401. }
  16402. // GoString returns the string representation
  16403. func (s ReplaceRouteTableAssociationInput) GoString() string {
  16404. return s.String()
  16405. }
  16406. type ReplaceRouteTableAssociationOutput struct {
  16407. // The ID of the new association.
  16408. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  16409. metadataReplaceRouteTableAssociationOutput `json:"-" xml:"-"`
  16410. }
  16411. type metadataReplaceRouteTableAssociationOutput struct {
  16412. SDKShapeTraits bool `type:"structure"`
  16413. }
  16414. // String returns the string representation
  16415. func (s ReplaceRouteTableAssociationOutput) String() string {
  16416. return awsutil.Prettify(s)
  16417. }
  16418. // GoString returns the string representation
  16419. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  16420. return s.String()
  16421. }
  16422. type ReportInstanceStatusInput struct {
  16423. // Descriptive text about the health state of your instance.
  16424. Description *string `locationName:"description" type:"string"`
  16425. // Checks whether you have the required permissions for the action, without
  16426. // actually making the request, and provides an error response. If you have
  16427. // the required permissions, the error response is DryRunOperation. Otherwise,
  16428. // it is UnauthorizedOperation.
  16429. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16430. // The time at which the reported instance health state ended.
  16431. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  16432. // One or more instances.
  16433. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  16434. // One or more reason codes that describes the health state of your instance.
  16435. //
  16436. // instance-stuck-in-state: My instance is stuck in a state.
  16437. //
  16438. // unresponsive: My instance is unresponsive.
  16439. //
  16440. // not-accepting-credentials: My instance is not accepting my credentials.
  16441. //
  16442. // password-not-available: A password is not available for my instance.
  16443. //
  16444. // performance-network: My instance is experiencing performance problems which
  16445. // I believe are network related.
  16446. //
  16447. // performance-instance-store: My instance is experiencing performance problems
  16448. // which I believe are related to the instance stores.
  16449. //
  16450. // performance-ebs-volume: My instance is experiencing performance problems
  16451. // which I believe are related to an EBS volume.
  16452. //
  16453. // performance-other: My instance is experiencing performance problems.
  16454. //
  16455. // other: [explain using the description parameter]
  16456. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  16457. // The time at which the reported instance health state began.
  16458. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  16459. // The status of all instances listed.
  16460. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  16461. metadataReportInstanceStatusInput `json:"-" xml:"-"`
  16462. }
  16463. type metadataReportInstanceStatusInput struct {
  16464. SDKShapeTraits bool `type:"structure"`
  16465. }
  16466. // String returns the string representation
  16467. func (s ReportInstanceStatusInput) String() string {
  16468. return awsutil.Prettify(s)
  16469. }
  16470. // GoString returns the string representation
  16471. func (s ReportInstanceStatusInput) GoString() string {
  16472. return s.String()
  16473. }
  16474. type ReportInstanceStatusOutput struct {
  16475. metadataReportInstanceStatusOutput `json:"-" xml:"-"`
  16476. }
  16477. type metadataReportInstanceStatusOutput struct {
  16478. SDKShapeTraits bool `type:"structure"`
  16479. }
  16480. // String returns the string representation
  16481. func (s ReportInstanceStatusOutput) String() string {
  16482. return awsutil.Prettify(s)
  16483. }
  16484. // GoString returns the string representation
  16485. func (s ReportInstanceStatusOutput) GoString() string {
  16486. return s.String()
  16487. }
  16488. // Contains the parameters for RequestSpotFleet.
  16489. type RequestSpotFleetInput struct {
  16490. // Checks whether you have the required permissions for the action, without
  16491. // actually making the request, and provides an error response. If you have
  16492. // the required permissions, the error response is DryRunOperation. Otherwise,
  16493. // it is UnauthorizedOperation.
  16494. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16495. // The configuration for the Spot fleet request.
  16496. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  16497. metadataRequestSpotFleetInput `json:"-" xml:"-"`
  16498. }
  16499. type metadataRequestSpotFleetInput struct {
  16500. SDKShapeTraits bool `type:"structure"`
  16501. }
  16502. // String returns the string representation
  16503. func (s RequestSpotFleetInput) String() string {
  16504. return awsutil.Prettify(s)
  16505. }
  16506. // GoString returns the string representation
  16507. func (s RequestSpotFleetInput) GoString() string {
  16508. return s.String()
  16509. }
  16510. // Contains the output of RequestSpotFleet.
  16511. type RequestSpotFleetOutput struct {
  16512. // The ID of the Spot fleet request.
  16513. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  16514. metadataRequestSpotFleetOutput `json:"-" xml:"-"`
  16515. }
  16516. type metadataRequestSpotFleetOutput struct {
  16517. SDKShapeTraits bool `type:"structure"`
  16518. }
  16519. // String returns the string representation
  16520. func (s RequestSpotFleetOutput) String() string {
  16521. return awsutil.Prettify(s)
  16522. }
  16523. // GoString returns the string representation
  16524. func (s RequestSpotFleetOutput) GoString() string {
  16525. return s.String()
  16526. }
  16527. // Contains the parameters for RequestSpotInstances.
  16528. type RequestSpotInstancesInput struct {
  16529. // The user-specified name for a logical grouping of bids.
  16530. //
  16531. // When you specify an Availability Zone group in a Spot Instance request,
  16532. // all Spot Instances in the request are launched in the same Availability Zone.
  16533. // Instance proximity is maintained with this parameter, but the choice of Availability
  16534. // Zone is not. The group applies only to bids for Spot Instances of the same
  16535. // instance type. Any additional Spot Instance requests that are specified with
  16536. // the same Availability Zone group name are launched in that same Availability
  16537. // Zone, as long as at least one instance from the group is still active.
  16538. //
  16539. // If there is no active instance running in the Availability Zone group that
  16540. // you specify for a new Spot Instance request (all instances are terminated,
  16541. // the bid is expired, or the bid falls below current market), then Amazon EC2
  16542. // launches the instance in any Availability Zone where the constraint can be
  16543. // met. Consequently, the subsequent set of Spot Instances could be placed in
  16544. // a different zone from the original request, even if you specified the same
  16545. // Availability Zone group.
  16546. //
  16547. // Default: Instances are launched in any available Availability Zone.
  16548. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  16549. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  16550. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  16551. // in the Amazon Elastic Compute Cloud User Guide.
  16552. ClientToken *string `locationName:"clientToken" type:"string"`
  16553. // Checks whether you have the required permissions for the action, without
  16554. // actually making the request, and provides an error response. If you have
  16555. // the required permissions, the error response is DryRunOperation. Otherwise,
  16556. // it is UnauthorizedOperation.
  16557. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16558. // The maximum number of Spot Instances to launch.
  16559. //
  16560. // Default: 1
  16561. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  16562. // The instance launch group. Launch groups are Spot Instances that launch together
  16563. // and terminate together.
  16564. //
  16565. // Default: Instances are launched and terminated individually
  16566. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  16567. // Describes the launch specification for an instance.
  16568. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  16569. // The maximum hourly price (bid) for any Spot Instance launched to fulfill
  16570. // the request.
  16571. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  16572. // The Spot Instance request type.
  16573. //
  16574. // Default: one-time
  16575. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  16576. // The start date of the request. If this is a one-time request, the request
  16577. // becomes active at this date and time and remains active until all instances
  16578. // launch, the request expires, or the request is canceled. If the request is
  16579. // persistent, the request becomes active at this date and time and remains
  16580. // active until it expires or is canceled.
  16581. //
  16582. // Default: The request is effective indefinitely.
  16583. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  16584. // The end date of the request. If this is a one-time request, the request remains
  16585. // active until all instances launch, the request is canceled, or this date
  16586. // is reached. If the request is persistent, it remains active until it is canceled
  16587. // or this date and time is reached.
  16588. //
  16589. // Default: The request is effective indefinitely.
  16590. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  16591. metadataRequestSpotInstancesInput `json:"-" xml:"-"`
  16592. }
  16593. type metadataRequestSpotInstancesInput struct {
  16594. SDKShapeTraits bool `type:"structure"`
  16595. }
  16596. // String returns the string representation
  16597. func (s RequestSpotInstancesInput) String() string {
  16598. return awsutil.Prettify(s)
  16599. }
  16600. // GoString returns the string representation
  16601. func (s RequestSpotInstancesInput) GoString() string {
  16602. return s.String()
  16603. }
  16604. // Contains the output of RequestSpotInstances.
  16605. type RequestSpotInstancesOutput struct {
  16606. // One or more Spot Instance requests.
  16607. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  16608. metadataRequestSpotInstancesOutput `json:"-" xml:"-"`
  16609. }
  16610. type metadataRequestSpotInstancesOutput struct {
  16611. SDKShapeTraits bool `type:"structure"`
  16612. }
  16613. // String returns the string representation
  16614. func (s RequestSpotInstancesOutput) String() string {
  16615. return awsutil.Prettify(s)
  16616. }
  16617. // GoString returns the string representation
  16618. func (s RequestSpotInstancesOutput) GoString() string {
  16619. return s.String()
  16620. }
  16621. // Describes the launch specification for an instance.
  16622. type RequestSpotLaunchSpecification struct {
  16623. // Deprecated.
  16624. AddressingType *string `locationName:"addressingType" type:"string"`
  16625. // One or more block device mapping entries.
  16626. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  16627. // Indicates whether the instance is optimized for EBS I/O. This optimization
  16628. // provides dedicated throughput to Amazon EBS and an optimized configuration
  16629. // stack to provide optimal EBS I/O performance. This optimization isn't available
  16630. // with all instance types. Additional usage charges apply when using an EBS
  16631. // Optimized instance.
  16632. //
  16633. // Default: false
  16634. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  16635. // The IAM instance profile.
  16636. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  16637. // The ID of the AMI.
  16638. ImageId *string `locationName:"imageId" type:"string"`
  16639. // The instance type.
  16640. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  16641. // The ID of the kernel.
  16642. KernelId *string `locationName:"kernelId" type:"string"`
  16643. // The name of the key pair.
  16644. KeyName *string `locationName:"keyName" type:"string"`
  16645. // Describes the monitoring for the instance.
  16646. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  16647. // One or more network interfaces.
  16648. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  16649. // The placement information for the instance.
  16650. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  16651. // The ID of the RAM disk.
  16652. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  16653. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  16654. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  16655. // The ID of the subnet in which to launch the instance.
  16656. SubnetId *string `locationName:"subnetId" type:"string"`
  16657. // The Base64-encoded MIME user data to make available to the instances.
  16658. UserData *string `locationName:"userData" type:"string"`
  16659. metadataRequestSpotLaunchSpecification `json:"-" xml:"-"`
  16660. }
  16661. type metadataRequestSpotLaunchSpecification struct {
  16662. SDKShapeTraits bool `type:"structure"`
  16663. }
  16664. // String returns the string representation
  16665. func (s RequestSpotLaunchSpecification) String() string {
  16666. return awsutil.Prettify(s)
  16667. }
  16668. // GoString returns the string representation
  16669. func (s RequestSpotLaunchSpecification) GoString() string {
  16670. return s.String()
  16671. }
  16672. // Describes a reservation.
  16673. type Reservation struct {
  16674. // One or more security groups.
  16675. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  16676. // One or more instances.
  16677. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  16678. // The ID of the AWS account that owns the reservation.
  16679. OwnerId *string `locationName:"ownerId" type:"string"`
  16680. // The ID of the requester that launched the instances on your behalf (for example,
  16681. // AWS Management Console or Auto Scaling).
  16682. RequesterId *string `locationName:"requesterId" type:"string"`
  16683. // The ID of the reservation.
  16684. ReservationId *string `locationName:"reservationId" type:"string"`
  16685. metadataReservation `json:"-" xml:"-"`
  16686. }
  16687. type metadataReservation struct {
  16688. SDKShapeTraits bool `type:"structure"`
  16689. }
  16690. // String returns the string representation
  16691. func (s Reservation) String() string {
  16692. return awsutil.Prettify(s)
  16693. }
  16694. // GoString returns the string representation
  16695. func (s Reservation) GoString() string {
  16696. return s.String()
  16697. }
  16698. // Describes the limit price of a Reserved Instance offering.
  16699. type ReservedInstanceLimitPrice struct {
  16700. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  16701. // on the total order (instanceCount * price).
  16702. Amount *float64 `locationName:"amount" type:"double"`
  16703. // The currency in which the limitPrice amount is specified. At this time, the
  16704. // only supported currency is USD.
  16705. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  16706. metadataReservedInstanceLimitPrice `json:"-" xml:"-"`
  16707. }
  16708. type metadataReservedInstanceLimitPrice struct {
  16709. SDKShapeTraits bool `type:"structure"`
  16710. }
  16711. // String returns the string representation
  16712. func (s ReservedInstanceLimitPrice) String() string {
  16713. return awsutil.Prettify(s)
  16714. }
  16715. // GoString returns the string representation
  16716. func (s ReservedInstanceLimitPrice) GoString() string {
  16717. return s.String()
  16718. }
  16719. // Describes a Reserved Instance.
  16720. type ReservedInstances struct {
  16721. // The Availability Zone in which the Reserved Instance can be used.
  16722. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  16723. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  16724. // currency codes. At this time, the only supported currency is USD.
  16725. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  16726. // The duration of the Reserved Instance, in seconds.
  16727. Duration *int64 `locationName:"duration" type:"long"`
  16728. // The time when the Reserved Instance expires.
  16729. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  16730. // The purchase price of the Reserved Instance.
  16731. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  16732. // The number of Reserved Instances purchased.
  16733. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  16734. // The tenancy of the reserved instance.
  16735. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  16736. // The instance type on which the Reserved Instance can be used.
  16737. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  16738. // The Reserved Instance offering type.
  16739. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  16740. // The Reserved Instance product platform description.
  16741. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  16742. // The recurring charge tag assigned to the resource.
  16743. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  16744. // The ID of the Reserved Instance.
  16745. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  16746. // The date and time the Reserved Instance started.
  16747. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  16748. // The state of the Reserved Instance purchase.
  16749. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  16750. // Any tags assigned to the resource.
  16751. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  16752. // The usage price of the Reserved Instance, per hour.
  16753. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  16754. metadataReservedInstances `json:"-" xml:"-"`
  16755. }
  16756. type metadataReservedInstances struct {
  16757. SDKShapeTraits bool `type:"structure"`
  16758. }
  16759. // String returns the string representation
  16760. func (s ReservedInstances) String() string {
  16761. return awsutil.Prettify(s)
  16762. }
  16763. // GoString returns the string representation
  16764. func (s ReservedInstances) GoString() string {
  16765. return s.String()
  16766. }
  16767. // Describes the configuration settings for the modified Reserved Instances.
  16768. type ReservedInstancesConfiguration struct {
  16769. // The Availability Zone for the modified Reserved Instances.
  16770. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  16771. // The number of modified Reserved Instances.
  16772. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  16773. // The instance type for the modified Reserved Instances.
  16774. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  16775. // The network platform of the modified Reserved Instances, which is either
  16776. // EC2-Classic or EC2-VPC.
  16777. Platform *string `locationName:"platform" type:"string"`
  16778. metadataReservedInstancesConfiguration `json:"-" xml:"-"`
  16779. }
  16780. type metadataReservedInstancesConfiguration struct {
  16781. SDKShapeTraits bool `type:"structure"`
  16782. }
  16783. // String returns the string representation
  16784. func (s ReservedInstancesConfiguration) String() string {
  16785. return awsutil.Prettify(s)
  16786. }
  16787. // GoString returns the string representation
  16788. func (s ReservedInstancesConfiguration) GoString() string {
  16789. return s.String()
  16790. }
  16791. // Describes the ID of a Reserved Instance.
  16792. type ReservedInstancesId struct {
  16793. // The ID of the Reserved Instance.
  16794. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  16795. metadataReservedInstancesId `json:"-" xml:"-"`
  16796. }
  16797. type metadataReservedInstancesId struct {
  16798. SDKShapeTraits bool `type:"structure"`
  16799. }
  16800. // String returns the string representation
  16801. func (s ReservedInstancesId) String() string {
  16802. return awsutil.Prettify(s)
  16803. }
  16804. // GoString returns the string representation
  16805. func (s ReservedInstancesId) GoString() string {
  16806. return s.String()
  16807. }
  16808. // Describes a Reserved Instance listing.
  16809. type ReservedInstancesListing struct {
  16810. // A unique, case-sensitive key supplied by the client to ensure that the request
  16811. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  16812. ClientToken *string `locationName:"clientToken" type:"string"`
  16813. // The time the listing was created.
  16814. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  16815. // The number of instances in this state.
  16816. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  16817. // The price of the Reserved Instance listing.
  16818. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  16819. // The ID of the Reserved Instance.
  16820. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  16821. // The ID of the Reserved Instance listing.
  16822. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  16823. // The status of the Reserved Instance listing.
  16824. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  16825. // The reason for the current status of the Reserved Instance listing. The response
  16826. // can be blank.
  16827. StatusMessage *string `locationName:"statusMessage" type:"string"`
  16828. // Any tags assigned to the resource.
  16829. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  16830. // The last modified timestamp of the listing.
  16831. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  16832. metadataReservedInstancesListing `json:"-" xml:"-"`
  16833. }
  16834. type metadataReservedInstancesListing struct {
  16835. SDKShapeTraits bool `type:"structure"`
  16836. }
  16837. // String returns the string representation
  16838. func (s ReservedInstancesListing) String() string {
  16839. return awsutil.Prettify(s)
  16840. }
  16841. // GoString returns the string representation
  16842. func (s ReservedInstancesListing) GoString() string {
  16843. return s.String()
  16844. }
  16845. // Describes a Reserved Instance modification.
  16846. type ReservedInstancesModification struct {
  16847. // A unique, case-sensitive key supplied by the client to ensure that the request
  16848. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  16849. ClientToken *string `locationName:"clientToken" type:"string"`
  16850. // The time when the modification request was created.
  16851. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  16852. // The time for the modification to become effective.
  16853. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  16854. // Contains target configurations along with their corresponding new Reserved
  16855. // Instance IDs.
  16856. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  16857. // The IDs of one or more Reserved Instances.
  16858. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  16859. // A unique ID for the Reserved Instance modification.
  16860. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  16861. // The status of the Reserved Instances modification request.
  16862. Status *string `locationName:"status" type:"string"`
  16863. // The reason for the status.
  16864. StatusMessage *string `locationName:"statusMessage" type:"string"`
  16865. // The time when the modification request was last updated.
  16866. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  16867. metadataReservedInstancesModification `json:"-" xml:"-"`
  16868. }
  16869. type metadataReservedInstancesModification struct {
  16870. SDKShapeTraits bool `type:"structure"`
  16871. }
  16872. // String returns the string representation
  16873. func (s ReservedInstancesModification) String() string {
  16874. return awsutil.Prettify(s)
  16875. }
  16876. // GoString returns the string representation
  16877. func (s ReservedInstancesModification) GoString() string {
  16878. return s.String()
  16879. }
  16880. type ReservedInstancesModificationResult struct {
  16881. // The ID for the Reserved Instances that were created as part of the modification
  16882. // request. This field is only available when the modification is fulfilled.
  16883. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  16884. // The target Reserved Instances configurations supplied as part of the modification
  16885. // request.
  16886. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  16887. metadataReservedInstancesModificationResult `json:"-" xml:"-"`
  16888. }
  16889. type metadataReservedInstancesModificationResult struct {
  16890. SDKShapeTraits bool `type:"structure"`
  16891. }
  16892. // String returns the string representation
  16893. func (s ReservedInstancesModificationResult) String() string {
  16894. return awsutil.Prettify(s)
  16895. }
  16896. // GoString returns the string representation
  16897. func (s ReservedInstancesModificationResult) GoString() string {
  16898. return s.String()
  16899. }
  16900. // Describes a Reserved Instance offering.
  16901. type ReservedInstancesOffering struct {
  16902. // The Availability Zone in which the Reserved Instance can be used.
  16903. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  16904. // The currency of the Reserved Instance offering you are purchasing. It's specified
  16905. // using ISO 4217 standard currency codes. At this time, the only supported
  16906. // currency is USD.
  16907. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  16908. // The duration of the Reserved Instance, in seconds.
  16909. Duration *int64 `locationName:"duration" type:"long"`
  16910. // The purchase price of the Reserved Instance.
  16911. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  16912. // The tenancy of the reserved instance.
  16913. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  16914. // The instance type on which the Reserved Instance can be used.
  16915. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  16916. // Indicates whether the offering is available through the Reserved Instance
  16917. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  16918. // this is true.
  16919. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  16920. // The Reserved Instance offering type.
  16921. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  16922. // The pricing details of the Reserved Instance offering.
  16923. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  16924. // The Reserved Instance product platform description.
  16925. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  16926. // The recurring charge tag assigned to the resource.
  16927. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  16928. // The ID of the Reserved Instance offering.
  16929. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  16930. // The usage price of the Reserved Instance, per hour.
  16931. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  16932. metadataReservedInstancesOffering `json:"-" xml:"-"`
  16933. }
  16934. type metadataReservedInstancesOffering struct {
  16935. SDKShapeTraits bool `type:"structure"`
  16936. }
  16937. // String returns the string representation
  16938. func (s ReservedInstancesOffering) String() string {
  16939. return awsutil.Prettify(s)
  16940. }
  16941. // GoString returns the string representation
  16942. func (s ReservedInstancesOffering) GoString() string {
  16943. return s.String()
  16944. }
  16945. type ResetImageAttributeInput struct {
  16946. // The attribute to reset (currently you can only reset the launch permission
  16947. // attribute).
  16948. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  16949. // Checks whether you have the required permissions for the action, without
  16950. // actually making the request, and provides an error response. If you have
  16951. // the required permissions, the error response is DryRunOperation. Otherwise,
  16952. // it is UnauthorizedOperation.
  16953. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16954. // The ID of the AMI.
  16955. ImageId *string `type:"string" required:"true"`
  16956. metadataResetImageAttributeInput `json:"-" xml:"-"`
  16957. }
  16958. type metadataResetImageAttributeInput struct {
  16959. SDKShapeTraits bool `type:"structure"`
  16960. }
  16961. // String returns the string representation
  16962. func (s ResetImageAttributeInput) String() string {
  16963. return awsutil.Prettify(s)
  16964. }
  16965. // GoString returns the string representation
  16966. func (s ResetImageAttributeInput) GoString() string {
  16967. return s.String()
  16968. }
  16969. type ResetImageAttributeOutput struct {
  16970. metadataResetImageAttributeOutput `json:"-" xml:"-"`
  16971. }
  16972. type metadataResetImageAttributeOutput struct {
  16973. SDKShapeTraits bool `type:"structure"`
  16974. }
  16975. // String returns the string representation
  16976. func (s ResetImageAttributeOutput) String() string {
  16977. return awsutil.Prettify(s)
  16978. }
  16979. // GoString returns the string representation
  16980. func (s ResetImageAttributeOutput) GoString() string {
  16981. return s.String()
  16982. }
  16983. type ResetInstanceAttributeInput struct {
  16984. // The attribute to reset.
  16985. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  16986. // Checks whether you have the required permissions for the action, without
  16987. // actually making the request, and provides an error response. If you have
  16988. // the required permissions, the error response is DryRunOperation. Otherwise,
  16989. // it is UnauthorizedOperation.
  16990. DryRun *bool `locationName:"dryRun" type:"boolean"`
  16991. // The ID of the instance.
  16992. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  16993. metadataResetInstanceAttributeInput `json:"-" xml:"-"`
  16994. }
  16995. type metadataResetInstanceAttributeInput struct {
  16996. SDKShapeTraits bool `type:"structure"`
  16997. }
  16998. // String returns the string representation
  16999. func (s ResetInstanceAttributeInput) String() string {
  17000. return awsutil.Prettify(s)
  17001. }
  17002. // GoString returns the string representation
  17003. func (s ResetInstanceAttributeInput) GoString() string {
  17004. return s.String()
  17005. }
  17006. type ResetInstanceAttributeOutput struct {
  17007. metadataResetInstanceAttributeOutput `json:"-" xml:"-"`
  17008. }
  17009. type metadataResetInstanceAttributeOutput struct {
  17010. SDKShapeTraits bool `type:"structure"`
  17011. }
  17012. // String returns the string representation
  17013. func (s ResetInstanceAttributeOutput) String() string {
  17014. return awsutil.Prettify(s)
  17015. }
  17016. // GoString returns the string representation
  17017. func (s ResetInstanceAttributeOutput) GoString() string {
  17018. return s.String()
  17019. }
  17020. type ResetNetworkInterfaceAttributeInput struct {
  17021. // Checks whether you have the required permissions for the action, without
  17022. // actually making the request, and provides an error response. If you have
  17023. // the required permissions, the error response is DryRunOperation. Otherwise,
  17024. // it is UnauthorizedOperation.
  17025. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17026. // The ID of the network interface.
  17027. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  17028. // The source/destination checking attribute. Resets the value to true.
  17029. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  17030. metadataResetNetworkInterfaceAttributeInput `json:"-" xml:"-"`
  17031. }
  17032. type metadataResetNetworkInterfaceAttributeInput struct {
  17033. SDKShapeTraits bool `type:"structure"`
  17034. }
  17035. // String returns the string representation
  17036. func (s ResetNetworkInterfaceAttributeInput) String() string {
  17037. return awsutil.Prettify(s)
  17038. }
  17039. // GoString returns the string representation
  17040. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  17041. return s.String()
  17042. }
  17043. type ResetNetworkInterfaceAttributeOutput struct {
  17044. metadataResetNetworkInterfaceAttributeOutput `json:"-" xml:"-"`
  17045. }
  17046. type metadataResetNetworkInterfaceAttributeOutput struct {
  17047. SDKShapeTraits bool `type:"structure"`
  17048. }
  17049. // String returns the string representation
  17050. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  17051. return awsutil.Prettify(s)
  17052. }
  17053. // GoString returns the string representation
  17054. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  17055. return s.String()
  17056. }
  17057. type ResetSnapshotAttributeInput struct {
  17058. // The attribute to reset. Currently, only the attribute for permission to create
  17059. // volumes can be reset.
  17060. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  17061. // Checks whether you have the required permissions for the action, without
  17062. // actually making the request, and provides an error response. If you have
  17063. // the required permissions, the error response is DryRunOperation. Otherwise,
  17064. // it is UnauthorizedOperation.
  17065. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17066. // The ID of the snapshot.
  17067. SnapshotId *string `type:"string" required:"true"`
  17068. metadataResetSnapshotAttributeInput `json:"-" xml:"-"`
  17069. }
  17070. type metadataResetSnapshotAttributeInput struct {
  17071. SDKShapeTraits bool `type:"structure"`
  17072. }
  17073. // String returns the string representation
  17074. func (s ResetSnapshotAttributeInput) String() string {
  17075. return awsutil.Prettify(s)
  17076. }
  17077. // GoString returns the string representation
  17078. func (s ResetSnapshotAttributeInput) GoString() string {
  17079. return s.String()
  17080. }
  17081. type ResetSnapshotAttributeOutput struct {
  17082. metadataResetSnapshotAttributeOutput `json:"-" xml:"-"`
  17083. }
  17084. type metadataResetSnapshotAttributeOutput struct {
  17085. SDKShapeTraits bool `type:"structure"`
  17086. }
  17087. // String returns the string representation
  17088. func (s ResetSnapshotAttributeOutput) String() string {
  17089. return awsutil.Prettify(s)
  17090. }
  17091. // GoString returns the string representation
  17092. func (s ResetSnapshotAttributeOutput) GoString() string {
  17093. return s.String()
  17094. }
  17095. type RestoreAddressToClassicInput struct {
  17096. // Checks whether you have the required permissions for the action, without
  17097. // actually making the request, and provides an error response. If you have
  17098. // the required permissions, the error response is DryRunOperation. Otherwise,
  17099. // it is UnauthorizedOperation.
  17100. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17101. // The Elastic IP address.
  17102. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  17103. metadataRestoreAddressToClassicInput `json:"-" xml:"-"`
  17104. }
  17105. type metadataRestoreAddressToClassicInput struct {
  17106. SDKShapeTraits bool `type:"structure"`
  17107. }
  17108. // String returns the string representation
  17109. func (s RestoreAddressToClassicInput) String() string {
  17110. return awsutil.Prettify(s)
  17111. }
  17112. // GoString returns the string representation
  17113. func (s RestoreAddressToClassicInput) GoString() string {
  17114. return s.String()
  17115. }
  17116. type RestoreAddressToClassicOutput struct {
  17117. // The Elastic IP address.
  17118. PublicIp *string `locationName:"publicIp" type:"string"`
  17119. // The move status for the IP address.
  17120. Status *string `locationName:"status" type:"string" enum:"Status"`
  17121. metadataRestoreAddressToClassicOutput `json:"-" xml:"-"`
  17122. }
  17123. type metadataRestoreAddressToClassicOutput struct {
  17124. SDKShapeTraits bool `type:"structure"`
  17125. }
  17126. // String returns the string representation
  17127. func (s RestoreAddressToClassicOutput) String() string {
  17128. return awsutil.Prettify(s)
  17129. }
  17130. // GoString returns the string representation
  17131. func (s RestoreAddressToClassicOutput) GoString() string {
  17132. return s.String()
  17133. }
  17134. type RevokeSecurityGroupEgressInput struct {
  17135. // The CIDR IP address range. You can't specify this parameter when specifying
  17136. // a source security group.
  17137. CidrIp *string `locationName:"cidrIp" type:"string"`
  17138. // Checks whether you have the required permissions for the action, without
  17139. // actually making the request, and provides an error response. If you have
  17140. // the required permissions, the error response is DryRunOperation. Otherwise,
  17141. // it is UnauthorizedOperation.
  17142. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17143. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  17144. // For the ICMP type number, use -1 to specify all ICMP types.
  17145. FromPort *int64 `locationName:"fromPort" type:"integer"`
  17146. // The ID of the security group.
  17147. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  17148. // A set of IP permissions. You can't specify a destination security group and
  17149. // a CIDR IP address range.
  17150. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  17151. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  17152. // Use -1 to specify all.
  17153. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  17154. // The name of a destination security group. To revoke outbound access to a
  17155. // destination security group, we recommend that you use a set of IP permissions
  17156. // instead.
  17157. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  17158. // The AWS account number for a destination security group. To revoke outbound
  17159. // access to a destination security group, we recommend that you use a set of
  17160. // IP permissions instead.
  17161. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  17162. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  17163. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  17164. ToPort *int64 `locationName:"toPort" type:"integer"`
  17165. metadataRevokeSecurityGroupEgressInput `json:"-" xml:"-"`
  17166. }
  17167. type metadataRevokeSecurityGroupEgressInput struct {
  17168. SDKShapeTraits bool `type:"structure"`
  17169. }
  17170. // String returns the string representation
  17171. func (s RevokeSecurityGroupEgressInput) String() string {
  17172. return awsutil.Prettify(s)
  17173. }
  17174. // GoString returns the string representation
  17175. func (s RevokeSecurityGroupEgressInput) GoString() string {
  17176. return s.String()
  17177. }
  17178. type RevokeSecurityGroupEgressOutput struct {
  17179. metadataRevokeSecurityGroupEgressOutput `json:"-" xml:"-"`
  17180. }
  17181. type metadataRevokeSecurityGroupEgressOutput struct {
  17182. SDKShapeTraits bool `type:"structure"`
  17183. }
  17184. // String returns the string representation
  17185. func (s RevokeSecurityGroupEgressOutput) String() string {
  17186. return awsutil.Prettify(s)
  17187. }
  17188. // GoString returns the string representation
  17189. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  17190. return s.String()
  17191. }
  17192. type RevokeSecurityGroupIngressInput struct {
  17193. // The CIDR IP address range. You can't specify this parameter when specifying
  17194. // a source security group.
  17195. CidrIp *string `type:"string"`
  17196. // Checks whether you have the required permissions for the action, without
  17197. // actually making the request, and provides an error response. If you have
  17198. // the required permissions, the error response is DryRunOperation. Otherwise,
  17199. // it is UnauthorizedOperation.
  17200. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17201. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  17202. // For the ICMP type number, use -1 to specify all ICMP types.
  17203. FromPort *int64 `type:"integer"`
  17204. // The ID of the security group. Required for a security group in a nondefault
  17205. // VPC.
  17206. GroupId *string `type:"string"`
  17207. // [EC2-Classic, default VPC] The name of the security group.
  17208. GroupName *string `type:"string"`
  17209. // A set of IP permissions. You can't specify a source security group and a
  17210. // CIDR IP address range.
  17211. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  17212. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  17213. // Use -1 to specify all.
  17214. IpProtocol *string `type:"string"`
  17215. // [EC2-Classic, default VPC] The name of the source security group. You can't
  17216. // specify this parameter in combination with the following parameters: the
  17217. // CIDR IP address range, the start of the port range, the IP protocol, and
  17218. // the end of the port range. For EC2-VPC, the source security group must be
  17219. // in the same VPC.
  17220. SourceSecurityGroupName *string `type:"string"`
  17221. // [EC2-Classic, default VPC] The AWS account ID of the source security group.
  17222. // For EC2-VPC, the source security group must be in the same VPC. You can't
  17223. // specify this parameter in combination with the following parameters: the
  17224. // CIDR IP address range, the IP protocol, the start of the port range, and
  17225. // the end of the port range. To revoke a specific rule for an IP protocol and
  17226. // port range, use a set of IP permissions instead.
  17227. SourceSecurityGroupOwnerId *string `type:"string"`
  17228. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  17229. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  17230. ToPort *int64 `type:"integer"`
  17231. metadataRevokeSecurityGroupIngressInput `json:"-" xml:"-"`
  17232. }
  17233. type metadataRevokeSecurityGroupIngressInput struct {
  17234. SDKShapeTraits bool `type:"structure"`
  17235. }
  17236. // String returns the string representation
  17237. func (s RevokeSecurityGroupIngressInput) String() string {
  17238. return awsutil.Prettify(s)
  17239. }
  17240. // GoString returns the string representation
  17241. func (s RevokeSecurityGroupIngressInput) GoString() string {
  17242. return s.String()
  17243. }
  17244. type RevokeSecurityGroupIngressOutput struct {
  17245. metadataRevokeSecurityGroupIngressOutput `json:"-" xml:"-"`
  17246. }
  17247. type metadataRevokeSecurityGroupIngressOutput struct {
  17248. SDKShapeTraits bool `type:"structure"`
  17249. }
  17250. // String returns the string representation
  17251. func (s RevokeSecurityGroupIngressOutput) String() string {
  17252. return awsutil.Prettify(s)
  17253. }
  17254. // GoString returns the string representation
  17255. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  17256. return s.String()
  17257. }
  17258. // Describes a route in a route table.
  17259. type Route struct {
  17260. // The CIDR block used for the destination match.
  17261. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  17262. // The prefix of the AWS service.
  17263. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  17264. // The ID of a gateway attached to your VPC.
  17265. GatewayId *string `locationName:"gatewayId" type:"string"`
  17266. // The ID of a NAT instance in your VPC.
  17267. InstanceId *string `locationName:"instanceId" type:"string"`
  17268. // The AWS account ID of the owner of the instance.
  17269. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  17270. // The ID of the network interface.
  17271. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  17272. // Describes how the route was created.
  17273. //
  17274. // CreateRouteTable indicates that route was automatically created when the
  17275. // route table was created. CreateRoute indicates that the route was manually
  17276. // added to the route table. EnableVgwRoutePropagation indicates that the route
  17277. // was propagated by route propagation.
  17278. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  17279. // The state of the route. The blackhole state indicates that the route's target
  17280. // isn't available (for example, the specified gateway isn't attached to the
  17281. // VPC, or the specified NAT instance has been terminated).
  17282. State *string `locationName:"state" type:"string" enum:"RouteState"`
  17283. // The ID of the VPC peering connection.
  17284. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  17285. metadataRoute `json:"-" xml:"-"`
  17286. }
  17287. type metadataRoute struct {
  17288. SDKShapeTraits bool `type:"structure"`
  17289. }
  17290. // String returns the string representation
  17291. func (s Route) String() string {
  17292. return awsutil.Prettify(s)
  17293. }
  17294. // GoString returns the string representation
  17295. func (s Route) GoString() string {
  17296. return s.String()
  17297. }
  17298. // Describes a route table.
  17299. type RouteTable struct {
  17300. // The associations between the route table and one or more subnets.
  17301. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  17302. // Any virtual private gateway (VGW) propagating routes.
  17303. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  17304. // The ID of the route table.
  17305. RouteTableId *string `locationName:"routeTableId" type:"string"`
  17306. // The routes in the route table.
  17307. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  17308. // Any tags assigned to the route table.
  17309. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  17310. // The ID of the VPC.
  17311. VpcId *string `locationName:"vpcId" type:"string"`
  17312. metadataRouteTable `json:"-" xml:"-"`
  17313. }
  17314. type metadataRouteTable struct {
  17315. SDKShapeTraits bool `type:"structure"`
  17316. }
  17317. // String returns the string representation
  17318. func (s RouteTable) String() string {
  17319. return awsutil.Prettify(s)
  17320. }
  17321. // GoString returns the string representation
  17322. func (s RouteTable) GoString() string {
  17323. return s.String()
  17324. }
  17325. // Describes an association between a route table and a subnet.
  17326. type RouteTableAssociation struct {
  17327. // Indicates whether this is the main route table.
  17328. Main *bool `locationName:"main" type:"boolean"`
  17329. // The ID of the association between a route table and a subnet.
  17330. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  17331. // The ID of the route table.
  17332. RouteTableId *string `locationName:"routeTableId" type:"string"`
  17333. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  17334. SubnetId *string `locationName:"subnetId" type:"string"`
  17335. metadataRouteTableAssociation `json:"-" xml:"-"`
  17336. }
  17337. type metadataRouteTableAssociation struct {
  17338. SDKShapeTraits bool `type:"structure"`
  17339. }
  17340. // String returns the string representation
  17341. func (s RouteTableAssociation) String() string {
  17342. return awsutil.Prettify(s)
  17343. }
  17344. // GoString returns the string representation
  17345. func (s RouteTableAssociation) GoString() string {
  17346. return s.String()
  17347. }
  17348. type RunInstancesInput struct {
  17349. // Reserved.
  17350. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  17351. // The block device mapping.
  17352. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  17353. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  17354. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  17355. //
  17356. // Constraints: Maximum 64 ASCII characters
  17357. ClientToken *string `locationName:"clientToken" type:"string"`
  17358. // If you set this parameter to true, you can't terminate the instance using
  17359. // the Amazon EC2 console, CLI, or API; otherwise, you can. If you set this
  17360. // parameter to true and then later want to be able to terminate the instance,
  17361. // you must first change the value of the disableApiTermination attribute to
  17362. // false using ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior
  17363. // to terminate, you can terminate the instance by running the shutdown command
  17364. // from the instance.
  17365. //
  17366. // Default: false
  17367. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  17368. // Checks whether you have the required permissions for the action, without
  17369. // actually making the request, and provides an error response. If you have
  17370. // the required permissions, the error response is DryRunOperation. Otherwise,
  17371. // it is UnauthorizedOperation.
  17372. DryRun *bool `locationName:"dryRun" type:"boolean"`
  17373. // Indicates whether the instance is optimized for EBS I/O. This optimization
  17374. // provides dedicated throughput to Amazon EBS and an optimized configuration
  17375. // stack to provide optimal EBS I/O performance. This optimization isn't available
  17376. // with all instance types. Additional usage charges apply when using an EBS-optimized
  17377. // instance.
  17378. //
  17379. // Default: false
  17380. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  17381. // The IAM instance profile.
  17382. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  17383. // The ID of the AMI, which you can get by calling DescribeImages.
  17384. ImageId *string `type:"string" required:"true"`
  17385. // Indicates whether an instance stops or terminates when you initiate shutdown
  17386. // from the instance (using the operating system command for system shutdown).
  17387. //
  17388. // Default: stop
  17389. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  17390. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  17391. // in the Amazon Elastic Compute Cloud User Guide.
  17392. //
  17393. // Default: m1.small
  17394. InstanceType *string `type:"string" enum:"InstanceType"`
  17395. // The ID of the kernel.
  17396. //
  17397. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For
  17398. // more information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  17399. // in the Amazon Elastic Compute Cloud User Guide.
  17400. KernelId *string `type:"string"`
  17401. // The name of the key pair. You can create a key pair using CreateKeyPair or
  17402. // ImportKeyPair.
  17403. //
  17404. // If you do not specify a key pair, you can't connect to the instance unless
  17405. // you choose an AMI that is configured to allow users another way to log in.
  17406. KeyName *string `type:"string"`
  17407. // The maximum number of instances to launch. If you specify more instances
  17408. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  17409. // the largest possible number of instances above MinCount.
  17410. //
  17411. // Constraints: Between 1 and the maximum number you're allowed for the specified
  17412. // instance type. For more information about the default limits, and how to
  17413. // 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)
  17414. // in the Amazon EC2 General FAQ.
  17415. MaxCount *int64 `type:"integer" required:"true"`
  17416. // The minimum number of instances to launch. If you specify a minimum that
  17417. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  17418. // Amazon EC2 launches no instances.
  17419. //
  17420. // Constraints: Between 1 and the maximum number you're allowed for the specified
  17421. // instance type. For more information about the default limits, and how to
  17422. // 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)
  17423. // in the Amazon EC2 General FAQ.
  17424. MinCount *int64 `type:"integer" required:"true"`
  17425. // The monitoring for the instance.
  17426. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  17427. // One or more network interfaces.
  17428. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  17429. // The placement for the instance.
  17430. Placement *Placement `type:"structure"`
  17431. // [EC2-VPC] The primary IP address. You must specify a value from the IP address
  17432. // range of the subnet.
  17433. //
  17434. // Only one private IP address can be designated as primary. Therefore, you
  17435. // can't specify this parameter if PrivateIpAddresses.n.Primary is set to true
  17436. // and PrivateIpAddresses.n.PrivateIpAddress is set to an IP address.
  17437. //
  17438. // Default: We select an IP address from the IP address range of the subnet.
  17439. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  17440. // The ID of the RAM disk.
  17441. //
  17442. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For
  17443. // more information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  17444. // in the Amazon Elastic Compute Cloud User Guide.
  17445. RamdiskId *string `type:"string"`
  17446. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  17447. //
  17448. // Default: Amazon EC2 uses the default security group.
  17449. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  17450. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  17451. // VPC, you must use security group IDs instead.
  17452. //
  17453. // Default: Amazon EC2 uses the default security group.
  17454. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  17455. // [EC2-VPC] The ID of the subnet to launch the instance into.
  17456. SubnetId *string `type:"string"`
  17457. // The Base64-encoded MIME user data for the instances.
  17458. UserData *string `type:"string"`
  17459. metadataRunInstancesInput `json:"-" xml:"-"`
  17460. }
  17461. type metadataRunInstancesInput struct {
  17462. SDKShapeTraits bool `type:"structure"`
  17463. }
  17464. // String returns the string representation
  17465. func (s RunInstancesInput) String() string {
  17466. return awsutil.Prettify(s)
  17467. }
  17468. // GoString returns the string representation
  17469. func (s RunInstancesInput) GoString() string {
  17470. return s.String()
  17471. }
  17472. // Describes the monitoring for the instance.
  17473. type RunInstancesMonitoringEnabled struct {
  17474. // Indicates whether monitoring is enabled for the instance.
  17475. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  17476. metadataRunInstancesMonitoringEnabled `json:"-" xml:"-"`
  17477. }
  17478. type metadataRunInstancesMonitoringEnabled struct {
  17479. SDKShapeTraits bool `type:"structure"`
  17480. }
  17481. // String returns the string representation
  17482. func (s RunInstancesMonitoringEnabled) String() string {
  17483. return awsutil.Prettify(s)
  17484. }
  17485. // GoString returns the string representation
  17486. func (s RunInstancesMonitoringEnabled) GoString() string {
  17487. return s.String()
  17488. }
  17489. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  17490. // AMI.
  17491. type S3Storage struct {
  17492. // The access key ID of the owner of the bucket. Before you specify a value
  17493. // for your access key ID, review and follow the guidance in Best Practices
  17494. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  17495. AWSAccessKeyId *string `type:"string"`
  17496. // The bucket in which to store the AMI. You can specify a bucket that you already
  17497. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  17498. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  17499. Bucket *string `locationName:"bucket" type:"string"`
  17500. // The beginning of the file name of the AMI.
  17501. Prefix *string `locationName:"prefix" type:"string"`
  17502. // A Base64-encoded Amazon S3 upload policy that gives Amazon EC2 permission
  17503. // to upload items into Amazon S3 on your behalf.
  17504. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  17505. // The signature of the Base64 encoded JSON document.
  17506. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  17507. metadataS3Storage `json:"-" xml:"-"`
  17508. }
  17509. type metadataS3Storage struct {
  17510. SDKShapeTraits bool `type:"structure"`
  17511. }
  17512. // String returns the string representation
  17513. func (s S3Storage) String() string {
  17514. return awsutil.Prettify(s)
  17515. }
  17516. // GoString returns the string representation
  17517. func (s S3Storage) GoString() string {
  17518. return s.String()
  17519. }
  17520. // Describes a security group
  17521. type SecurityGroup struct {
  17522. // A description of the security group.
  17523. Description *string `locationName:"groupDescription" type:"string"`
  17524. // The ID of the security group.
  17525. GroupId *string `locationName:"groupId" type:"string"`
  17526. // The name of the security group.
  17527. GroupName *string `locationName:"groupName" type:"string"`
  17528. // One or more inbound rules associated with the security group.
  17529. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  17530. // [EC2-VPC] One or more outbound rules associated with the security group.
  17531. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  17532. // The AWS account ID of the owner of the security group.
  17533. OwnerId *string `locationName:"ownerId" type:"string"`
  17534. // Any tags assigned to the security group.
  17535. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  17536. // [EC2-VPC] The ID of the VPC for the security group.
  17537. VpcId *string `locationName:"vpcId" type:"string"`
  17538. metadataSecurityGroup `json:"-" xml:"-"`
  17539. }
  17540. type metadataSecurityGroup struct {
  17541. SDKShapeTraits bool `type:"structure"`
  17542. }
  17543. // String returns the string representation
  17544. func (s SecurityGroup) String() string {
  17545. return awsutil.Prettify(s)
  17546. }
  17547. // GoString returns the string representation
  17548. func (s SecurityGroup) GoString() string {
  17549. return s.String()
  17550. }
  17551. // Describes a snapshot.
  17552. type Snapshot struct {
  17553. // The description for the snapshot.
  17554. Description *string `locationName:"description" type:"string"`
  17555. // Indicates whether the snapshot is encrypted.
  17556. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  17557. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  17558. // key (CMK) that was used to protect the volume encryption key for the parent
  17559. // volume.
  17560. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  17561. // The AWS account alias (for example, amazon, self) or AWS account ID that
  17562. // owns the snapshot.
  17563. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  17564. // The AWS account ID of the EBS snapshot owner.
  17565. OwnerId *string `locationName:"ownerId" type:"string"`
  17566. // The progress of the snapshot, as a percentage.
  17567. Progress *string `locationName:"progress" type:"string"`
  17568. // The ID of the snapshot.
  17569. SnapshotId *string `locationName:"snapshotId" type:"string"`
  17570. // The time stamp when the snapshot was initiated.
  17571. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  17572. // The snapshot state.
  17573. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  17574. // Any tags assigned to the snapshot.
  17575. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  17576. // The ID of the volume.
  17577. VolumeId *string `locationName:"volumeId" type:"string"`
  17578. // The size of the volume, in GiB.
  17579. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  17580. metadataSnapshot `json:"-" xml:"-"`
  17581. }
  17582. type metadataSnapshot struct {
  17583. SDKShapeTraits bool `type:"structure"`
  17584. }
  17585. // String returns the string representation
  17586. func (s Snapshot) String() string {
  17587. return awsutil.Prettify(s)
  17588. }
  17589. // GoString returns the string representation
  17590. func (s Snapshot) GoString() string {
  17591. return s.String()
  17592. }
  17593. // Describes the snapshot created from the imported disk.
  17594. type SnapshotDetail struct {
  17595. // A description for the snapshot.
  17596. Description *string `locationName:"description" type:"string"`
  17597. // The block device mapping for the snapshot.
  17598. DeviceName *string `locationName:"deviceName" type:"string"`
  17599. // The size of the disk in the snapshot, in GiB.
  17600. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  17601. // The format of the disk image from which the snapshot is created.
  17602. Format *string `locationName:"format" type:"string"`
  17603. // The percentage of progress for the task.
  17604. Progress *string `locationName:"progress" type:"string"`
  17605. // The snapshot ID of the disk being imported.
  17606. SnapshotId *string `locationName:"snapshotId" type:"string"`
  17607. // A brief status of the snapshot creation.
  17608. Status *string `locationName:"status" type:"string"`
  17609. // A detailed status message for the snapshot creation.
  17610. StatusMessage *string `locationName:"statusMessage" type:"string"`
  17611. // The URL used to access the disk image.
  17612. Url *string `locationName:"url" type:"string"`
  17613. // Describes the S3 bucket for the disk image.
  17614. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  17615. metadataSnapshotDetail `json:"-" xml:"-"`
  17616. }
  17617. type metadataSnapshotDetail struct {
  17618. SDKShapeTraits bool `type:"structure"`
  17619. }
  17620. // String returns the string representation
  17621. func (s SnapshotDetail) String() string {
  17622. return awsutil.Prettify(s)
  17623. }
  17624. // GoString returns the string representation
  17625. func (s SnapshotDetail) GoString() string {
  17626. return s.String()
  17627. }
  17628. // The disk container object for the import snapshot request.
  17629. type SnapshotDiskContainer struct {
  17630. // The description of the disk image being imported.
  17631. Description *string `type:"string"`
  17632. // The format of the disk image being imported.
  17633. //
  17634. // Valid values: RAW | VHD | VMDK | OVA
  17635. Format *string `type:"string"`
  17636. // The URL to the Amazon S3-based disk image being imported. It can either be
  17637. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  17638. Url *string `type:"string"`
  17639. // Describes the S3 bucket for the disk image.
  17640. UserBucket *UserBucket `type:"structure"`
  17641. metadataSnapshotDiskContainer `json:"-" xml:"-"`
  17642. }
  17643. type metadataSnapshotDiskContainer struct {
  17644. SDKShapeTraits bool `type:"structure"`
  17645. }
  17646. // String returns the string representation
  17647. func (s SnapshotDiskContainer) String() string {
  17648. return awsutil.Prettify(s)
  17649. }
  17650. // GoString returns the string representation
  17651. func (s SnapshotDiskContainer) GoString() string {
  17652. return s.String()
  17653. }
  17654. // Details about the import snapshot task.
  17655. type SnapshotTaskDetail struct {
  17656. // The description of the snapshot.
  17657. Description *string `locationName:"description" type:"string"`
  17658. // The size of the disk in the snapshot, in GiB.
  17659. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  17660. // The format of the disk image from which the snapshot is created.
  17661. Format *string `locationName:"format" type:"string"`
  17662. // The percentage of completion for the import snapshot task.
  17663. Progress *string `locationName:"progress" type:"string"`
  17664. // The snapshot ID of the disk being imported.
  17665. SnapshotId *string `locationName:"snapshotId" type:"string"`
  17666. // A brief status for the import snapshot task.
  17667. Status *string `locationName:"status" type:"string"`
  17668. // A detailed status message for the import snapshot task.
  17669. StatusMessage *string `locationName:"statusMessage" type:"string"`
  17670. // The URL of the disk image from which the snapshot is created.
  17671. Url *string `locationName:"url" type:"string"`
  17672. // The S3 bucket for the disk image.
  17673. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  17674. metadataSnapshotTaskDetail `json:"-" xml:"-"`
  17675. }
  17676. type metadataSnapshotTaskDetail struct {
  17677. SDKShapeTraits bool `type:"structure"`
  17678. }
  17679. // String returns the string representation
  17680. func (s SnapshotTaskDetail) String() string {
  17681. return awsutil.Prettify(s)
  17682. }
  17683. // GoString returns the string representation
  17684. func (s SnapshotTaskDetail) GoString() string {
  17685. return s.String()
  17686. }
  17687. // Describes the data feed for a Spot Instance.
  17688. type SpotDatafeedSubscription struct {
  17689. // The Amazon S3 bucket where the Spot Instance data feed is located.
  17690. Bucket *string `locationName:"bucket" type:"string"`
  17691. // The fault codes for the Spot Instance request, if any.
  17692. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  17693. // The AWS account ID of the account.
  17694. OwnerId *string `locationName:"ownerId" type:"string"`
  17695. // The prefix that is prepended to data feed files.
  17696. Prefix *string `locationName:"prefix" type:"string"`
  17697. // The state of the Spot Instance data feed subscription.
  17698. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  17699. metadataSpotDatafeedSubscription `json:"-" xml:"-"`
  17700. }
  17701. type metadataSpotDatafeedSubscription struct {
  17702. SDKShapeTraits bool `type:"structure"`
  17703. }
  17704. // String returns the string representation
  17705. func (s SpotDatafeedSubscription) String() string {
  17706. return awsutil.Prettify(s)
  17707. }
  17708. // GoString returns the string representation
  17709. func (s SpotDatafeedSubscription) GoString() string {
  17710. return s.String()
  17711. }
  17712. // Describes the launch specification for one or more Spot Instances.
  17713. type SpotFleetLaunchSpecification struct {
  17714. // Deprecated.
  17715. AddressingType *string `locationName:"addressingType" type:"string"`
  17716. // One or more block device mapping entries.
  17717. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  17718. // Indicates whether the instances are optimized for EBS I/O. This optimization
  17719. // provides dedicated throughput to Amazon EBS and an optimized configuration
  17720. // stack to provide optimal EBS I/O performance. This optimization isn't available
  17721. // with all instance types. Additional usage charges apply when using an EBS
  17722. // Optimized instance.
  17723. //
  17724. // Default: false
  17725. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  17726. // The IAM instance profile.
  17727. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  17728. // The ID of the AMI.
  17729. ImageId *string `locationName:"imageId" type:"string"`
  17730. // The instance type.
  17731. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  17732. // The ID of the kernel.
  17733. KernelId *string `locationName:"kernelId" type:"string"`
  17734. // The name of the key pair.
  17735. KeyName *string `locationName:"keyName" type:"string"`
  17736. // Enable or disable monitoring for the instances.
  17737. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  17738. // One or more network interfaces.
  17739. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  17740. // The placement information.
  17741. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  17742. // The ID of the RAM disk.
  17743. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  17744. // One or more security groups. To request an instance in a nondefault VPC,
  17745. // you must specify the ID of the security group. To request an instance in
  17746. // EC2-Classic or a default VPC, you can specify the name or the ID of the security
  17747. // group.
  17748. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  17749. // The bid price per unit hour for the specified instance type. If this value
  17750. // is not specified, the default is the Spot bid price specified for the fleet.
  17751. // To determine the bid price per unit hour, divide the Spot bid price by the
  17752. // value of WeightedCapacity.
  17753. SpotPrice *string `locationName:"spotPrice" type:"string"`
  17754. // The ID of the subnet in which to launch the instances.
  17755. SubnetId *string `locationName:"subnetId" type:"string"`
  17756. // The Base64-encoded MIME user data to make available to the instances.
  17757. UserData *string `locationName:"userData" type:"string"`
  17758. // The number of units provided by the specified instance type. These are the
  17759. // same units that you chose to set the target capacity in terms (instances
  17760. // or a performance characteristic such as vCPUs, memory, or I/O).
  17761. //
  17762. // If the target capacity divided by this value is not a whole number, we round
  17763. // the number of instances to the next whole number. If this value is not specified,
  17764. // the default is 1.
  17765. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  17766. metadataSpotFleetLaunchSpecification `json:"-" xml:"-"`
  17767. }
  17768. type metadataSpotFleetLaunchSpecification struct {
  17769. SDKShapeTraits bool `type:"structure"`
  17770. }
  17771. // String returns the string representation
  17772. func (s SpotFleetLaunchSpecification) String() string {
  17773. return awsutil.Prettify(s)
  17774. }
  17775. // GoString returns the string representation
  17776. func (s SpotFleetLaunchSpecification) GoString() string {
  17777. return s.String()
  17778. }
  17779. // Describes whether monitoring is enabled.
  17780. type SpotFleetMonitoring struct {
  17781. // Enables monitoring for the instance.
  17782. //
  17783. // Default: false
  17784. Enabled *bool `locationName:"enabled" type:"boolean"`
  17785. metadataSpotFleetMonitoring `json:"-" xml:"-"`
  17786. }
  17787. type metadataSpotFleetMonitoring struct {
  17788. SDKShapeTraits bool `type:"structure"`
  17789. }
  17790. // String returns the string representation
  17791. func (s SpotFleetMonitoring) String() string {
  17792. return awsutil.Prettify(s)
  17793. }
  17794. // GoString returns the string representation
  17795. func (s SpotFleetMonitoring) GoString() string {
  17796. return s.String()
  17797. }
  17798. // Describes a Spot fleet request.
  17799. type SpotFleetRequestConfig struct {
  17800. // Information about the configuration of the Spot fleet request.
  17801. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  17802. // The ID of the Spot fleet request.
  17803. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  17804. // The state of the Spot fleet request.
  17805. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  17806. metadataSpotFleetRequestConfig `json:"-" xml:"-"`
  17807. }
  17808. type metadataSpotFleetRequestConfig struct {
  17809. SDKShapeTraits bool `type:"structure"`
  17810. }
  17811. // String returns the string representation
  17812. func (s SpotFleetRequestConfig) String() string {
  17813. return awsutil.Prettify(s)
  17814. }
  17815. // GoString returns the string representation
  17816. func (s SpotFleetRequestConfig) GoString() string {
  17817. return s.String()
  17818. }
  17819. // Describes the configuration of a Spot fleet request.
  17820. type SpotFleetRequestConfigData struct {
  17821. // A unique, case-sensitive identifier you provide to ensure idempotency of
  17822. // your listings. This helps avoid duplicate listings. For more information,
  17823. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  17824. ClientToken *string `locationName:"clientToken" type:"string"`
  17825. // Grants the Spot fleet service permission to terminate instances on your behalf
  17826. // when you cancel a Spot fleet request using CancelSpotFleetRequests or when
  17827. // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
  17828. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  17829. // Information about the launch specifications for the instances.
  17830. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list" required:"true"`
  17831. // The bid price per unit hour.
  17832. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  17833. // The number of units to request. You can choose to set the target capacity
  17834. // in terms of instances or a performance characteristic that is important to
  17835. // your application workload, such as vCPUs, memory, or I/O.
  17836. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  17837. // Indicates whether running instances should be terminated when the Spot fleet
  17838. // request expires.
  17839. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  17840. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  17841. // The default is to start fulfilling the request immediately.
  17842. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  17843. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  17844. // At this point, no new Spot Instance requests are placed or enabled to fulfill
  17845. // the request.
  17846. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  17847. metadataSpotFleetRequestConfigData `json:"-" xml:"-"`
  17848. }
  17849. type metadataSpotFleetRequestConfigData struct {
  17850. SDKShapeTraits bool `type:"structure"`
  17851. }
  17852. // String returns the string representation
  17853. func (s SpotFleetRequestConfigData) String() string {
  17854. return awsutil.Prettify(s)
  17855. }
  17856. // GoString returns the string representation
  17857. func (s SpotFleetRequestConfigData) GoString() string {
  17858. return s.String()
  17859. }
  17860. // Describe a Spot Instance request.
  17861. type SpotInstanceRequest struct {
  17862. // The Availability Zone group. If you specify the same Availability Zone group
  17863. // for all Spot Instance requests, all Spot Instances are launched in the same
  17864. // Availability Zone.
  17865. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  17866. // The date and time when the Spot Instance request was created, in UTC format
  17867. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  17868. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  17869. // The fault codes for the Spot Instance request, if any.
  17870. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  17871. // The instance ID, if an instance has been launched to fulfill the Spot Instance
  17872. // request.
  17873. InstanceId *string `locationName:"instanceId" type:"string"`
  17874. // The instance launch group. Launch groups are Spot Instances that launch together
  17875. // and terminate together.
  17876. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  17877. // Additional information for launching instances.
  17878. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  17879. // The Availability Zone in which the bid is launched.
  17880. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  17881. // The product description associated with the Spot Instance.
  17882. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  17883. // The ID of the Spot Instance request.
  17884. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  17885. // The maximum hourly price (bid) for any Spot Instance launched to fulfill
  17886. // the request.
  17887. SpotPrice *string `locationName:"spotPrice" type:"string"`
  17888. // The state of the Spot Instance request. Spot bid status information can help
  17889. // you track your Spot Instance requests. For more information, see Spot Bid
  17890. // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  17891. // in the Amazon Elastic Compute Cloud User Guide.
  17892. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  17893. // The status code and status message describing the Spot Instance request.
  17894. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  17895. // Any tags assigned to the resource.
  17896. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  17897. // The Spot Instance request type.
  17898. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  17899. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  17900. // If this is a one-time request, the request becomes active at this date and
  17901. // time and remains active until all instances launch, the request expires,
  17902. // or the request is canceled. If the request is persistent, the request becomes
  17903. // active at this date and time and remains active until it expires or is canceled.
  17904. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  17905. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  17906. // If this is a one-time request, the request remains active until all instances
  17907. // launch, the request is canceled, or this date is reached. If the request
  17908. // is persistent, it remains active until it is canceled or this date is reached.
  17909. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  17910. metadataSpotInstanceRequest `json:"-" xml:"-"`
  17911. }
  17912. type metadataSpotInstanceRequest struct {
  17913. SDKShapeTraits bool `type:"structure"`
  17914. }
  17915. // String returns the string representation
  17916. func (s SpotInstanceRequest) String() string {
  17917. return awsutil.Prettify(s)
  17918. }
  17919. // GoString returns the string representation
  17920. func (s SpotInstanceRequest) GoString() string {
  17921. return s.String()
  17922. }
  17923. // Describes a Spot Instance state change.
  17924. type SpotInstanceStateFault struct {
  17925. // The reason code for the Spot Instance state change.
  17926. Code *string `locationName:"code" type:"string"`
  17927. // The message for the Spot Instance state change.
  17928. Message *string `locationName:"message" type:"string"`
  17929. metadataSpotInstanceStateFault `json:"-" xml:"-"`
  17930. }
  17931. type metadataSpotInstanceStateFault struct {
  17932. SDKShapeTraits bool `type:"structure"`
  17933. }
  17934. // String returns the string representation
  17935. func (s SpotInstanceStateFault) String() string {
  17936. return awsutil.Prettify(s)
  17937. }
  17938. // GoString returns the string representation
  17939. func (s SpotInstanceStateFault) GoString() string {
  17940. return s.String()
  17941. }
  17942. // Describes the status of a Spot Instance request.
  17943. type SpotInstanceStatus struct {
  17944. // The status code.
  17945. Code *string `locationName:"code" type:"string"`
  17946. // The description for the status code.
  17947. Message *string `locationName:"message" type:"string"`
  17948. // The date and time of the most recent status update, in UTC format (for example,
  17949. // YYYY-MM-DDTHH:MM:SSZ).
  17950. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  17951. metadataSpotInstanceStatus `json:"-" xml:"-"`
  17952. }
  17953. type metadataSpotInstanceStatus struct {
  17954. SDKShapeTraits bool `type:"structure"`
  17955. }
  17956. // String returns the string representation
  17957. func (s SpotInstanceStatus) String() string {
  17958. return awsutil.Prettify(s)
  17959. }
  17960. // GoString returns the string representation
  17961. func (s SpotInstanceStatus) GoString() string {
  17962. return s.String()
  17963. }
  17964. // Describes Spot Instance placement.
  17965. type SpotPlacement struct {
  17966. // The Availability Zone.
  17967. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  17968. // The name of the placement group (for cluster instances).
  17969. GroupName *string `locationName:"groupName" type:"string"`
  17970. metadataSpotPlacement `json:"-" xml:"-"`
  17971. }
  17972. type metadataSpotPlacement struct {
  17973. SDKShapeTraits bool `type:"structure"`
  17974. }
  17975. // String returns the string representation
  17976. func (s SpotPlacement) String() string {
  17977. return awsutil.Prettify(s)
  17978. }
  17979. // GoString returns the string representation
  17980. func (s SpotPlacement) GoString() string {
  17981. return s.String()
  17982. }
  17983. // Describes the maximum hourly price (bid) for any Spot Instance launched to
  17984. // fulfill the request.
  17985. type SpotPrice struct {
  17986. // The Availability Zone.
  17987. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  17988. // The instance type.
  17989. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  17990. // A general description of the AMI.
  17991. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  17992. // The maximum price (bid) that you are willing to pay for a Spot Instance.
  17993. SpotPrice *string `locationName:"spotPrice" type:"string"`
  17994. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  17995. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  17996. metadataSpotPrice `json:"-" xml:"-"`
  17997. }
  17998. type metadataSpotPrice struct {
  17999. SDKShapeTraits bool `type:"structure"`
  18000. }
  18001. // String returns the string representation
  18002. func (s SpotPrice) String() string {
  18003. return awsutil.Prettify(s)
  18004. }
  18005. // GoString returns the string representation
  18006. func (s SpotPrice) GoString() string {
  18007. return s.String()
  18008. }
  18009. type StartInstancesInput struct {
  18010. // Reserved.
  18011. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  18012. // Checks whether you have the required permissions for the action, without
  18013. // actually making the request, and provides an error response. If you have
  18014. // the required permissions, the error response is DryRunOperation. Otherwise,
  18015. // it is UnauthorizedOperation.
  18016. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18017. // One or more instance IDs.
  18018. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  18019. metadataStartInstancesInput `json:"-" xml:"-"`
  18020. }
  18021. type metadataStartInstancesInput struct {
  18022. SDKShapeTraits bool `type:"structure"`
  18023. }
  18024. // String returns the string representation
  18025. func (s StartInstancesInput) String() string {
  18026. return awsutil.Prettify(s)
  18027. }
  18028. // GoString returns the string representation
  18029. func (s StartInstancesInput) GoString() string {
  18030. return s.String()
  18031. }
  18032. type StartInstancesOutput struct {
  18033. // Information about one or more started instances.
  18034. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  18035. metadataStartInstancesOutput `json:"-" xml:"-"`
  18036. }
  18037. type metadataStartInstancesOutput struct {
  18038. SDKShapeTraits bool `type:"structure"`
  18039. }
  18040. // String returns the string representation
  18041. func (s StartInstancesOutput) String() string {
  18042. return awsutil.Prettify(s)
  18043. }
  18044. // GoString returns the string representation
  18045. func (s StartInstancesOutput) GoString() string {
  18046. return s.String()
  18047. }
  18048. // Describes a state change.
  18049. type StateReason struct {
  18050. // The reason code for the state change.
  18051. Code *string `locationName:"code" type:"string"`
  18052. // The message for the state change.
  18053. //
  18054. // Server.SpotInstanceTermination: A Spot Instance was terminated due to an
  18055. // increase in the market price.
  18056. //
  18057. // Server.InternalError: An internal error occurred during instance launch,
  18058. // resulting in termination.
  18059. //
  18060. // Server.InsufficientInstanceCapacity: There was insufficient instance capacity
  18061. // to satisfy the launch request.
  18062. //
  18063. // Client.InternalError: A client error caused the instance to terminate on
  18064. // launch.
  18065. //
  18066. // Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown
  18067. // -h command from the instance.
  18068. //
  18069. // Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  18070. // EC2 API.
  18071. //
  18072. // Client.VolumeLimitExceeded: The volume limit was exceeded.
  18073. //
  18074. // Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  18075. Message *string `locationName:"message" type:"string"`
  18076. metadataStateReason `json:"-" xml:"-"`
  18077. }
  18078. type metadataStateReason struct {
  18079. SDKShapeTraits bool `type:"structure"`
  18080. }
  18081. // String returns the string representation
  18082. func (s StateReason) String() string {
  18083. return awsutil.Prettify(s)
  18084. }
  18085. // GoString returns the string representation
  18086. func (s StateReason) GoString() string {
  18087. return s.String()
  18088. }
  18089. type StopInstancesInput struct {
  18090. // Checks whether you have the required permissions for the action, without
  18091. // actually making the request, and provides an error response. If you have
  18092. // the required permissions, the error response is DryRunOperation. Otherwise,
  18093. // it is UnauthorizedOperation.
  18094. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18095. // Forces the instances to stop. The instances do not have an opportunity to
  18096. // flush file system caches or file system metadata. If you use this option,
  18097. // you must perform file system check and repair procedures. This option is
  18098. // not recommended for Windows instances.
  18099. //
  18100. // Default: false
  18101. Force *bool `locationName:"force" type:"boolean"`
  18102. // One or more instance IDs.
  18103. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  18104. metadataStopInstancesInput `json:"-" xml:"-"`
  18105. }
  18106. type metadataStopInstancesInput struct {
  18107. SDKShapeTraits bool `type:"structure"`
  18108. }
  18109. // String returns the string representation
  18110. func (s StopInstancesInput) String() string {
  18111. return awsutil.Prettify(s)
  18112. }
  18113. // GoString returns the string representation
  18114. func (s StopInstancesInput) GoString() string {
  18115. return s.String()
  18116. }
  18117. type StopInstancesOutput struct {
  18118. // Information about one or more stopped instances.
  18119. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  18120. metadataStopInstancesOutput `json:"-" xml:"-"`
  18121. }
  18122. type metadataStopInstancesOutput struct {
  18123. SDKShapeTraits bool `type:"structure"`
  18124. }
  18125. // String returns the string representation
  18126. func (s StopInstancesOutput) String() string {
  18127. return awsutil.Prettify(s)
  18128. }
  18129. // GoString returns the string representation
  18130. func (s StopInstancesOutput) GoString() string {
  18131. return s.String()
  18132. }
  18133. // Describes the storage location for an instance store-backed AMI.
  18134. type Storage struct {
  18135. // An Amazon S3 storage location.
  18136. S3 *S3Storage `type:"structure"`
  18137. metadataStorage `json:"-" xml:"-"`
  18138. }
  18139. type metadataStorage struct {
  18140. SDKShapeTraits bool `type:"structure"`
  18141. }
  18142. // String returns the string representation
  18143. func (s Storage) String() string {
  18144. return awsutil.Prettify(s)
  18145. }
  18146. // GoString returns the string representation
  18147. func (s Storage) GoString() string {
  18148. return s.String()
  18149. }
  18150. // Describes a subnet.
  18151. type Subnet struct {
  18152. // The Availability Zone of the subnet.
  18153. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  18154. // The number of unused IP addresses in the subnet. Note that the IP addresses
  18155. // for any stopped instances are considered unavailable.
  18156. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  18157. // The CIDR block assigned to the subnet.
  18158. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  18159. // Indicates whether this is the default subnet for the Availability Zone.
  18160. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  18161. // Indicates whether instances launched in this subnet receive a public IP address.
  18162. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  18163. // The current state of the subnet.
  18164. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  18165. // The ID of the subnet.
  18166. SubnetId *string `locationName:"subnetId" type:"string"`
  18167. // Any tags assigned to the subnet.
  18168. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18169. // The ID of the VPC the subnet is in.
  18170. VpcId *string `locationName:"vpcId" type:"string"`
  18171. metadataSubnet `json:"-" xml:"-"`
  18172. }
  18173. type metadataSubnet struct {
  18174. SDKShapeTraits bool `type:"structure"`
  18175. }
  18176. // String returns the string representation
  18177. func (s Subnet) String() string {
  18178. return awsutil.Prettify(s)
  18179. }
  18180. // GoString returns the string representation
  18181. func (s Subnet) GoString() string {
  18182. return s.String()
  18183. }
  18184. // Describes a tag.
  18185. type Tag struct {
  18186. // The key of the tag.
  18187. //
  18188. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  18189. // characters. May not begin with aws:
  18190. Key *string `locationName:"key" type:"string"`
  18191. // The value of the tag.
  18192. //
  18193. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  18194. // characters.
  18195. Value *string `locationName:"value" type:"string"`
  18196. metadataTag `json:"-" xml:"-"`
  18197. }
  18198. type metadataTag struct {
  18199. SDKShapeTraits bool `type:"structure"`
  18200. }
  18201. // String returns the string representation
  18202. func (s Tag) String() string {
  18203. return awsutil.Prettify(s)
  18204. }
  18205. // GoString returns the string representation
  18206. func (s Tag) GoString() string {
  18207. return s.String()
  18208. }
  18209. // Describes a tag.
  18210. type TagDescription struct {
  18211. // The tag key.
  18212. Key *string `locationName:"key" type:"string"`
  18213. // The ID of the resource. For example, ami-1a2b3c4d.
  18214. ResourceId *string `locationName:"resourceId" type:"string"`
  18215. // The resource type.
  18216. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  18217. // The tag value.
  18218. Value *string `locationName:"value" type:"string"`
  18219. metadataTagDescription `json:"-" xml:"-"`
  18220. }
  18221. type metadataTagDescription struct {
  18222. SDKShapeTraits bool `type:"structure"`
  18223. }
  18224. // String returns the string representation
  18225. func (s TagDescription) String() string {
  18226. return awsutil.Prettify(s)
  18227. }
  18228. // GoString returns the string representation
  18229. func (s TagDescription) GoString() string {
  18230. return s.String()
  18231. }
  18232. type TerminateInstancesInput struct {
  18233. // Checks whether you have the required permissions for the action, without
  18234. // actually making the request, and provides an error response. If you have
  18235. // the required permissions, the error response is DryRunOperation. Otherwise,
  18236. // it is UnauthorizedOperation.
  18237. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18238. // One or more instance IDs.
  18239. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  18240. metadataTerminateInstancesInput `json:"-" xml:"-"`
  18241. }
  18242. type metadataTerminateInstancesInput struct {
  18243. SDKShapeTraits bool `type:"structure"`
  18244. }
  18245. // String returns the string representation
  18246. func (s TerminateInstancesInput) String() string {
  18247. return awsutil.Prettify(s)
  18248. }
  18249. // GoString returns the string representation
  18250. func (s TerminateInstancesInput) GoString() string {
  18251. return s.String()
  18252. }
  18253. type TerminateInstancesOutput struct {
  18254. // Information about one or more terminated instances.
  18255. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  18256. metadataTerminateInstancesOutput `json:"-" xml:"-"`
  18257. }
  18258. type metadataTerminateInstancesOutput struct {
  18259. SDKShapeTraits bool `type:"structure"`
  18260. }
  18261. // String returns the string representation
  18262. func (s TerminateInstancesOutput) String() string {
  18263. return awsutil.Prettify(s)
  18264. }
  18265. // GoString returns the string representation
  18266. func (s TerminateInstancesOutput) GoString() string {
  18267. return s.String()
  18268. }
  18269. type UnassignPrivateIpAddressesInput struct {
  18270. // The ID of the network interface.
  18271. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  18272. // The secondary private IP addresses to unassign from the network interface.
  18273. // You can specify this option multiple times to unassign more than one IP address.
  18274. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  18275. metadataUnassignPrivateIpAddressesInput `json:"-" xml:"-"`
  18276. }
  18277. type metadataUnassignPrivateIpAddressesInput struct {
  18278. SDKShapeTraits bool `type:"structure"`
  18279. }
  18280. // String returns the string representation
  18281. func (s UnassignPrivateIpAddressesInput) String() string {
  18282. return awsutil.Prettify(s)
  18283. }
  18284. // GoString returns the string representation
  18285. func (s UnassignPrivateIpAddressesInput) GoString() string {
  18286. return s.String()
  18287. }
  18288. type UnassignPrivateIpAddressesOutput struct {
  18289. metadataUnassignPrivateIpAddressesOutput `json:"-" xml:"-"`
  18290. }
  18291. type metadataUnassignPrivateIpAddressesOutput struct {
  18292. SDKShapeTraits bool `type:"structure"`
  18293. }
  18294. // String returns the string representation
  18295. func (s UnassignPrivateIpAddressesOutput) String() string {
  18296. return awsutil.Prettify(s)
  18297. }
  18298. // GoString returns the string representation
  18299. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  18300. return s.String()
  18301. }
  18302. type UnmonitorInstancesInput struct {
  18303. // Checks whether you have the required permissions for the action, without
  18304. // actually making the request, and provides an error response. If you have
  18305. // the required permissions, the error response is DryRunOperation. Otherwise,
  18306. // it is UnauthorizedOperation.
  18307. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18308. // One or more instance IDs.
  18309. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  18310. metadataUnmonitorInstancesInput `json:"-" xml:"-"`
  18311. }
  18312. type metadataUnmonitorInstancesInput struct {
  18313. SDKShapeTraits bool `type:"structure"`
  18314. }
  18315. // String returns the string representation
  18316. func (s UnmonitorInstancesInput) String() string {
  18317. return awsutil.Prettify(s)
  18318. }
  18319. // GoString returns the string representation
  18320. func (s UnmonitorInstancesInput) GoString() string {
  18321. return s.String()
  18322. }
  18323. type UnmonitorInstancesOutput struct {
  18324. // Monitoring information for one or more instances.
  18325. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  18326. metadataUnmonitorInstancesOutput `json:"-" xml:"-"`
  18327. }
  18328. type metadataUnmonitorInstancesOutput struct {
  18329. SDKShapeTraits bool `type:"structure"`
  18330. }
  18331. // String returns the string representation
  18332. func (s UnmonitorInstancesOutput) String() string {
  18333. return awsutil.Prettify(s)
  18334. }
  18335. // GoString returns the string representation
  18336. func (s UnmonitorInstancesOutput) GoString() string {
  18337. return s.String()
  18338. }
  18339. // Information about items that were not successfully processed in a batch call.
  18340. type UnsuccessfulItem struct {
  18341. // Information about the error.
  18342. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  18343. // The ID of the resource.
  18344. ResourceId *string `locationName:"resourceId" type:"string"`
  18345. metadataUnsuccessfulItem `json:"-" xml:"-"`
  18346. }
  18347. type metadataUnsuccessfulItem struct {
  18348. SDKShapeTraits bool `type:"structure"`
  18349. }
  18350. // String returns the string representation
  18351. func (s UnsuccessfulItem) String() string {
  18352. return awsutil.Prettify(s)
  18353. }
  18354. // GoString returns the string representation
  18355. func (s UnsuccessfulItem) GoString() string {
  18356. return s.String()
  18357. }
  18358. // Information about the error that occurred. For more information about errors,
  18359. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  18360. type UnsuccessfulItemError struct {
  18361. // The error code.
  18362. Code *string `locationName:"code" type:"string" required:"true"`
  18363. // The error message accompanying the error code.
  18364. Message *string `locationName:"message" type:"string" required:"true"`
  18365. metadataUnsuccessfulItemError `json:"-" xml:"-"`
  18366. }
  18367. type metadataUnsuccessfulItemError struct {
  18368. SDKShapeTraits bool `type:"structure"`
  18369. }
  18370. // String returns the string representation
  18371. func (s UnsuccessfulItemError) String() string {
  18372. return awsutil.Prettify(s)
  18373. }
  18374. // GoString returns the string representation
  18375. func (s UnsuccessfulItemError) GoString() string {
  18376. return s.String()
  18377. }
  18378. // Describes the S3 bucket for the disk image.
  18379. type UserBucket struct {
  18380. // The name of the S3 bucket where the disk image is located.
  18381. S3Bucket *string `type:"string"`
  18382. // The key for the disk image.
  18383. S3Key *string `type:"string"`
  18384. metadataUserBucket `json:"-" xml:"-"`
  18385. }
  18386. type metadataUserBucket struct {
  18387. SDKShapeTraits bool `type:"structure"`
  18388. }
  18389. // String returns the string representation
  18390. func (s UserBucket) String() string {
  18391. return awsutil.Prettify(s)
  18392. }
  18393. // GoString returns the string representation
  18394. func (s UserBucket) GoString() string {
  18395. return s.String()
  18396. }
  18397. // Describes the S3 bucket for the disk image.
  18398. type UserBucketDetails struct {
  18399. // The S3 bucket from which the disk image was created.
  18400. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  18401. // The key from which the disk image was created.
  18402. S3Key *string `locationName:"s3Key" type:"string"`
  18403. metadataUserBucketDetails `json:"-" xml:"-"`
  18404. }
  18405. type metadataUserBucketDetails struct {
  18406. SDKShapeTraits bool `type:"structure"`
  18407. }
  18408. // String returns the string representation
  18409. func (s UserBucketDetails) String() string {
  18410. return awsutil.Prettify(s)
  18411. }
  18412. // GoString returns the string representation
  18413. func (s UserBucketDetails) GoString() string {
  18414. return s.String()
  18415. }
  18416. // Describes the user data to be made available to an instance.
  18417. type UserData struct {
  18418. // The Base64-encoded MIME user data for the instance.
  18419. Data *string `locationName:"data" type:"string"`
  18420. metadataUserData `json:"-" xml:"-"`
  18421. }
  18422. type metadataUserData struct {
  18423. SDKShapeTraits bool `type:"structure"`
  18424. }
  18425. // String returns the string representation
  18426. func (s UserData) String() string {
  18427. return awsutil.Prettify(s)
  18428. }
  18429. // GoString returns the string representation
  18430. func (s UserData) GoString() string {
  18431. return s.String()
  18432. }
  18433. // Describes a security group and AWS account ID pair.
  18434. type UserIdGroupPair struct {
  18435. // The ID of the security group.
  18436. GroupId *string `locationName:"groupId" type:"string"`
  18437. // The name of the security group. In a request, use this parameter for a security
  18438. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  18439. // VPC, use GroupId.
  18440. GroupName *string `locationName:"groupName" type:"string"`
  18441. // The ID of an AWS account. EC2-Classic only.
  18442. UserId *string `locationName:"userId" type:"string"`
  18443. metadataUserIdGroupPair `json:"-" xml:"-"`
  18444. }
  18445. type metadataUserIdGroupPair struct {
  18446. SDKShapeTraits bool `type:"structure"`
  18447. }
  18448. // String returns the string representation
  18449. func (s UserIdGroupPair) String() string {
  18450. return awsutil.Prettify(s)
  18451. }
  18452. // GoString returns the string representation
  18453. func (s UserIdGroupPair) GoString() string {
  18454. return s.String()
  18455. }
  18456. // Describes telemetry for a VPN tunnel.
  18457. type VgwTelemetry struct {
  18458. // The number of accepted routes.
  18459. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  18460. // The date and time of the last change in status.
  18461. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  18462. // The Internet-routable IP address of the virtual private gateway's outside
  18463. // interface.
  18464. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  18465. // The status of the VPN tunnel.
  18466. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  18467. // If an error occurs, a description of the error.
  18468. StatusMessage *string `locationName:"statusMessage" type:"string"`
  18469. metadataVgwTelemetry `json:"-" xml:"-"`
  18470. }
  18471. type metadataVgwTelemetry struct {
  18472. SDKShapeTraits bool `type:"structure"`
  18473. }
  18474. // String returns the string representation
  18475. func (s VgwTelemetry) String() string {
  18476. return awsutil.Prettify(s)
  18477. }
  18478. // GoString returns the string representation
  18479. func (s VgwTelemetry) GoString() string {
  18480. return s.String()
  18481. }
  18482. // Describes a volume.
  18483. type Volume struct {
  18484. // Information about the volume attachments.
  18485. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  18486. // The Availability Zone for the volume.
  18487. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  18488. // The time stamp when volume creation was initiated.
  18489. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  18490. // Indicates whether the volume will be encrypted.
  18491. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  18492. // The number of I/O operations per second (IOPS) that the volume supports.
  18493. // For Provisioned IOPS (SSD) volumes, this represents the number of IOPS that
  18494. // are provisioned for the volume. For General Purpose (SSD) volumes, this represents
  18495. // the baseline performance of the volume and the rate at which the volume accumulates
  18496. // I/O credits for bursting. For more information on General Purpose (SSD) baseline
  18497. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  18498. // in the Amazon Elastic Compute Cloud User Guide.
  18499. //
  18500. // Constraint: Range is 100 to 20000 for Provisioned IOPS (SSD) volumes and
  18501. // 3 to 10000 for General Purpose (SSD) volumes.
  18502. //
  18503. // Condition: This parameter is required for requests to create io1 volumes;
  18504. // it is not used in requests to create standard or gp2 volumes.
  18505. Iops *int64 `locationName:"iops" type:"integer"`
  18506. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  18507. // key (CMK) that was used to protect the volume encryption key for the volume.
  18508. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  18509. // The size of the volume, in GiBs.
  18510. Size *int64 `locationName:"size" type:"integer"`
  18511. // The snapshot from which the volume was created, if applicable.
  18512. SnapshotId *string `locationName:"snapshotId" type:"string"`
  18513. // The volume state.
  18514. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  18515. // Any tags assigned to the volume.
  18516. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18517. // The ID of the volume.
  18518. VolumeId *string `locationName:"volumeId" type:"string"`
  18519. // The volume type. This can be gp2 for General Purpose (SSD) volumes, io1 for
  18520. // Provisioned IOPS (SSD) volumes, or standard for Magnetic volumes.
  18521. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  18522. metadataVolume `json:"-" xml:"-"`
  18523. }
  18524. type metadataVolume struct {
  18525. SDKShapeTraits bool `type:"structure"`
  18526. }
  18527. // String returns the string representation
  18528. func (s Volume) String() string {
  18529. return awsutil.Prettify(s)
  18530. }
  18531. // GoString returns the string representation
  18532. func (s Volume) GoString() string {
  18533. return s.String()
  18534. }
  18535. // Describes volume attachment details.
  18536. type VolumeAttachment struct {
  18537. // The time stamp when the attachment initiated.
  18538. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  18539. // Indicates whether the EBS volume is deleted on instance termination.
  18540. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  18541. // The device name.
  18542. Device *string `locationName:"device" type:"string"`
  18543. // The ID of the instance.
  18544. InstanceId *string `locationName:"instanceId" type:"string"`
  18545. // The attachment state of the volume.
  18546. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  18547. // The ID of the volume.
  18548. VolumeId *string `locationName:"volumeId" type:"string"`
  18549. metadataVolumeAttachment `json:"-" xml:"-"`
  18550. }
  18551. type metadataVolumeAttachment struct {
  18552. SDKShapeTraits bool `type:"structure"`
  18553. }
  18554. // String returns the string representation
  18555. func (s VolumeAttachment) String() string {
  18556. return awsutil.Prettify(s)
  18557. }
  18558. // GoString returns the string representation
  18559. func (s VolumeAttachment) GoString() string {
  18560. return s.String()
  18561. }
  18562. // Describes an EBS volume.
  18563. type VolumeDetail struct {
  18564. // The size of the volume, in GiB.
  18565. Size *int64 `locationName:"size" type:"long" required:"true"`
  18566. metadataVolumeDetail `json:"-" xml:"-"`
  18567. }
  18568. type metadataVolumeDetail struct {
  18569. SDKShapeTraits bool `type:"structure"`
  18570. }
  18571. // String returns the string representation
  18572. func (s VolumeDetail) String() string {
  18573. return awsutil.Prettify(s)
  18574. }
  18575. // GoString returns the string representation
  18576. func (s VolumeDetail) GoString() string {
  18577. return s.String()
  18578. }
  18579. // Describes a volume status operation code.
  18580. type VolumeStatusAction struct {
  18581. // The code identifying the operation, for example, enable-volume-io.
  18582. Code *string `locationName:"code" type:"string"`
  18583. // A description of the operation.
  18584. Description *string `locationName:"description" type:"string"`
  18585. // The ID of the event associated with this operation.
  18586. EventId *string `locationName:"eventId" type:"string"`
  18587. // The event type associated with this operation.
  18588. EventType *string `locationName:"eventType" type:"string"`
  18589. metadataVolumeStatusAction `json:"-" xml:"-"`
  18590. }
  18591. type metadataVolumeStatusAction struct {
  18592. SDKShapeTraits bool `type:"structure"`
  18593. }
  18594. // String returns the string representation
  18595. func (s VolumeStatusAction) String() string {
  18596. return awsutil.Prettify(s)
  18597. }
  18598. // GoString returns the string representation
  18599. func (s VolumeStatusAction) GoString() string {
  18600. return s.String()
  18601. }
  18602. // Describes a volume status.
  18603. type VolumeStatusDetails struct {
  18604. // The name of the volume status.
  18605. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  18606. // The intended status of the volume status.
  18607. Status *string `locationName:"status" type:"string"`
  18608. metadataVolumeStatusDetails `json:"-" xml:"-"`
  18609. }
  18610. type metadataVolumeStatusDetails struct {
  18611. SDKShapeTraits bool `type:"structure"`
  18612. }
  18613. // String returns the string representation
  18614. func (s VolumeStatusDetails) String() string {
  18615. return awsutil.Prettify(s)
  18616. }
  18617. // GoString returns the string representation
  18618. func (s VolumeStatusDetails) GoString() string {
  18619. return s.String()
  18620. }
  18621. // Describes a volume status event.
  18622. type VolumeStatusEvent struct {
  18623. // A description of the event.
  18624. Description *string `locationName:"description" type:"string"`
  18625. // The ID of this event.
  18626. EventId *string `locationName:"eventId" type:"string"`
  18627. // The type of this event.
  18628. EventType *string `locationName:"eventType" type:"string"`
  18629. // The latest end time of the event.
  18630. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  18631. // The earliest start time of the event.
  18632. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  18633. metadataVolumeStatusEvent `json:"-" xml:"-"`
  18634. }
  18635. type metadataVolumeStatusEvent struct {
  18636. SDKShapeTraits bool `type:"structure"`
  18637. }
  18638. // String returns the string representation
  18639. func (s VolumeStatusEvent) String() string {
  18640. return awsutil.Prettify(s)
  18641. }
  18642. // GoString returns the string representation
  18643. func (s VolumeStatusEvent) GoString() string {
  18644. return s.String()
  18645. }
  18646. // Describes the status of a volume.
  18647. type VolumeStatusInfo struct {
  18648. // The details of the volume status.
  18649. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  18650. // The status of the volume.
  18651. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  18652. metadataVolumeStatusInfo `json:"-" xml:"-"`
  18653. }
  18654. type metadataVolumeStatusInfo struct {
  18655. SDKShapeTraits bool `type:"structure"`
  18656. }
  18657. // String returns the string representation
  18658. func (s VolumeStatusInfo) String() string {
  18659. return awsutil.Prettify(s)
  18660. }
  18661. // GoString returns the string representation
  18662. func (s VolumeStatusInfo) GoString() string {
  18663. return s.String()
  18664. }
  18665. // Describes the volume status.
  18666. type VolumeStatusItem struct {
  18667. // The details of the operation.
  18668. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  18669. // The Availability Zone of the volume.
  18670. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  18671. // A list of events associated with the volume.
  18672. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  18673. // The volume ID.
  18674. VolumeId *string `locationName:"volumeId" type:"string"`
  18675. // The volume status.
  18676. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  18677. metadataVolumeStatusItem `json:"-" xml:"-"`
  18678. }
  18679. type metadataVolumeStatusItem struct {
  18680. SDKShapeTraits bool `type:"structure"`
  18681. }
  18682. // String returns the string representation
  18683. func (s VolumeStatusItem) String() string {
  18684. return awsutil.Prettify(s)
  18685. }
  18686. // GoString returns the string representation
  18687. func (s VolumeStatusItem) GoString() string {
  18688. return s.String()
  18689. }
  18690. // Describes a VPC.
  18691. type Vpc struct {
  18692. // The CIDR block for the VPC.
  18693. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  18694. // The ID of the set of DHCP options you've associated with the VPC (or default
  18695. // if the default options are associated with the VPC).
  18696. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  18697. // The allowed tenancy of instances launched into the VPC.
  18698. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  18699. // Indicates whether the VPC is the default VPC.
  18700. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  18701. // The current state of the VPC.
  18702. State *string `locationName:"state" type:"string" enum:"VpcState"`
  18703. // Any tags assigned to the VPC.
  18704. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18705. // The ID of the VPC.
  18706. VpcId *string `locationName:"vpcId" type:"string"`
  18707. metadataVpc `json:"-" xml:"-"`
  18708. }
  18709. type metadataVpc struct {
  18710. SDKShapeTraits bool `type:"structure"`
  18711. }
  18712. // String returns the string representation
  18713. func (s Vpc) String() string {
  18714. return awsutil.Prettify(s)
  18715. }
  18716. // GoString returns the string representation
  18717. func (s Vpc) GoString() string {
  18718. return s.String()
  18719. }
  18720. // Describes an attachment between a virtual private gateway and a VPC.
  18721. type VpcAttachment struct {
  18722. // The current state of the attachment.
  18723. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  18724. // The ID of the VPC.
  18725. VpcId *string `locationName:"vpcId" type:"string"`
  18726. metadataVpcAttachment `json:"-" xml:"-"`
  18727. }
  18728. type metadataVpcAttachment struct {
  18729. SDKShapeTraits bool `type:"structure"`
  18730. }
  18731. // String returns the string representation
  18732. func (s VpcAttachment) String() string {
  18733. return awsutil.Prettify(s)
  18734. }
  18735. // GoString returns the string representation
  18736. func (s VpcAttachment) GoString() string {
  18737. return s.String()
  18738. }
  18739. // Describes whether a VPC is enabled for ClassicLink.
  18740. type VpcClassicLink struct {
  18741. // Indicates whether the VPC is enabled for ClassicLink.
  18742. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  18743. // Any tags assigned to the VPC.
  18744. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18745. // The ID of the VPC.
  18746. VpcId *string `locationName:"vpcId" type:"string"`
  18747. metadataVpcClassicLink `json:"-" xml:"-"`
  18748. }
  18749. type metadataVpcClassicLink struct {
  18750. SDKShapeTraits bool `type:"structure"`
  18751. }
  18752. // String returns the string representation
  18753. func (s VpcClassicLink) String() string {
  18754. return awsutil.Prettify(s)
  18755. }
  18756. // GoString returns the string representation
  18757. func (s VpcClassicLink) GoString() string {
  18758. return s.String()
  18759. }
  18760. // Describes a VPC endpoint.
  18761. type VpcEndpoint struct {
  18762. // The date and time the VPC endpoint was created.
  18763. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  18764. // The policy document associated with the endpoint.
  18765. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  18766. // One or more route tables associated with the endpoint.
  18767. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  18768. // The name of the AWS service to which the endpoint is associated.
  18769. ServiceName *string `locationName:"serviceName" type:"string"`
  18770. // The state of the VPC endpoint.
  18771. State *string `locationName:"state" type:"string" enum:"State"`
  18772. // The ID of the VPC endpoint.
  18773. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  18774. // The ID of the VPC to which the endpoint is associated.
  18775. VpcId *string `locationName:"vpcId" type:"string"`
  18776. metadataVpcEndpoint `json:"-" xml:"-"`
  18777. }
  18778. type metadataVpcEndpoint struct {
  18779. SDKShapeTraits bool `type:"structure"`
  18780. }
  18781. // String returns the string representation
  18782. func (s VpcEndpoint) String() string {
  18783. return awsutil.Prettify(s)
  18784. }
  18785. // GoString returns the string representation
  18786. func (s VpcEndpoint) GoString() string {
  18787. return s.String()
  18788. }
  18789. // Describes a VPC peering connection.
  18790. type VpcPeeringConnection struct {
  18791. // The information of the peer VPC.
  18792. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  18793. // The time that an unaccepted VPC peering connection will expire.
  18794. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  18795. // The information of the requester VPC.
  18796. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  18797. // The status of the VPC peering connection.
  18798. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  18799. // Any tags assigned to the resource.
  18800. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18801. // The ID of the VPC peering connection.
  18802. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  18803. metadataVpcPeeringConnection `json:"-" xml:"-"`
  18804. }
  18805. type metadataVpcPeeringConnection struct {
  18806. SDKShapeTraits bool `type:"structure"`
  18807. }
  18808. // String returns the string representation
  18809. func (s VpcPeeringConnection) String() string {
  18810. return awsutil.Prettify(s)
  18811. }
  18812. // GoString returns the string representation
  18813. func (s VpcPeeringConnection) GoString() string {
  18814. return s.String()
  18815. }
  18816. // Describes the status of a VPC peering connection.
  18817. type VpcPeeringConnectionStateReason struct {
  18818. // The status of the VPC peering connection.
  18819. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  18820. // A message that provides more information about the status, if applicable.
  18821. Message *string `locationName:"message" type:"string"`
  18822. metadataVpcPeeringConnectionStateReason `json:"-" xml:"-"`
  18823. }
  18824. type metadataVpcPeeringConnectionStateReason struct {
  18825. SDKShapeTraits bool `type:"structure"`
  18826. }
  18827. // String returns the string representation
  18828. func (s VpcPeeringConnectionStateReason) String() string {
  18829. return awsutil.Prettify(s)
  18830. }
  18831. // GoString returns the string representation
  18832. func (s VpcPeeringConnectionStateReason) GoString() string {
  18833. return s.String()
  18834. }
  18835. // Describes a VPC in a VPC peering connection.
  18836. type VpcPeeringConnectionVpcInfo struct {
  18837. // The CIDR block for the VPC.
  18838. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  18839. // The AWS account ID of the VPC owner.
  18840. OwnerId *string `locationName:"ownerId" type:"string"`
  18841. // The ID of the VPC.
  18842. VpcId *string `locationName:"vpcId" type:"string"`
  18843. metadataVpcPeeringConnectionVpcInfo `json:"-" xml:"-"`
  18844. }
  18845. type metadataVpcPeeringConnectionVpcInfo struct {
  18846. SDKShapeTraits bool `type:"structure"`
  18847. }
  18848. // String returns the string representation
  18849. func (s VpcPeeringConnectionVpcInfo) String() string {
  18850. return awsutil.Prettify(s)
  18851. }
  18852. // GoString returns the string representation
  18853. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  18854. return s.String()
  18855. }
  18856. // Describes a VPN connection.
  18857. type VpnConnection struct {
  18858. // The configuration information for the VPN connection's customer gateway (in
  18859. // the native XML format). This element is always present in the CreateVpnConnection
  18860. // response; however, it's present in the DescribeVpnConnections response only
  18861. // if the VPN connection is in the pending or available state.
  18862. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  18863. // The ID of the customer gateway at your end of the VPN connection.
  18864. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  18865. // The VPN connection options.
  18866. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  18867. // The static routes associated with the VPN connection.
  18868. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  18869. // The current state of the VPN connection.
  18870. State *string `locationName:"state" type:"string" enum:"VpnState"`
  18871. // Any tags assigned to the VPN connection.
  18872. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18873. // The type of VPN connection.
  18874. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  18875. // Information about the VPN tunnel.
  18876. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  18877. // The ID of the VPN connection.
  18878. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  18879. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  18880. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  18881. metadataVpnConnection `json:"-" xml:"-"`
  18882. }
  18883. type metadataVpnConnection struct {
  18884. SDKShapeTraits bool `type:"structure"`
  18885. }
  18886. // String returns the string representation
  18887. func (s VpnConnection) String() string {
  18888. return awsutil.Prettify(s)
  18889. }
  18890. // GoString returns the string representation
  18891. func (s VpnConnection) GoString() string {
  18892. return s.String()
  18893. }
  18894. // Describes VPN connection options.
  18895. type VpnConnectionOptions struct {
  18896. // Indicates whether the VPN connection uses static routes only. Static routes
  18897. // must be used for devices that don't support BGP.
  18898. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  18899. metadataVpnConnectionOptions `json:"-" xml:"-"`
  18900. }
  18901. type metadataVpnConnectionOptions struct {
  18902. SDKShapeTraits bool `type:"structure"`
  18903. }
  18904. // String returns the string representation
  18905. func (s VpnConnectionOptions) String() string {
  18906. return awsutil.Prettify(s)
  18907. }
  18908. // GoString returns the string representation
  18909. func (s VpnConnectionOptions) GoString() string {
  18910. return s.String()
  18911. }
  18912. // Describes VPN connection options.
  18913. type VpnConnectionOptionsSpecification struct {
  18914. // Indicates whether the VPN connection uses static routes only. Static routes
  18915. // must be used for devices that don't support BGP.
  18916. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  18917. metadataVpnConnectionOptionsSpecification `json:"-" xml:"-"`
  18918. }
  18919. type metadataVpnConnectionOptionsSpecification struct {
  18920. SDKShapeTraits bool `type:"structure"`
  18921. }
  18922. // String returns the string representation
  18923. func (s VpnConnectionOptionsSpecification) String() string {
  18924. return awsutil.Prettify(s)
  18925. }
  18926. // GoString returns the string representation
  18927. func (s VpnConnectionOptionsSpecification) GoString() string {
  18928. return s.String()
  18929. }
  18930. // Describes a virtual private gateway.
  18931. type VpnGateway struct {
  18932. // The Availability Zone where the virtual private gateway was created.
  18933. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  18934. // The current state of the virtual private gateway.
  18935. State *string `locationName:"state" type:"string" enum:"VpnState"`
  18936. // Any tags assigned to the virtual private gateway.
  18937. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  18938. // The type of VPN connection the virtual private gateway supports.
  18939. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  18940. // Any VPCs attached to the virtual private gateway.
  18941. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  18942. // The ID of the virtual private gateway.
  18943. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  18944. metadataVpnGateway `json:"-" xml:"-"`
  18945. }
  18946. type metadataVpnGateway struct {
  18947. SDKShapeTraits bool `type:"structure"`
  18948. }
  18949. // String returns the string representation
  18950. func (s VpnGateway) String() string {
  18951. return awsutil.Prettify(s)
  18952. }
  18953. // GoString returns the string representation
  18954. func (s VpnGateway) GoString() string {
  18955. return s.String()
  18956. }
  18957. // Describes a static route for a VPN connection.
  18958. type VpnStaticRoute struct {
  18959. // The CIDR block associated with the local subnet of the customer data center.
  18960. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  18961. // Indicates how the routes were provided.
  18962. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  18963. // The current state of the static route.
  18964. State *string `locationName:"state" type:"string" enum:"VpnState"`
  18965. metadataVpnStaticRoute `json:"-" xml:"-"`
  18966. }
  18967. type metadataVpnStaticRoute struct {
  18968. SDKShapeTraits bool `type:"structure"`
  18969. }
  18970. // String returns the string representation
  18971. func (s VpnStaticRoute) String() string {
  18972. return awsutil.Prettify(s)
  18973. }
  18974. // GoString returns the string representation
  18975. func (s VpnStaticRoute) GoString() string {
  18976. return s.String()
  18977. }
  18978. const (
  18979. // @enum AccountAttributeName
  18980. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  18981. // @enum AccountAttributeName
  18982. AccountAttributeNameDefaultVpc = "default-vpc"
  18983. )
  18984. const (
  18985. // @enum ArchitectureValues
  18986. ArchitectureValuesI386 = "i386"
  18987. // @enum ArchitectureValues
  18988. ArchitectureValuesX8664 = "x86_64"
  18989. )
  18990. const (
  18991. // @enum AttachmentStatus
  18992. AttachmentStatusAttaching = "attaching"
  18993. // @enum AttachmentStatus
  18994. AttachmentStatusAttached = "attached"
  18995. // @enum AttachmentStatus
  18996. AttachmentStatusDetaching = "detaching"
  18997. // @enum AttachmentStatus
  18998. AttachmentStatusDetached = "detached"
  18999. )
  19000. const (
  19001. // @enum AvailabilityZoneState
  19002. AvailabilityZoneStateAvailable = "available"
  19003. )
  19004. const (
  19005. // @enum BatchState
  19006. BatchStateSubmitted = "submitted"
  19007. // @enum BatchState
  19008. BatchStateActive = "active"
  19009. // @enum BatchState
  19010. BatchStateCancelled = "cancelled"
  19011. // @enum BatchState
  19012. BatchStateFailed = "failed"
  19013. // @enum BatchState
  19014. BatchStateCancelledRunning = "cancelled_running"
  19015. // @enum BatchState
  19016. BatchStateCancelledTerminating = "cancelled_terminating"
  19017. )
  19018. const (
  19019. // @enum BundleTaskState
  19020. BundleTaskStatePending = "pending"
  19021. // @enum BundleTaskState
  19022. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  19023. // @enum BundleTaskState
  19024. BundleTaskStateBundling = "bundling"
  19025. // @enum BundleTaskState
  19026. BundleTaskStateStoring = "storing"
  19027. // @enum BundleTaskState
  19028. BundleTaskStateCancelling = "cancelling"
  19029. // @enum BundleTaskState
  19030. BundleTaskStateComplete = "complete"
  19031. // @enum BundleTaskState
  19032. BundleTaskStateFailed = "failed"
  19033. )
  19034. const (
  19035. // @enum CancelBatchErrorCode
  19036. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  19037. // @enum CancelBatchErrorCode
  19038. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  19039. // @enum CancelBatchErrorCode
  19040. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  19041. // @enum CancelBatchErrorCode
  19042. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  19043. )
  19044. const (
  19045. // @enum CancelSpotInstanceRequestState
  19046. CancelSpotInstanceRequestStateActive = "active"
  19047. // @enum CancelSpotInstanceRequestState
  19048. CancelSpotInstanceRequestStateOpen = "open"
  19049. // @enum CancelSpotInstanceRequestState
  19050. CancelSpotInstanceRequestStateClosed = "closed"
  19051. // @enum CancelSpotInstanceRequestState
  19052. CancelSpotInstanceRequestStateCancelled = "cancelled"
  19053. // @enum CancelSpotInstanceRequestState
  19054. CancelSpotInstanceRequestStateCompleted = "completed"
  19055. )
  19056. const (
  19057. // @enum ContainerFormat
  19058. ContainerFormatOva = "ova"
  19059. )
  19060. const (
  19061. // @enum ConversionTaskState
  19062. ConversionTaskStateActive = "active"
  19063. // @enum ConversionTaskState
  19064. ConversionTaskStateCancelling = "cancelling"
  19065. // @enum ConversionTaskState
  19066. ConversionTaskStateCancelled = "cancelled"
  19067. // @enum ConversionTaskState
  19068. ConversionTaskStateCompleted = "completed"
  19069. )
  19070. const (
  19071. // @enum CurrencyCodeValues
  19072. CurrencyCodeValuesUsd = "USD"
  19073. )
  19074. const (
  19075. // @enum DatafeedSubscriptionState
  19076. DatafeedSubscriptionStateActive = "Active"
  19077. // @enum DatafeedSubscriptionState
  19078. DatafeedSubscriptionStateInactive = "Inactive"
  19079. )
  19080. const (
  19081. // @enum DeviceType
  19082. DeviceTypeEbs = "ebs"
  19083. // @enum DeviceType
  19084. DeviceTypeInstanceStore = "instance-store"
  19085. )
  19086. const (
  19087. // @enum DiskImageFormat
  19088. DiskImageFormatVmdk = "VMDK"
  19089. // @enum DiskImageFormat
  19090. DiskImageFormatRaw = "RAW"
  19091. // @enum DiskImageFormat
  19092. DiskImageFormatVhd = "VHD"
  19093. )
  19094. const (
  19095. // @enum DomainType
  19096. DomainTypeVpc = "vpc"
  19097. // @enum DomainType
  19098. DomainTypeStandard = "standard"
  19099. )
  19100. const (
  19101. // @enum EventCode
  19102. EventCodeInstanceReboot = "instance-reboot"
  19103. // @enum EventCode
  19104. EventCodeSystemReboot = "system-reboot"
  19105. // @enum EventCode
  19106. EventCodeSystemMaintenance = "system-maintenance"
  19107. // @enum EventCode
  19108. EventCodeInstanceRetirement = "instance-retirement"
  19109. // @enum EventCode
  19110. EventCodeInstanceStop = "instance-stop"
  19111. )
  19112. const (
  19113. // @enum EventType
  19114. EventTypeInstanceChange = "instanceChange"
  19115. // @enum EventType
  19116. EventTypeFleetRequestChange = "fleetRequestChange"
  19117. // @enum EventType
  19118. EventTypeError = "error"
  19119. )
  19120. const (
  19121. // @enum ExportEnvironment
  19122. ExportEnvironmentCitrix = "citrix"
  19123. // @enum ExportEnvironment
  19124. ExportEnvironmentVmware = "vmware"
  19125. // @enum ExportEnvironment
  19126. ExportEnvironmentMicrosoft = "microsoft"
  19127. )
  19128. const (
  19129. // @enum ExportTaskState
  19130. ExportTaskStateActive = "active"
  19131. // @enum ExportTaskState
  19132. ExportTaskStateCancelling = "cancelling"
  19133. // @enum ExportTaskState
  19134. ExportTaskStateCancelled = "cancelled"
  19135. // @enum ExportTaskState
  19136. ExportTaskStateCompleted = "completed"
  19137. )
  19138. const (
  19139. // @enum FlowLogsResourceType
  19140. FlowLogsResourceTypeVpc = "VPC"
  19141. // @enum FlowLogsResourceType
  19142. FlowLogsResourceTypeSubnet = "Subnet"
  19143. // @enum FlowLogsResourceType
  19144. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  19145. )
  19146. const (
  19147. // @enum GatewayType
  19148. GatewayTypeIpsec1 = "ipsec.1"
  19149. )
  19150. const (
  19151. // @enum HypervisorType
  19152. HypervisorTypeOvm = "ovm"
  19153. // @enum HypervisorType
  19154. HypervisorTypeXen = "xen"
  19155. )
  19156. const (
  19157. // @enum ImageAttributeName
  19158. ImageAttributeNameDescription = "description"
  19159. // @enum ImageAttributeName
  19160. ImageAttributeNameKernel = "kernel"
  19161. // @enum ImageAttributeName
  19162. ImageAttributeNameRamdisk = "ramdisk"
  19163. // @enum ImageAttributeName
  19164. ImageAttributeNameLaunchPermission = "launchPermission"
  19165. // @enum ImageAttributeName
  19166. ImageAttributeNameProductCodes = "productCodes"
  19167. // @enum ImageAttributeName
  19168. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  19169. // @enum ImageAttributeName
  19170. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  19171. )
  19172. const (
  19173. // @enum ImageState
  19174. ImageStatePending = "pending"
  19175. // @enum ImageState
  19176. ImageStateAvailable = "available"
  19177. // @enum ImageState
  19178. ImageStateInvalid = "invalid"
  19179. // @enum ImageState
  19180. ImageStateDeregistered = "deregistered"
  19181. // @enum ImageState
  19182. ImageStateTransient = "transient"
  19183. // @enum ImageState
  19184. ImageStateFailed = "failed"
  19185. // @enum ImageState
  19186. ImageStateError = "error"
  19187. )
  19188. const (
  19189. // @enum ImageTypeValues
  19190. ImageTypeValuesMachine = "machine"
  19191. // @enum ImageTypeValues
  19192. ImageTypeValuesKernel = "kernel"
  19193. // @enum ImageTypeValues
  19194. ImageTypeValuesRamdisk = "ramdisk"
  19195. )
  19196. const (
  19197. // @enum InstanceAttributeName
  19198. InstanceAttributeNameInstanceType = "instanceType"
  19199. // @enum InstanceAttributeName
  19200. InstanceAttributeNameKernel = "kernel"
  19201. // @enum InstanceAttributeName
  19202. InstanceAttributeNameRamdisk = "ramdisk"
  19203. // @enum InstanceAttributeName
  19204. InstanceAttributeNameUserData = "userData"
  19205. // @enum InstanceAttributeName
  19206. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  19207. // @enum InstanceAttributeName
  19208. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  19209. // @enum InstanceAttributeName
  19210. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  19211. // @enum InstanceAttributeName
  19212. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  19213. // @enum InstanceAttributeName
  19214. InstanceAttributeNameProductCodes = "productCodes"
  19215. // @enum InstanceAttributeName
  19216. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  19217. // @enum InstanceAttributeName
  19218. InstanceAttributeNameGroupSet = "groupSet"
  19219. // @enum InstanceAttributeName
  19220. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  19221. // @enum InstanceAttributeName
  19222. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  19223. )
  19224. const (
  19225. // @enum InstanceLifecycleType
  19226. InstanceLifecycleTypeSpot = "spot"
  19227. )
  19228. const (
  19229. // @enum InstanceStateName
  19230. InstanceStateNamePending = "pending"
  19231. // @enum InstanceStateName
  19232. InstanceStateNameRunning = "running"
  19233. // @enum InstanceStateName
  19234. InstanceStateNameShuttingDown = "shutting-down"
  19235. // @enum InstanceStateName
  19236. InstanceStateNameTerminated = "terminated"
  19237. // @enum InstanceStateName
  19238. InstanceStateNameStopping = "stopping"
  19239. // @enum InstanceStateName
  19240. InstanceStateNameStopped = "stopped"
  19241. )
  19242. const (
  19243. // @enum InstanceType
  19244. InstanceTypeT1Micro = "t1.micro"
  19245. // @enum InstanceType
  19246. InstanceTypeM1Small = "m1.small"
  19247. // @enum InstanceType
  19248. InstanceTypeM1Medium = "m1.medium"
  19249. // @enum InstanceType
  19250. InstanceTypeM1Large = "m1.large"
  19251. // @enum InstanceType
  19252. InstanceTypeM1Xlarge = "m1.xlarge"
  19253. // @enum InstanceType
  19254. InstanceTypeM3Medium = "m3.medium"
  19255. // @enum InstanceType
  19256. InstanceTypeM3Large = "m3.large"
  19257. // @enum InstanceType
  19258. InstanceTypeM3Xlarge = "m3.xlarge"
  19259. // @enum InstanceType
  19260. InstanceTypeM32xlarge = "m3.2xlarge"
  19261. // @enum InstanceType
  19262. InstanceTypeM4Large = "m4.large"
  19263. // @enum InstanceType
  19264. InstanceTypeM4Xlarge = "m4.xlarge"
  19265. // @enum InstanceType
  19266. InstanceTypeM42xlarge = "m4.2xlarge"
  19267. // @enum InstanceType
  19268. InstanceTypeM44xlarge = "m4.4xlarge"
  19269. // @enum InstanceType
  19270. InstanceTypeM410xlarge = "m4.10xlarge"
  19271. // @enum InstanceType
  19272. InstanceTypeT2Micro = "t2.micro"
  19273. // @enum InstanceType
  19274. InstanceTypeT2Small = "t2.small"
  19275. // @enum InstanceType
  19276. InstanceTypeT2Medium = "t2.medium"
  19277. // @enum InstanceType
  19278. InstanceTypeT2Large = "t2.large"
  19279. // @enum InstanceType
  19280. InstanceTypeM2Xlarge = "m2.xlarge"
  19281. // @enum InstanceType
  19282. InstanceTypeM22xlarge = "m2.2xlarge"
  19283. // @enum InstanceType
  19284. InstanceTypeM24xlarge = "m2.4xlarge"
  19285. // @enum InstanceType
  19286. InstanceTypeCr18xlarge = "cr1.8xlarge"
  19287. // @enum InstanceType
  19288. InstanceTypeI2Xlarge = "i2.xlarge"
  19289. // @enum InstanceType
  19290. InstanceTypeI22xlarge = "i2.2xlarge"
  19291. // @enum InstanceType
  19292. InstanceTypeI24xlarge = "i2.4xlarge"
  19293. // @enum InstanceType
  19294. InstanceTypeI28xlarge = "i2.8xlarge"
  19295. // @enum InstanceType
  19296. InstanceTypeHi14xlarge = "hi1.4xlarge"
  19297. // @enum InstanceType
  19298. InstanceTypeHs18xlarge = "hs1.8xlarge"
  19299. // @enum InstanceType
  19300. InstanceTypeC1Medium = "c1.medium"
  19301. // @enum InstanceType
  19302. InstanceTypeC1Xlarge = "c1.xlarge"
  19303. // @enum InstanceType
  19304. InstanceTypeC3Large = "c3.large"
  19305. // @enum InstanceType
  19306. InstanceTypeC3Xlarge = "c3.xlarge"
  19307. // @enum InstanceType
  19308. InstanceTypeC32xlarge = "c3.2xlarge"
  19309. // @enum InstanceType
  19310. InstanceTypeC34xlarge = "c3.4xlarge"
  19311. // @enum InstanceType
  19312. InstanceTypeC38xlarge = "c3.8xlarge"
  19313. // @enum InstanceType
  19314. InstanceTypeC4Large = "c4.large"
  19315. // @enum InstanceType
  19316. InstanceTypeC4Xlarge = "c4.xlarge"
  19317. // @enum InstanceType
  19318. InstanceTypeC42xlarge = "c4.2xlarge"
  19319. // @enum InstanceType
  19320. InstanceTypeC44xlarge = "c4.4xlarge"
  19321. // @enum InstanceType
  19322. InstanceTypeC48xlarge = "c4.8xlarge"
  19323. // @enum InstanceType
  19324. InstanceTypeCc14xlarge = "cc1.4xlarge"
  19325. // @enum InstanceType
  19326. InstanceTypeCc28xlarge = "cc2.8xlarge"
  19327. // @enum InstanceType
  19328. InstanceTypeG22xlarge = "g2.2xlarge"
  19329. // @enum InstanceType
  19330. InstanceTypeCg14xlarge = "cg1.4xlarge"
  19331. // @enum InstanceType
  19332. InstanceTypeR3Large = "r3.large"
  19333. // @enum InstanceType
  19334. InstanceTypeR3Xlarge = "r3.xlarge"
  19335. // @enum InstanceType
  19336. InstanceTypeR32xlarge = "r3.2xlarge"
  19337. // @enum InstanceType
  19338. InstanceTypeR34xlarge = "r3.4xlarge"
  19339. // @enum InstanceType
  19340. InstanceTypeR38xlarge = "r3.8xlarge"
  19341. // @enum InstanceType
  19342. InstanceTypeD2Xlarge = "d2.xlarge"
  19343. // @enum InstanceType
  19344. InstanceTypeD22xlarge = "d2.2xlarge"
  19345. // @enum InstanceType
  19346. InstanceTypeD24xlarge = "d2.4xlarge"
  19347. // @enum InstanceType
  19348. InstanceTypeD28xlarge = "d2.8xlarge"
  19349. )
  19350. const (
  19351. // @enum ListingState
  19352. ListingStateAvailable = "available"
  19353. // @enum ListingState
  19354. ListingStateSold = "sold"
  19355. // @enum ListingState
  19356. ListingStateCancelled = "cancelled"
  19357. // @enum ListingState
  19358. ListingStatePending = "pending"
  19359. )
  19360. const (
  19361. // @enum ListingStatus
  19362. ListingStatusActive = "active"
  19363. // @enum ListingStatus
  19364. ListingStatusPending = "pending"
  19365. // @enum ListingStatus
  19366. ListingStatusCancelled = "cancelled"
  19367. // @enum ListingStatus
  19368. ListingStatusClosed = "closed"
  19369. )
  19370. const (
  19371. // @enum MonitoringState
  19372. MonitoringStateDisabled = "disabled"
  19373. // @enum MonitoringState
  19374. MonitoringStateDisabling = "disabling"
  19375. // @enum MonitoringState
  19376. MonitoringStateEnabled = "enabled"
  19377. // @enum MonitoringState
  19378. MonitoringStatePending = "pending"
  19379. )
  19380. const (
  19381. // @enum MoveStatus
  19382. MoveStatusMovingToVpc = "movingToVpc"
  19383. // @enum MoveStatus
  19384. MoveStatusRestoringToClassic = "restoringToClassic"
  19385. )
  19386. const (
  19387. // @enum NetworkInterfaceAttribute
  19388. NetworkInterfaceAttributeDescription = "description"
  19389. // @enum NetworkInterfaceAttribute
  19390. NetworkInterfaceAttributeGroupSet = "groupSet"
  19391. // @enum NetworkInterfaceAttribute
  19392. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  19393. // @enum NetworkInterfaceAttribute
  19394. NetworkInterfaceAttributeAttachment = "attachment"
  19395. )
  19396. const (
  19397. // @enum NetworkInterfaceStatus
  19398. NetworkInterfaceStatusAvailable = "available"
  19399. // @enum NetworkInterfaceStatus
  19400. NetworkInterfaceStatusAttaching = "attaching"
  19401. // @enum NetworkInterfaceStatus
  19402. NetworkInterfaceStatusInUse = "in-use"
  19403. // @enum NetworkInterfaceStatus
  19404. NetworkInterfaceStatusDetaching = "detaching"
  19405. )
  19406. const (
  19407. // @enum OfferingTypeValues
  19408. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  19409. // @enum OfferingTypeValues
  19410. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  19411. // @enum OfferingTypeValues
  19412. OfferingTypeValuesLightUtilization = "Light Utilization"
  19413. // @enum OfferingTypeValues
  19414. OfferingTypeValuesNoUpfront = "No Upfront"
  19415. // @enum OfferingTypeValues
  19416. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  19417. // @enum OfferingTypeValues
  19418. OfferingTypeValuesAllUpfront = "All Upfront"
  19419. )
  19420. const (
  19421. // @enum OperationType
  19422. OperationTypeAdd = "add"
  19423. // @enum OperationType
  19424. OperationTypeRemove = "remove"
  19425. )
  19426. const (
  19427. // @enum PermissionGroup
  19428. PermissionGroupAll = "all"
  19429. )
  19430. const (
  19431. // @enum PlacementGroupState
  19432. PlacementGroupStatePending = "pending"
  19433. // @enum PlacementGroupState
  19434. PlacementGroupStateAvailable = "available"
  19435. // @enum PlacementGroupState
  19436. PlacementGroupStateDeleting = "deleting"
  19437. // @enum PlacementGroupState
  19438. PlacementGroupStateDeleted = "deleted"
  19439. )
  19440. const (
  19441. // @enum PlacementStrategy
  19442. PlacementStrategyCluster = "cluster"
  19443. )
  19444. const (
  19445. // @enum PlatformValues
  19446. PlatformValuesWindows = "Windows"
  19447. )
  19448. const (
  19449. // @enum ProductCodeValues
  19450. ProductCodeValuesDevpay = "devpay"
  19451. // @enum ProductCodeValues
  19452. ProductCodeValuesMarketplace = "marketplace"
  19453. )
  19454. const (
  19455. // @enum RIProductDescription
  19456. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  19457. // @enum RIProductDescription
  19458. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  19459. // @enum RIProductDescription
  19460. RIProductDescriptionWindows = "Windows"
  19461. // @enum RIProductDescription
  19462. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  19463. )
  19464. const (
  19465. // @enum RecurringChargeFrequency
  19466. RecurringChargeFrequencyHourly = "Hourly"
  19467. )
  19468. const (
  19469. // @enum ReportInstanceReasonCodes
  19470. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  19471. // @enum ReportInstanceReasonCodes
  19472. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  19473. // @enum ReportInstanceReasonCodes
  19474. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  19475. // @enum ReportInstanceReasonCodes
  19476. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  19477. // @enum ReportInstanceReasonCodes
  19478. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  19479. // @enum ReportInstanceReasonCodes
  19480. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  19481. // @enum ReportInstanceReasonCodes
  19482. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  19483. // @enum ReportInstanceReasonCodes
  19484. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  19485. // @enum ReportInstanceReasonCodes
  19486. ReportInstanceReasonCodesOther = "other"
  19487. )
  19488. const (
  19489. // @enum ReportStatusType
  19490. ReportStatusTypeOk = "ok"
  19491. // @enum ReportStatusType
  19492. ReportStatusTypeImpaired = "impaired"
  19493. )
  19494. const (
  19495. // @enum ReservedInstanceState
  19496. ReservedInstanceStatePaymentPending = "payment-pending"
  19497. // @enum ReservedInstanceState
  19498. ReservedInstanceStateActive = "active"
  19499. // @enum ReservedInstanceState
  19500. ReservedInstanceStatePaymentFailed = "payment-failed"
  19501. // @enum ReservedInstanceState
  19502. ReservedInstanceStateRetired = "retired"
  19503. )
  19504. const (
  19505. // @enum ResetImageAttributeName
  19506. ResetImageAttributeNameLaunchPermission = "launchPermission"
  19507. )
  19508. const (
  19509. // @enum ResourceType
  19510. ResourceTypeCustomerGateway = "customer-gateway"
  19511. // @enum ResourceType
  19512. ResourceTypeDhcpOptions = "dhcp-options"
  19513. // @enum ResourceType
  19514. ResourceTypeImage = "image"
  19515. // @enum ResourceType
  19516. ResourceTypeInstance = "instance"
  19517. // @enum ResourceType
  19518. ResourceTypeInternetGateway = "internet-gateway"
  19519. // @enum ResourceType
  19520. ResourceTypeNetworkAcl = "network-acl"
  19521. // @enum ResourceType
  19522. ResourceTypeNetworkInterface = "network-interface"
  19523. // @enum ResourceType
  19524. ResourceTypeReservedInstances = "reserved-instances"
  19525. // @enum ResourceType
  19526. ResourceTypeRouteTable = "route-table"
  19527. // @enum ResourceType
  19528. ResourceTypeSnapshot = "snapshot"
  19529. // @enum ResourceType
  19530. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  19531. // @enum ResourceType
  19532. ResourceTypeSubnet = "subnet"
  19533. // @enum ResourceType
  19534. ResourceTypeSecurityGroup = "security-group"
  19535. // @enum ResourceType
  19536. ResourceTypeVolume = "volume"
  19537. // @enum ResourceType
  19538. ResourceTypeVpc = "vpc"
  19539. // @enum ResourceType
  19540. ResourceTypeVpnConnection = "vpn-connection"
  19541. // @enum ResourceType
  19542. ResourceTypeVpnGateway = "vpn-gateway"
  19543. )
  19544. const (
  19545. // @enum RouteOrigin
  19546. RouteOriginCreateRouteTable = "CreateRouteTable"
  19547. // @enum RouteOrigin
  19548. RouteOriginCreateRoute = "CreateRoute"
  19549. // @enum RouteOrigin
  19550. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  19551. )
  19552. const (
  19553. // @enum RouteState
  19554. RouteStateActive = "active"
  19555. // @enum RouteState
  19556. RouteStateBlackhole = "blackhole"
  19557. )
  19558. const (
  19559. // @enum RuleAction
  19560. RuleActionAllow = "allow"
  19561. // @enum RuleAction
  19562. RuleActionDeny = "deny"
  19563. )
  19564. const (
  19565. // @enum ShutdownBehavior
  19566. ShutdownBehaviorStop = "stop"
  19567. // @enum ShutdownBehavior
  19568. ShutdownBehaviorTerminate = "terminate"
  19569. )
  19570. const (
  19571. // @enum SnapshotAttributeName
  19572. SnapshotAttributeNameProductCodes = "productCodes"
  19573. // @enum SnapshotAttributeName
  19574. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  19575. )
  19576. const (
  19577. // @enum SnapshotState
  19578. SnapshotStatePending = "pending"
  19579. // @enum SnapshotState
  19580. SnapshotStateCompleted = "completed"
  19581. // @enum SnapshotState
  19582. SnapshotStateError = "error"
  19583. )
  19584. const (
  19585. // @enum SpotInstanceState
  19586. SpotInstanceStateOpen = "open"
  19587. // @enum SpotInstanceState
  19588. SpotInstanceStateActive = "active"
  19589. // @enum SpotInstanceState
  19590. SpotInstanceStateClosed = "closed"
  19591. // @enum SpotInstanceState
  19592. SpotInstanceStateCancelled = "cancelled"
  19593. // @enum SpotInstanceState
  19594. SpotInstanceStateFailed = "failed"
  19595. )
  19596. const (
  19597. // @enum SpotInstanceType
  19598. SpotInstanceTypeOneTime = "one-time"
  19599. // @enum SpotInstanceType
  19600. SpotInstanceTypePersistent = "persistent"
  19601. )
  19602. const (
  19603. // @enum State
  19604. StatePending = "Pending"
  19605. // @enum State
  19606. StateAvailable = "Available"
  19607. // @enum State
  19608. StateDeleting = "Deleting"
  19609. // @enum State
  19610. StateDeleted = "Deleted"
  19611. )
  19612. const (
  19613. // @enum Status
  19614. StatusMoveInProgress = "MoveInProgress"
  19615. // @enum Status
  19616. StatusInVpc = "InVpc"
  19617. // @enum Status
  19618. StatusInClassic = "InClassic"
  19619. )
  19620. const (
  19621. // @enum StatusName
  19622. StatusNameReachability = "reachability"
  19623. )
  19624. const (
  19625. // @enum StatusType
  19626. StatusTypePassed = "passed"
  19627. // @enum StatusType
  19628. StatusTypeFailed = "failed"
  19629. // @enum StatusType
  19630. StatusTypeInsufficientData = "insufficient-data"
  19631. // @enum StatusType
  19632. StatusTypeInitializing = "initializing"
  19633. )
  19634. const (
  19635. // @enum SubnetState
  19636. SubnetStatePending = "pending"
  19637. // @enum SubnetState
  19638. SubnetStateAvailable = "available"
  19639. )
  19640. const (
  19641. // @enum SummaryStatus
  19642. SummaryStatusOk = "ok"
  19643. // @enum SummaryStatus
  19644. SummaryStatusImpaired = "impaired"
  19645. // @enum SummaryStatus
  19646. SummaryStatusInsufficientData = "insufficient-data"
  19647. // @enum SummaryStatus
  19648. SummaryStatusNotApplicable = "not-applicable"
  19649. // @enum SummaryStatus
  19650. SummaryStatusInitializing = "initializing"
  19651. )
  19652. const (
  19653. // @enum TelemetryStatus
  19654. TelemetryStatusUp = "UP"
  19655. // @enum TelemetryStatus
  19656. TelemetryStatusDown = "DOWN"
  19657. )
  19658. const (
  19659. // @enum Tenancy
  19660. TenancyDefault = "default"
  19661. // @enum Tenancy
  19662. TenancyDedicated = "dedicated"
  19663. )
  19664. const (
  19665. // @enum TrafficType
  19666. TrafficTypeAccept = "ACCEPT"
  19667. // @enum TrafficType
  19668. TrafficTypeReject = "REJECT"
  19669. // @enum TrafficType
  19670. TrafficTypeAll = "ALL"
  19671. )
  19672. const (
  19673. // @enum VirtualizationType
  19674. VirtualizationTypeHvm = "hvm"
  19675. // @enum VirtualizationType
  19676. VirtualizationTypeParavirtual = "paravirtual"
  19677. )
  19678. const (
  19679. // @enum VolumeAttachmentState
  19680. VolumeAttachmentStateAttaching = "attaching"
  19681. // @enum VolumeAttachmentState
  19682. VolumeAttachmentStateAttached = "attached"
  19683. // @enum VolumeAttachmentState
  19684. VolumeAttachmentStateDetaching = "detaching"
  19685. // @enum VolumeAttachmentState
  19686. VolumeAttachmentStateDetached = "detached"
  19687. )
  19688. const (
  19689. // @enum VolumeAttributeName
  19690. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  19691. // @enum VolumeAttributeName
  19692. VolumeAttributeNameProductCodes = "productCodes"
  19693. )
  19694. const (
  19695. // @enum VolumeState
  19696. VolumeStateCreating = "creating"
  19697. // @enum VolumeState
  19698. VolumeStateAvailable = "available"
  19699. // @enum VolumeState
  19700. VolumeStateInUse = "in-use"
  19701. // @enum VolumeState
  19702. VolumeStateDeleting = "deleting"
  19703. // @enum VolumeState
  19704. VolumeStateDeleted = "deleted"
  19705. // @enum VolumeState
  19706. VolumeStateError = "error"
  19707. )
  19708. const (
  19709. // @enum VolumeStatusInfoStatus
  19710. VolumeStatusInfoStatusOk = "ok"
  19711. // @enum VolumeStatusInfoStatus
  19712. VolumeStatusInfoStatusImpaired = "impaired"
  19713. // @enum VolumeStatusInfoStatus
  19714. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  19715. )
  19716. const (
  19717. // @enum VolumeStatusName
  19718. VolumeStatusNameIoEnabled = "io-enabled"
  19719. // @enum VolumeStatusName
  19720. VolumeStatusNameIoPerformance = "io-performance"
  19721. )
  19722. const (
  19723. // @enum VolumeType
  19724. VolumeTypeStandard = "standard"
  19725. // @enum VolumeType
  19726. VolumeTypeIo1 = "io1"
  19727. // @enum VolumeType
  19728. VolumeTypeGp2 = "gp2"
  19729. )
  19730. const (
  19731. // @enum VpcAttributeName
  19732. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  19733. // @enum VpcAttributeName
  19734. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  19735. )
  19736. const (
  19737. // @enum VpcPeeringConnectionStateReasonCode
  19738. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  19739. // @enum VpcPeeringConnectionStateReasonCode
  19740. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  19741. // @enum VpcPeeringConnectionStateReasonCode
  19742. VpcPeeringConnectionStateReasonCodeActive = "active"
  19743. // @enum VpcPeeringConnectionStateReasonCode
  19744. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  19745. // @enum VpcPeeringConnectionStateReasonCode
  19746. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  19747. // @enum VpcPeeringConnectionStateReasonCode
  19748. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  19749. // @enum VpcPeeringConnectionStateReasonCode
  19750. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  19751. // @enum VpcPeeringConnectionStateReasonCode
  19752. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  19753. // @enum VpcPeeringConnectionStateReasonCode
  19754. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  19755. )
  19756. const (
  19757. // @enum VpcState
  19758. VpcStatePending = "pending"
  19759. // @enum VpcState
  19760. VpcStateAvailable = "available"
  19761. )
  19762. const (
  19763. // @enum VpnState
  19764. VpnStatePending = "pending"
  19765. // @enum VpnState
  19766. VpnStateAvailable = "available"
  19767. // @enum VpnState
  19768. VpnStateDeleting = "deleting"
  19769. // @enum VpnState
  19770. VpnStateDeleted = "deleted"
  19771. )
  19772. const (
  19773. // @enum VpnStaticRouteSource
  19774. VpnStaticRouteSourceStatic = "Static"
  19775. )