api.go 2.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103401044010540106401074010840109401104011140112401134011440115401164011740118401194012040121401224012340124401254012640127401284012940130401314013240133401344013540136401374013840139401404014140142401434014440145401464014740148401494015040151401524015340154401554015640157401584015940160401614016240163401644016540166401674016840169401704017140172401734017440175401764017740178401794018040181401824018340184401854018640187401884018940190401914019240193401944019540196401974019840199402004020140202402034020440205402064020740208402094021040211402124021340214402154021640217402184021940220402214022240223402244022540226402274022840229402304023140232402334023440235402364023740238402394024040241402424024340244402454024640247402484024940250402514025240253402544025540256402574025840259402604026140262402634026440265402664026740268402694027040271402724027340274402754027640277402784027940280402814028240283402844028540286402874028840289402904029140292402934029440295402964029740298402994030040301403024030340304403054030640307403084030940310403114031240313403144031540316403174031840319403204032140322403234032440325403264032740328403294033040331403324033340334403354033640337403384033940340403414034240343403444034540346403474034840349403504035140352403534035440355403564035740358403594036040361403624036340364403654036640367403684036940370403714037240373403744037540376403774037840379403804038140382403834038440385403864038740388403894039040391403924039340394403954039640397403984039940400404014040240403404044040540406404074040840409404104041140412404134041440415404164041740418404194042040421404224042340424404254042640427404284042940430404314043240433404344043540436404374043840439404404044140442404434044440445404464044740448404494045040451404524045340454404554045640457404584045940460404614046240463404644046540466404674046840469404704047140472404734047440475404764047740478404794048040481404824048340484404854048640487404884048940490404914049240493404944049540496404974049840499405004050140502405034050440505405064050740508405094051040511405124051340514405154051640517405184051940520405214052240523405244052540526405274052840529405304053140532405334053440535405364053740538405394054040541405424054340544405454054640547405484054940550405514055240553405544055540556405574055840559405604056140562405634056440565405664056740568405694057040571405724057340574405754057640577405784057940580405814058240583405844058540586405874058840589405904059140592405934059440595405964059740598405994060040601406024060340604406054060640607406084060940610406114061240613406144061540616406174061840619406204062140622406234062440625406264062740628406294063040631406324063340634406354063640637406384063940640406414064240643406444064540646406474064840649406504065140652406534065440655406564065740658406594066040661406624066340664406654066640667406684066940670406714067240673406744067540676406774067840679406804068140682406834068440685406864068740688406894069040691406924069340694406954069640697406984069940700407014070240703407044070540706407074070840709407104071140712407134071440715407164071740718407194072040721407224072340724407254072640727407284072940730407314073240733407344073540736407374073840739407404074140742407434074440745407464074740748407494075040751407524075340754407554075640757407584075940760407614076240763407644076540766407674076840769407704077140772407734077440775407764077740778407794078040781407824078340784407854078640787407884078940790407914079240793407944079540796407974079840799408004080140802408034080440805408064080740808408094081040811408124081340814408154081640817408184081940820408214082240823408244082540826408274082840829408304083140832408334083440835408364083740838408394084040841408424084340844408454084640847408484084940850408514085240853408544085540856408574085840859408604086140862408634086440865408664086740868408694087040871408724087340874408754087640877408784087940880408814088240883408844088540886408874088840889408904089140892408934089440895408964089740898408994090040901409024090340904409054090640907409084090940910409114091240913409144091540916409174091840919409204092140922409234092440925409264092740928409294093040931409324093340934409354093640937409384093940940409414094240943409444094540946409474094840949409504095140952409534095440955409564095740958409594096040961409624096340964409654096640967409684096940970409714097240973409744097540976409774097840979409804098140982409834098440985409864098740988409894099040991409924099340994409954099640997409984099941000410014100241003410044100541006410074100841009410104101141012410134101441015410164101741018410194102041021410224102341024410254102641027410284102941030410314103241033410344103541036410374103841039410404104141042410434104441045410464104741048410494105041051410524105341054410554105641057410584105941060410614106241063410644106541066410674106841069410704107141072410734107441075410764107741078410794108041081410824108341084410854108641087410884108941090410914109241093410944109541096410974109841099411004110141102411034110441105411064110741108411094111041111411124111341114411154111641117411184111941120411214112241123411244112541126411274112841129411304113141132411334113441135411364113741138411394114041141411424114341144411454114641147411484114941150411514115241153411544115541156411574115841159411604116141162411634116441165411664116741168411694117041171411724117341174411754117641177411784117941180411814118241183411844118541186411874118841189411904119141192411934119441195411964119741198411994120041201412024120341204412054120641207412084120941210412114121241213412144121541216412174121841219412204122141222412234122441225412264122741228412294123041231412324123341234412354123641237412384123941240412414124241243412444124541246412474124841249412504125141252412534125441255412564125741258412594126041261412624126341264412654126641267412684126941270412714127241273412744127541276412774127841279412804128141282412834128441285412864128741288412894129041291412924129341294412954129641297412984129941300413014130241303413044130541306413074130841309413104131141312413134131441315413164131741318413194132041321413224132341324413254132641327413284132941330413314133241333413344133541336413374133841339413404134141342413434134441345413464134741348413494135041351413524135341354413554135641357413584135941360413614136241363413644136541366413674136841369413704137141372413734137441375413764137741378413794138041381413824138341384413854138641387413884138941390413914139241393413944139541396413974139841399414004140141402414034140441405414064140741408414094141041411414124141341414414154141641417414184141941420414214142241423414244142541426414274142841429414304143141432414334143441435414364143741438414394144041441414424144341444414454144641447414484144941450414514145241453414544145541456414574145841459414604146141462414634146441465414664146741468414694147041471414724147341474414754147641477414784147941480414814148241483414844148541486414874148841489414904149141492414934149441495414964149741498414994150041501415024150341504415054150641507415084150941510415114151241513415144151541516415174151841519415204152141522415234152441525415264152741528415294153041531415324153341534415354153641537415384153941540415414154241543415444154541546415474154841549415504155141552415534155441555415564155741558415594156041561415624156341564415654156641567415684156941570415714157241573415744157541576415774157841579415804158141582415834158441585415864158741588415894159041591415924159341594415954159641597415984159941600416014160241603416044160541606416074160841609416104161141612416134161441615416164161741618416194162041621416224162341624416254162641627416284162941630416314163241633416344163541636416374163841639416404164141642416434164441645416464164741648416494165041651416524165341654416554165641657416584165941660416614166241663416644166541666416674166841669416704167141672416734167441675416764167741678416794168041681416824168341684416854168641687416884168941690416914169241693416944169541696416974169841699417004170141702417034170441705417064170741708417094171041711417124171341714417154171641717417184171941720417214172241723417244172541726417274172841729417304173141732417334173441735417364173741738417394174041741417424174341744417454174641747417484174941750417514175241753417544175541756417574175841759417604176141762417634176441765417664176741768417694177041771417724177341774417754177641777417784177941780417814178241783417844178541786417874178841789417904179141792417934179441795417964179741798417994180041801418024180341804418054180641807418084180941810418114181241813418144181541816418174181841819418204182141822418234182441825418264182741828418294183041831418324183341834418354183641837418384183941840418414184241843418444184541846418474184841849418504185141852418534185441855418564185741858418594186041861418624186341864418654186641867418684186941870418714187241873418744187541876418774187841879418804188141882418834188441885418864188741888418894189041891418924189341894418954189641897418984189941900419014190241903419044190541906419074190841909419104191141912419134191441915419164191741918419194192041921419224192341924419254192641927419284192941930419314193241933419344193541936419374193841939419404194141942419434194441945419464194741948419494195041951419524195341954419554195641957419584195941960419614196241963419644196541966419674196841969419704197141972419734197441975419764197741978419794198041981419824198341984419854198641987419884198941990419914199241993419944199541996419974199841999420004200142002420034200442005420064200742008420094201042011420124201342014420154201642017420184201942020420214202242023420244202542026420274202842029420304203142032420334203442035420364203742038420394204042041420424204342044420454204642047420484204942050420514205242053420544205542056420574205842059420604206142062420634206442065420664206742068420694207042071420724207342074420754207642077420784207942080420814208242083420844208542086420874208842089420904209142092420934209442095420964209742098420994210042101421024210342104421054210642107421084210942110421114211242113421144211542116421174211842119421204212142122421234212442125421264212742128421294213042131421324213342134421354213642137421384213942140421414214242143421444214542146421474214842149421504215142152421534215442155421564215742158421594216042161421624216342164421654216642167421684216942170421714217242173421744217542176421774217842179421804218142182421834218442185421864218742188421894219042191421924219342194421954219642197421984219942200422014220242203422044220542206422074220842209422104221142212422134221442215422164221742218422194222042221422224222342224422254222642227422284222942230422314223242233422344223542236422374223842239422404224142242422434224442245422464224742248422494225042251422524225342254422554225642257422584225942260422614226242263422644226542266422674226842269422704227142272422734227442275422764227742278422794228042281422824228342284422854228642287422884228942290422914229242293422944229542296422974229842299423004230142302423034230442305423064230742308423094231042311423124231342314423154231642317423184231942320423214232242323423244232542326423274232842329423304233142332423334233442335423364233742338423394234042341423424234342344423454234642347423484234942350423514235242353423544235542356423574235842359423604236142362423634236442365423664236742368423694237042371423724237342374423754237642377423784237942380423814238242383423844238542386423874238842389423904239142392423934239442395423964239742398423994240042401424024240342404424054240642407424084240942410424114241242413424144241542416424174241842419424204242142422424234242442425424264242742428424294243042431424324243342434424354243642437424384243942440424414244242443424444244542446424474244842449424504245142452424534245442455424564245742458424594246042461424624246342464424654246642467424684246942470424714247242473424744247542476424774247842479424804248142482424834248442485424864248742488424894249042491424924249342494424954249642497424984249942500425014250242503425044250542506425074250842509425104251142512425134251442515425164251742518425194252042521425224252342524425254252642527425284252942530425314253242533425344253542536425374253842539425404254142542425434254442545425464254742548425494255042551425524255342554425554255642557425584255942560425614256242563425644256542566425674256842569425704257142572425734257442575425764257742578425794258042581425824258342584425854258642587425884258942590425914259242593425944259542596425974259842599426004260142602426034260442605426064260742608426094261042611426124261342614426154261642617426184261942620426214262242623426244262542626426274262842629426304263142632426334263442635426364263742638426394264042641426424264342644426454264642647426484264942650426514265242653426544265542656426574265842659426604266142662426634266442665426664266742668426694267042671426724267342674426754267642677426784267942680426814268242683426844268542686426874268842689426904269142692426934269442695426964269742698426994270042701427024270342704427054270642707427084270942710427114271242713427144271542716427174271842719427204272142722427234272442725427264272742728427294273042731427324273342734427354273642737427384273942740427414274242743427444274542746427474274842749427504275142752427534275442755427564275742758427594276042761427624276342764427654276642767427684276942770427714277242773427744277542776427774277842779427804278142782427834278442785427864278742788427894279042791427924279342794427954279642797427984279942800428014280242803428044280542806428074280842809428104281142812428134281442815428164281742818428194282042821428224282342824428254282642827428284282942830428314283242833428344283542836428374283842839428404284142842428434284442845428464284742848428494285042851428524285342854428554285642857428584285942860428614286242863428644286542866428674286842869428704287142872428734287442875428764287742878428794288042881428824288342884428854288642887428884288942890428914289242893428944289542896428974289842899429004290142902429034290442905429064290742908429094291042911429124291342914429154291642917429184291942920429214292242923429244292542926429274292842929429304293142932429334293442935429364293742938429394294042941429424294342944429454294642947429484294942950429514295242953429544295542956429574295842959429604296142962429634296442965429664296742968429694297042971429724297342974429754297642977429784297942980429814298242983429844298542986429874298842989429904299142992429934299442995429964299742998429994300043001430024300343004430054300643007430084300943010430114301243013430144301543016430174301843019430204302143022430234302443025430264302743028430294303043031430324303343034430354303643037430384303943040430414304243043430444304543046430474304843049430504305143052430534305443055430564305743058430594306043061430624306343064430654306643067430684306943070430714307243073430744307543076430774307843079430804308143082430834308443085430864308743088430894309043091430924309343094430954309643097430984309943100431014310243103431044310543106431074310843109431104311143112431134311443115431164311743118431194312043121431224312343124431254312643127431284312943130431314313243133431344313543136431374313843139431404314143142431434314443145431464314743148431494315043151431524315343154431554315643157431584315943160431614316243163431644316543166431674316843169431704317143172431734317443175431764317743178431794318043181431824318343184431854318643187431884318943190431914319243193431944319543196431974319843199432004320143202432034320443205432064320743208432094321043211432124321343214432154321643217432184321943220432214322243223432244322543226432274322843229432304323143232432334323443235432364323743238432394324043241432424324343244432454324643247432484324943250432514325243253432544325543256432574325843259432604326143262432634326443265432664326743268432694327043271432724327343274432754327643277432784327943280432814328243283432844328543286432874328843289432904329143292432934329443295432964329743298432994330043301433024330343304433054330643307433084330943310433114331243313433144331543316433174331843319433204332143322433234332443325433264332743328433294333043331433324333343334433354333643337433384333943340433414334243343433444334543346433474334843349433504335143352433534335443355433564335743358433594336043361433624336343364433654336643367433684336943370433714337243373433744337543376433774337843379433804338143382433834338443385433864338743388433894339043391433924339343394433954339643397433984339943400434014340243403434044340543406434074340843409434104341143412434134341443415434164341743418434194342043421434224342343424434254342643427434284342943430434314343243433434344343543436434374343843439434404344143442434434344443445434464344743448434494345043451434524345343454434554345643457434584345943460434614346243463434644346543466434674346843469434704347143472434734347443475434764347743478434794348043481434824348343484434854348643487434884348943490434914349243493434944349543496434974349843499435004350143502435034350443505435064350743508435094351043511435124351343514435154351643517435184351943520435214352243523435244352543526435274352843529435304353143532435334353443535435364353743538435394354043541435424354343544435454354643547435484354943550435514355243553435544355543556435574355843559435604356143562435634356443565435664356743568435694357043571435724357343574435754357643577435784357943580435814358243583435844358543586435874358843589435904359143592435934359443595435964359743598435994360043601436024360343604436054360643607436084360943610436114361243613436144361543616436174361843619436204362143622436234362443625436264362743628436294363043631436324363343634436354363643637436384363943640436414364243643436444364543646436474364843649436504365143652436534365443655436564365743658436594366043661436624366343664436654366643667436684366943670436714367243673436744367543676436774367843679436804368143682436834368443685436864368743688436894369043691436924369343694436954369643697436984369943700437014370243703437044370543706437074370843709437104371143712437134371443715437164371743718437194372043721437224372343724437254372643727437284372943730437314373243733437344373543736437374373843739437404374143742437434374443745437464374743748437494375043751437524375343754437554375643757437584375943760437614376243763437644376543766437674376843769437704377143772437734377443775437764377743778437794378043781437824378343784437854378643787437884378943790437914379243793437944379543796437974379843799438004380143802438034380443805438064380743808438094381043811438124381343814438154381643817438184381943820438214382243823438244382543826438274382843829438304383143832438334383443835438364383743838438394384043841438424384343844438454384643847438484384943850438514385243853438544385543856438574385843859438604386143862438634386443865438664386743868438694387043871438724387343874438754387643877438784387943880438814388243883438844388543886438874388843889438904389143892438934389443895438964389743898438994390043901439024390343904439054390643907439084390943910439114391243913439144391543916439174391843919439204392143922439234392443925439264392743928439294393043931439324393343934439354393643937439384393943940439414394243943439444394543946439474394843949439504395143952439534395443955439564395743958439594396043961439624396343964439654396643967439684396943970439714397243973439744397543976439774397843979439804398143982439834398443985439864398743988439894399043991439924399343994439954399643997439984399944000440014400244003440044400544006440074400844009440104401144012440134401444015440164401744018440194402044021440224402344024440254402644027440284402944030440314403244033440344403544036440374403844039440404404144042440434404444045440464404744048440494405044051440524405344054440554405644057440584405944060440614406244063440644406544066440674406844069440704407144072440734407444075440764407744078440794408044081440824408344084440854408644087440884408944090440914409244093440944409544096440974409844099441004410144102441034410444105441064410744108441094411044111441124411344114441154411644117441184411944120441214412244123441244412544126441274412844129441304413144132441334413444135441364413744138441394414044141441424414344144441454414644147441484414944150441514415244153441544415544156441574415844159441604416144162441634416444165441664416744168441694417044171441724417344174441754417644177441784417944180441814418244183441844418544186441874418844189441904419144192441934419444195441964419744198441994420044201442024420344204442054420644207442084420944210442114421244213442144421544216442174421844219442204422144222442234422444225442264422744228442294423044231442324423344234442354423644237442384423944240442414424244243442444424544246442474424844249442504425144252442534425444255442564425744258442594426044261442624426344264442654426644267442684426944270442714427244273442744427544276442774427844279442804428144282442834428444285442864428744288442894429044291442924429344294442954429644297442984429944300443014430244303443044430544306443074430844309443104431144312443134431444315443164431744318443194432044321443224432344324443254432644327443284432944330443314433244333443344433544336443374433844339443404434144342443434434444345443464434744348443494435044351443524435344354443554435644357443584435944360443614436244363443644436544366443674436844369443704437144372443734437444375443764437744378443794438044381443824438344384443854438644387443884438944390443914439244393443944439544396443974439844399444004440144402444034440444405444064440744408444094441044411444124441344414444154441644417444184441944420444214442244423444244442544426444274442844429444304443144432444334443444435444364443744438444394444044441444424444344444444454444644447444484444944450444514445244453444544445544456444574445844459444604446144462444634446444465444664446744468444694447044471444724447344474444754447644477444784447944480444814448244483444844448544486444874448844489444904449144492444934449444495444964449744498444994450044501445024450344504445054450644507445084450944510445114451244513445144451544516445174451844519445204452144522445234452444525445264452744528445294453044531445324453344534445354453644537445384453944540445414454244543445444454544546445474454844549445504455144552445534455444555445564455744558445594456044561445624456344564445654456644567445684456944570445714457244573445744457544576445774457844579445804458144582445834458444585445864458744588445894459044591445924459344594445954459644597445984459944600446014460244603446044460544606446074460844609446104461144612446134461444615446164461744618446194462044621446224462344624446254462644627446284462944630446314463244633446344463544636446374463844639446404464144642446434464444645446464464744648446494465044651446524465344654446554465644657446584465944660446614466244663446644466544666446674466844669446704467144672446734467444675446764467744678446794468044681446824468344684446854468644687446884468944690446914469244693446944469544696446974469844699447004470144702447034470444705447064470744708447094471044711447124471344714447154471644717447184471944720447214472244723447244472544726447274472844729447304473144732447334473444735447364473744738447394474044741447424474344744447454474644747447484474944750447514475244753447544475544756447574475844759447604476144762447634476444765447664476744768447694477044771447724477344774447754477644777447784477944780447814478244783447844478544786447874478844789447904479144792447934479444795447964479744798447994480044801448024480344804448054480644807448084480944810448114481244813448144481544816448174481844819448204482144822448234482444825448264482744828448294483044831448324483344834448354483644837448384483944840448414484244843448444484544846448474484844849448504485144852448534485444855448564485744858448594486044861448624486344864448654486644867448684486944870448714487244873448744487544876448774487844879448804488144882448834488444885448864488744888448894489044891448924489344894448954489644897448984489944900449014490244903449044490544906449074490844909449104491144912449134491444915449164491744918449194492044921449224492344924449254492644927449284492944930449314493244933449344493544936449374493844939449404494144942449434494444945449464494744948449494495044951449524495344954449554495644957449584495944960449614496244963449644496544966449674496844969449704497144972449734497444975449764497744978449794498044981449824498344984449854498644987449884498944990449914499244993449944499544996449974499844999450004500145002450034500445005450064500745008450094501045011450124501345014450154501645017450184501945020450214502245023450244502545026450274502845029450304503145032450334503445035450364503745038450394504045041450424504345044450454504645047450484504945050450514505245053450544505545056450574505845059450604506145062450634506445065450664506745068450694507045071450724507345074450754507645077450784507945080450814508245083450844508545086450874508845089450904509145092450934509445095450964509745098450994510045101451024510345104451054510645107451084510945110451114511245113451144511545116451174511845119451204512145122451234512445125451264512745128451294513045131451324513345134451354513645137451384513945140451414514245143451444514545146451474514845149451504515145152451534515445155451564515745158451594516045161451624516345164451654516645167451684516945170451714517245173451744517545176451774517845179451804518145182451834518445185451864518745188451894519045191451924519345194451954519645197451984519945200452014520245203452044520545206452074520845209452104521145212452134521445215452164521745218452194522045221452224522345224452254522645227452284522945230452314523245233452344523545236452374523845239452404524145242452434524445245452464524745248452494525045251452524525345254452554525645257452584525945260452614526245263452644526545266452674526845269452704527145272452734527445275452764527745278452794528045281452824528345284452854528645287452884528945290452914529245293452944529545296452974529845299453004530145302453034530445305453064530745308453094531045311453124531345314453154531645317453184531945320453214532245323453244532545326453274532845329453304533145332453334533445335453364533745338453394534045341453424534345344453454534645347453484534945350453514535245353453544535545356453574535845359453604536145362453634536445365453664536745368453694537045371453724537345374453754537645377453784537945380453814538245383453844538545386453874538845389453904539145392453934539445395453964539745398453994540045401454024540345404454054540645407454084540945410454114541245413454144541545416454174541845419454204542145422454234542445425454264542745428454294543045431454324543345434454354543645437454384543945440454414544245443454444544545446454474544845449454504545145452454534545445455454564545745458454594546045461454624546345464454654546645467454684546945470454714547245473454744547545476454774547845479454804548145482454834548445485454864548745488454894549045491454924549345494454954549645497454984549945500455014550245503455044550545506455074550845509455104551145512455134551445515455164551745518455194552045521455224552345524455254552645527455284552945530455314553245533455344553545536455374553845539455404554145542455434554445545455464554745548455494555045551455524555345554455554555645557455584555945560455614556245563455644556545566455674556845569455704557145572455734557445575455764557745578455794558045581455824558345584455854558645587455884558945590455914559245593455944559545596455974559845599456004560145602456034560445605456064560745608456094561045611456124561345614456154561645617456184561945620456214562245623456244562545626456274562845629456304563145632456334563445635456364563745638456394564045641456424564345644456454564645647456484564945650456514565245653456544565545656456574565845659456604566145662456634566445665456664566745668456694567045671456724567345674456754567645677456784567945680456814568245683456844568545686456874568845689456904569145692456934569445695456964569745698456994570045701457024570345704457054570645707457084570945710457114571245713457144571545716457174571845719457204572145722457234572445725457264572745728457294573045731457324573345734457354573645737457384573945740457414574245743457444574545746457474574845749457504575145752457534575445755457564575745758457594576045761457624576345764457654576645767457684576945770457714577245773457744577545776457774577845779457804578145782457834578445785457864578745788457894579045791457924579345794457954579645797457984579945800458014580245803458044580545806458074580845809458104581145812458134581445815458164581745818458194582045821458224582345824458254582645827458284582945830458314583245833458344583545836458374583845839458404584145842458434584445845458464584745848458494585045851458524585345854458554585645857458584585945860458614586245863458644586545866458674586845869458704587145872458734587445875458764587745878458794588045881458824588345884458854588645887458884588945890458914589245893458944589545896458974589845899459004590145902459034590445905459064590745908459094591045911459124591345914459154591645917459184591945920459214592245923459244592545926459274592845929459304593145932459334593445935459364593745938459394594045941459424594345944459454594645947459484594945950459514595245953459544595545956459574595845959459604596145962459634596445965459664596745968459694597045971459724597345974459754597645977459784597945980459814598245983459844598545986459874598845989459904599145992459934599445995459964599745998459994600046001460024600346004460054600646007460084600946010460114601246013460144601546016460174601846019460204602146022460234602446025460264602746028460294603046031460324603346034460354603646037460384603946040460414604246043460444604546046460474604846049460504605146052460534605446055460564605746058460594606046061460624606346064460654606646067460684606946070460714607246073460744607546076460774607846079460804608146082460834608446085460864608746088460894609046091460924609346094460954609646097460984609946100461014610246103461044610546106461074610846109461104611146112461134611446115461164611746118461194612046121461224612346124461254612646127461284612946130461314613246133461344613546136461374613846139461404614146142461434614446145461464614746148461494615046151461524615346154461554615646157461584615946160461614616246163461644616546166461674616846169461704617146172461734617446175461764617746178461794618046181461824618346184461854618646187461884618946190461914619246193461944619546196461974619846199462004620146202462034620446205462064620746208462094621046211462124621346214462154621646217462184621946220462214622246223462244622546226462274622846229462304623146232462334623446235462364623746238462394624046241462424624346244462454624646247462484624946250462514625246253462544625546256462574625846259462604626146262462634626446265462664626746268462694627046271462724627346274462754627646277462784627946280462814628246283462844628546286462874628846289462904629146292462934629446295462964629746298462994630046301463024630346304463054630646307463084630946310463114631246313463144631546316463174631846319463204632146322463234632446325463264632746328463294633046331463324633346334463354633646337463384633946340463414634246343463444634546346463474634846349463504635146352463534635446355463564635746358463594636046361463624636346364463654636646367463684636946370463714637246373463744637546376463774637846379463804638146382463834638446385463864638746388463894639046391463924639346394463954639646397463984639946400464014640246403464044640546406464074640846409464104641146412464134641446415464164641746418464194642046421464224642346424464254642646427464284642946430464314643246433464344643546436464374643846439464404644146442464434644446445464464644746448464494645046451464524645346454464554645646457464584645946460464614646246463464644646546466464674646846469464704647146472464734647446475464764647746478464794648046481464824648346484464854648646487464884648946490464914649246493464944649546496464974649846499465004650146502465034650446505465064650746508465094651046511465124651346514465154651646517465184651946520465214652246523465244652546526465274652846529465304653146532465334653446535465364653746538465394654046541465424654346544465454654646547465484654946550465514655246553465544655546556465574655846559465604656146562465634656446565465664656746568465694657046571465724657346574465754657646577465784657946580465814658246583465844658546586465874658846589465904659146592465934659446595465964659746598465994660046601466024660346604466054660646607466084660946610466114661246613466144661546616466174661846619466204662146622466234662446625466264662746628466294663046631466324663346634466354663646637466384663946640466414664246643466444664546646466474664846649466504665146652466534665446655466564665746658466594666046661466624666346664466654666646667466684666946670466714667246673466744667546676466774667846679466804668146682466834668446685466864668746688466894669046691466924669346694466954669646697466984669946700467014670246703467044670546706467074670846709467104671146712467134671446715467164671746718467194672046721467224672346724467254672646727467284672946730467314673246733467344673546736467374673846739467404674146742467434674446745467464674746748467494675046751467524675346754467554675646757467584675946760467614676246763467644676546766467674676846769467704677146772467734677446775467764677746778467794678046781467824678346784467854678646787467884678946790467914679246793467944679546796467974679846799468004680146802468034680446805468064680746808468094681046811468124681346814468154681646817468184681946820468214682246823468244682546826468274682846829468304683146832468334683446835468364683746838468394684046841468424684346844468454684646847468484684946850468514685246853468544685546856468574685846859468604686146862468634686446865468664686746868468694687046871468724687346874468754687646877468784687946880468814688246883468844688546886468874688846889468904689146892468934689446895468964689746898468994690046901469024690346904469054690646907469084690946910469114691246913469144691546916469174691846919469204692146922469234692446925469264692746928469294693046931469324693346934469354693646937469384693946940469414694246943469444694546946469474694846949469504695146952469534695446955469564695746958469594696046961469624696346964469654696646967469684696946970469714697246973469744697546976469774697846979469804698146982469834698446985469864698746988469894699046991469924699346994469954699646997469984699947000470014700247003470044700547006470074700847009470104701147012470134701447015470164701747018470194702047021470224702347024470254702647027470284702947030470314703247033470344703547036470374703847039470404704147042470434704447045470464704747048470494705047051470524705347054470554705647057470584705947060470614706247063470644706547066470674706847069470704707147072470734707447075470764707747078470794708047081470824708347084470854708647087470884708947090470914709247093470944709547096470974709847099471004710147102471034710447105471064710747108471094711047111471124711347114471154711647117471184711947120471214712247123471244712547126471274712847129471304713147132471334713447135471364713747138471394714047141471424714347144471454714647147471484714947150471514715247153471544715547156471574715847159471604716147162471634716447165471664716747168471694717047171471724717347174471754717647177471784717947180471814718247183471844718547186471874718847189471904719147192471934719447195471964719747198471994720047201472024720347204472054720647207472084720947210472114721247213472144721547216472174721847219472204722147222472234722447225472264722747228472294723047231472324723347234472354723647237472384723947240472414724247243472444724547246472474724847249472504725147252472534725447255472564725747258472594726047261472624726347264472654726647267472684726947270472714727247273472744727547276472774727847279472804728147282472834728447285472864728747288472894729047291472924729347294472954729647297472984729947300473014730247303473044730547306473074730847309473104731147312473134731447315473164731747318473194732047321473224732347324473254732647327473284732947330473314733247333473344733547336473374733847339473404734147342473434734447345473464734747348473494735047351473524735347354473554735647357473584735947360473614736247363473644736547366473674736847369473704737147372473734737447375473764737747378473794738047381473824738347384473854738647387473884738947390473914739247393473944739547396473974739847399474004740147402474034740447405474064740747408474094741047411474124741347414474154741647417474184741947420474214742247423474244742547426474274742847429474304743147432474334743447435474364743747438474394744047441474424744347444474454744647447474484744947450474514745247453474544745547456474574745847459474604746147462474634746447465474664746747468474694747047471474724747347474474754747647477474784747947480474814748247483474844748547486474874748847489474904749147492474934749447495474964749747498474994750047501475024750347504475054750647507475084750947510475114751247513475144751547516475174751847519475204752147522475234752447525475264752747528475294753047531475324753347534475354753647537475384753947540475414754247543475444754547546475474754847549475504755147552475534755447555475564755747558475594756047561475624756347564475654756647567475684756947570475714757247573475744757547576475774757847579475804758147582475834758447585475864758747588475894759047591475924759347594475954759647597475984759947600476014760247603476044760547606476074760847609476104761147612476134761447615476164761747618476194762047621476224762347624476254762647627476284762947630476314763247633476344763547636476374763847639476404764147642476434764447645476464764747648476494765047651476524765347654476554765647657476584765947660476614766247663476644766547666476674766847669476704767147672476734767447675476764767747678476794768047681476824768347684476854768647687476884768947690476914769247693476944769547696476974769847699477004770147702477034770447705477064770747708477094771047711477124771347714477154771647717477184771947720477214772247723477244772547726477274772847729477304773147732477334773447735477364773747738477394774047741477424774347744477454774647747477484774947750477514775247753477544775547756477574775847759477604776147762477634776447765477664776747768477694777047771477724777347774477754777647777477784777947780477814778247783477844778547786477874778847789477904779147792477934779447795477964779747798477994780047801478024780347804478054780647807478084780947810478114781247813478144781547816478174781847819478204782147822478234782447825478264782747828478294783047831478324783347834478354783647837478384783947840478414784247843478444784547846478474784847849478504785147852478534785447855478564785747858478594786047861478624786347864478654786647867478684786947870478714787247873478744787547876478774787847879478804788147882478834788447885478864788747888478894789047891478924789347894478954789647897478984789947900479014790247903479044790547906479074790847909479104791147912479134791447915479164791747918479194792047921479224792347924479254792647927479284792947930479314793247933479344793547936479374793847939479404794147942479434794447945479464794747948479494795047951479524795347954479554795647957479584795947960479614796247963479644796547966479674796847969479704797147972479734797447975479764797747978479794798047981479824798347984479854798647987479884798947990479914799247993479944799547996479974799847999480004800148002480034800448005480064800748008480094801048011480124801348014480154801648017480184801948020480214802248023480244802548026480274802848029480304803148032480334803448035480364803748038480394804048041480424804348044480454804648047480484804948050480514805248053480544805548056480574805848059480604806148062480634806448065480664806748068480694807048071480724807348074480754807648077480784807948080480814808248083480844808548086480874808848089480904809148092480934809448095480964809748098480994810048101481024810348104481054810648107481084810948110481114811248113481144811548116481174811848119481204812148122481234812448125481264812748128481294813048131481324813348134481354813648137481384813948140481414814248143481444814548146481474814848149481504815148152481534815448155481564815748158481594816048161481624816348164481654816648167481684816948170481714817248173481744817548176481774817848179481804818148182481834818448185481864818748188481894819048191481924819348194481954819648197481984819948200482014820248203482044820548206482074820848209482104821148212482134821448215482164821748218482194822048221482224822348224482254822648227482284822948230482314823248233482344823548236482374823848239482404824148242482434824448245482464824748248482494825048251482524825348254482554825648257482584825948260482614826248263482644826548266482674826848269482704827148272482734827448275482764827748278482794828048281482824828348284482854828648287482884828948290482914829248293482944829548296482974829848299483004830148302483034830448305483064830748308483094831048311483124831348314483154831648317483184831948320483214832248323483244832548326483274832848329483304833148332483334833448335483364833748338483394834048341483424834348344483454834648347483484834948350483514835248353483544835548356483574835848359483604836148362483634836448365483664836748368483694837048371483724837348374483754837648377483784837948380483814838248383483844838548386483874838848389483904839148392483934839448395483964839748398483994840048401484024840348404484054840648407484084840948410484114841248413484144841548416484174841848419484204842148422484234842448425484264842748428484294843048431484324843348434484354843648437484384843948440484414844248443484444844548446484474844848449484504845148452484534845448455484564845748458484594846048461484624846348464484654846648467484684846948470484714847248473484744847548476484774847848479484804848148482484834848448485484864848748488484894849048491484924849348494484954849648497484984849948500485014850248503485044850548506485074850848509485104851148512485134851448515485164851748518485194852048521485224852348524485254852648527485284852948530485314853248533485344853548536485374853848539485404854148542485434854448545485464854748548485494855048551485524855348554485554855648557485584855948560485614856248563485644856548566485674856848569485704857148572485734857448575485764857748578485794858048581485824858348584485854858648587485884858948590485914859248593485944859548596485974859848599486004860148602486034860448605486064860748608486094861048611486124861348614486154861648617486184861948620486214862248623486244862548626486274862848629486304863148632486334863448635486364863748638486394864048641486424864348644486454864648647486484864948650486514865248653486544865548656486574865848659486604866148662486634866448665486664866748668486694867048671486724867348674486754867648677486784867948680486814868248683486844868548686486874868848689486904869148692486934869448695486964869748698486994870048701487024870348704487054870648707487084870948710487114871248713487144871548716487174871848719487204872148722487234872448725487264872748728487294873048731487324873348734487354873648737487384873948740487414874248743487444874548746487474874848749487504875148752487534875448755487564875748758487594876048761487624876348764487654876648767487684876948770487714877248773487744877548776487774877848779487804878148782487834878448785487864878748788487894879048791487924879348794487954879648797487984879948800488014880248803488044880548806488074880848809488104881148812488134881448815488164881748818488194882048821488224882348824488254882648827488284882948830488314883248833488344883548836488374883848839488404884148842488434884448845488464884748848488494885048851488524885348854488554885648857488584885948860488614886248863488644886548866488674886848869488704887148872488734887448875488764887748878488794888048881488824888348884488854888648887488884888948890488914889248893488944889548896488974889848899489004890148902489034890448905489064890748908489094891048911489124891348914489154891648917489184891948920489214892248923489244892548926489274892848929489304893148932489334893448935489364893748938489394894048941489424894348944489454894648947489484894948950489514895248953489544895548956489574895848959489604896148962489634896448965489664896748968489694897048971489724897348974489754897648977489784897948980489814898248983489844898548986489874898848989489904899148992489934899448995489964899748998489994900049001490024900349004490054900649007490084900949010490114901249013490144901549016490174901849019490204902149022490234902449025490264902749028490294903049031490324903349034490354903649037490384903949040490414904249043490444904549046490474904849049490504905149052490534905449055490564905749058490594906049061490624906349064490654906649067490684906949070490714907249073490744907549076490774907849079490804908149082490834908449085490864908749088490894909049091490924909349094490954909649097490984909949100491014910249103491044910549106491074910849109491104911149112491134911449115491164911749118491194912049121491224912349124491254912649127491284912949130491314913249133491344913549136491374913849139491404914149142491434914449145491464914749148491494915049151491524915349154491554915649157491584915949160491614916249163491644916549166491674916849169491704917149172491734917449175491764917749178491794918049181491824918349184491854918649187491884918949190491914919249193491944919549196491974919849199492004920149202492034920449205492064920749208492094921049211492124921349214492154921649217492184921949220492214922249223492244922549226492274922849229492304923149232492334923449235492364923749238492394924049241492424924349244492454924649247492484924949250492514925249253492544925549256492574925849259492604926149262492634926449265492664926749268492694927049271492724927349274492754927649277492784927949280492814928249283492844928549286492874928849289492904929149292492934929449295492964929749298492994930049301493024930349304493054930649307493084930949310493114931249313493144931549316493174931849319493204932149322493234932449325493264932749328493294933049331493324933349334493354933649337493384933949340493414934249343493444934549346493474934849349493504935149352493534935449355493564935749358493594936049361493624936349364493654936649367493684936949370493714937249373493744937549376493774937849379493804938149382493834938449385493864938749388493894939049391493924939349394493954939649397493984939949400494014940249403494044940549406494074940849409494104941149412494134941449415494164941749418494194942049421494224942349424494254942649427494284942949430494314943249433494344943549436494374943849439494404944149442494434944449445494464944749448494494945049451494524945349454494554945649457494584945949460494614946249463494644946549466494674946849469494704947149472494734947449475494764947749478494794948049481494824948349484494854948649487494884948949490494914949249493494944949549496494974949849499495004950149502495034950449505495064950749508495094951049511495124951349514495154951649517495184951949520495214952249523495244952549526495274952849529495304953149532495334953449535495364953749538495394954049541495424954349544495454954649547495484954949550495514955249553495544955549556495574955849559495604956149562495634956449565495664956749568495694957049571495724957349574495754957649577495784957949580495814958249583495844958549586495874958849589495904959149592495934959449595495964959749598495994960049601496024960349604496054960649607496084960949610496114961249613496144961549616496174961849619496204962149622496234962449625496264962749628496294963049631496324963349634496354963649637496384963949640496414964249643496444964549646496474964849649496504965149652496534965449655496564965749658496594966049661496624966349664496654966649667496684966949670496714967249673496744967549676496774967849679496804968149682496834968449685496864968749688496894969049691496924969349694496954969649697496984969949700497014970249703497044970549706497074970849709497104971149712497134971449715497164971749718497194972049721497224972349724497254972649727497284972949730497314973249733497344973549736497374973849739497404974149742497434974449745497464974749748497494975049751497524975349754497554975649757497584975949760497614976249763497644976549766497674976849769497704977149772497734977449775497764977749778497794978049781497824978349784497854978649787497884978949790497914979249793497944979549796497974979849799498004980149802498034980449805498064980749808498094981049811498124981349814498154981649817498184981949820498214982249823498244982549826498274982849829498304983149832498334983449835498364983749838498394984049841498424984349844498454984649847498484984949850498514985249853498544985549856498574985849859498604986149862498634986449865498664986749868498694987049871498724987349874498754987649877498784987949880498814988249883498844988549886498874988849889498904989149892498934989449895498964989749898498994990049901499024990349904499054990649907499084990949910499114991249913499144991549916499174991849919499204992149922499234992449925499264992749928499294993049931499324993349934499354993649937499384993949940499414994249943499444994549946499474994849949499504995149952499534995449955499564995749958499594996049961499624996349964499654996649967499684996949970499714997249973499744997549976499774997849979499804998149982499834998449985499864998749988499894999049991499924999349994499954999649997499984999950000500015000250003500045000550006500075000850009500105001150012500135001450015500165001750018500195002050021500225002350024500255002650027500285002950030500315003250033500345003550036500375003850039500405004150042500435004450045500465004750048500495005050051500525005350054500555005650057500585005950060500615006250063500645006550066500675006850069500705007150072500735007450075500765007750078500795008050081500825008350084500855008650087500885008950090500915009250093500945009550096500975009850099501005010150102501035010450105501065010750108501095011050111501125011350114501155011650117501185011950120501215012250123501245012550126501275012850129501305013150132501335013450135501365013750138501395014050141501425014350144501455014650147501485014950150501515015250153501545015550156501575015850159501605016150162501635016450165501665016750168501695017050171501725017350174501755017650177501785017950180501815018250183501845018550186501875018850189501905019150192501935019450195501965019750198501995020050201502025020350204502055020650207502085020950210502115021250213502145021550216502175021850219502205022150222502235022450225502265022750228502295023050231502325023350234502355023650237502385023950240502415024250243502445024550246502475024850249502505025150252502535025450255502565025750258502595026050261502625026350264502655026650267502685026950270502715027250273502745027550276502775027850279502805028150282502835028450285502865028750288502895029050291502925029350294502955029650297502985029950300503015030250303503045030550306503075030850309503105031150312503135031450315503165031750318503195032050321503225032350324503255032650327503285032950330503315033250333503345033550336503375033850339503405034150342503435034450345503465034750348503495035050351503525035350354503555035650357503585035950360503615036250363503645036550366503675036850369503705037150372503735037450375503765037750378503795038050381503825038350384503855038650387503885038950390503915039250393503945039550396503975039850399504005040150402504035040450405504065040750408504095041050411504125041350414504155041650417504185041950420504215042250423504245042550426504275042850429504305043150432504335043450435504365043750438504395044050441504425044350444504455044650447504485044950450504515045250453504545045550456504575045850459504605046150462504635046450465504665046750468504695047050471504725047350474504755047650477504785047950480504815048250483504845048550486504875048850489504905049150492504935049450495504965049750498504995050050501505025050350504505055050650507505085050950510505115051250513505145051550516505175051850519505205052150522505235052450525505265052750528505295053050531505325053350534505355053650537505385053950540505415054250543505445054550546505475054850549505505055150552505535055450555505565055750558505595056050561505625056350564505655056650567505685056950570505715057250573505745057550576505775057850579505805058150582505835058450585505865058750588505895059050591505925059350594505955059650597505985059950600506015060250603506045060550606506075060850609506105061150612506135061450615506165061750618506195062050621506225062350624506255062650627506285062950630506315063250633506345063550636506375063850639506405064150642506435064450645506465064750648506495065050651506525065350654506555065650657506585065950660506615066250663506645066550666506675066850669506705067150672506735067450675506765067750678506795068050681506825068350684506855068650687506885068950690506915069250693506945069550696506975069850699507005070150702507035070450705507065070750708507095071050711507125071350714507155071650717507185071950720507215072250723507245072550726507275072850729507305073150732507335073450735507365073750738507395074050741507425074350744507455074650747507485074950750507515075250753507545075550756507575075850759507605076150762507635076450765507665076750768507695077050771507725077350774507755077650777507785077950780507815078250783507845078550786507875078850789507905079150792507935079450795507965079750798507995080050801508025080350804508055080650807508085080950810508115081250813508145081550816508175081850819508205082150822508235082450825508265082750828508295083050831508325083350834508355083650837508385083950840508415084250843508445084550846508475084850849508505085150852508535085450855508565085750858508595086050861508625086350864508655086650867508685086950870508715087250873508745087550876508775087850879508805088150882508835088450885508865088750888508895089050891508925089350894508955089650897508985089950900509015090250903509045090550906509075090850909509105091150912509135091450915509165091750918509195092050921509225092350924509255092650927509285092950930509315093250933509345093550936509375093850939509405094150942509435094450945509465094750948509495095050951509525095350954509555095650957509585095950960509615096250963509645096550966509675096850969509705097150972509735097450975509765097750978509795098050981509825098350984509855098650987509885098950990509915099250993509945099550996509975099850999510005100151002510035100451005510065100751008510095101051011510125101351014510155101651017510185101951020510215102251023510245102551026510275102851029510305103151032510335103451035510365103751038510395104051041510425104351044510455104651047510485104951050510515105251053510545105551056510575105851059510605106151062510635106451065510665106751068510695107051071510725107351074510755107651077510785107951080510815108251083510845108551086510875108851089510905109151092510935109451095510965109751098510995110051101511025110351104511055110651107511085110951110511115111251113511145111551116511175111851119511205112151122511235112451125511265112751128511295113051131511325113351134511355113651137511385113951140511415114251143511445114551146511475114851149511505115151152511535115451155511565115751158511595116051161511625116351164511655116651167511685116951170511715117251173511745117551176511775117851179511805118151182511835118451185511865118751188511895119051191511925119351194511955119651197511985119951200512015120251203512045120551206512075120851209512105121151212512135121451215512165121751218512195122051221512225122351224512255122651227512285122951230512315123251233512345123551236512375123851239512405124151242512435124451245512465124751248512495125051251512525125351254512555125651257512585125951260512615126251263512645126551266512675126851269512705127151272512735127451275512765127751278512795128051281512825128351284512855128651287512885128951290512915129251293512945129551296512975129851299513005130151302513035130451305513065130751308513095131051311513125131351314513155131651317513185131951320513215132251323513245132551326513275132851329513305133151332513335133451335513365133751338513395134051341513425134351344513455134651347513485134951350513515135251353513545135551356513575135851359513605136151362513635136451365513665136751368513695137051371513725137351374513755137651377513785137951380513815138251383513845138551386513875138851389513905139151392513935139451395513965139751398513995140051401514025140351404514055140651407514085140951410514115141251413514145141551416514175141851419514205142151422514235142451425514265142751428514295143051431514325143351434514355143651437514385143951440514415144251443514445144551446514475144851449514505145151452514535145451455514565145751458514595146051461514625146351464514655146651467514685146951470514715147251473514745147551476514775147851479514805148151482514835148451485514865148751488514895149051491514925149351494514955149651497514985149951500515015150251503515045150551506515075150851509515105151151512515135151451515515165151751518515195152051521515225152351524515255152651527515285152951530515315153251533515345153551536515375153851539515405154151542515435154451545515465154751548515495155051551515525155351554515555155651557515585155951560515615156251563515645156551566515675156851569515705157151572515735157451575515765157751578515795158051581515825158351584515855158651587515885158951590515915159251593515945159551596515975159851599516005160151602516035160451605516065160751608516095161051611516125161351614516155161651617516185161951620516215162251623516245162551626516275162851629516305163151632516335163451635516365163751638516395164051641516425164351644516455164651647516485164951650516515165251653516545165551656516575165851659516605166151662516635166451665516665166751668516695167051671516725167351674516755167651677516785167951680516815168251683516845168551686516875168851689516905169151692516935169451695516965169751698516995170051701517025170351704517055170651707517085170951710517115171251713517145171551716517175171851719517205172151722517235172451725517265172751728517295173051731517325173351734517355173651737517385173951740517415174251743517445174551746517475174851749517505175151752517535175451755517565175751758517595176051761517625176351764517655176651767517685176951770517715177251773517745177551776517775177851779517805178151782517835178451785517865178751788517895179051791517925179351794517955179651797517985179951800518015180251803518045180551806518075180851809518105181151812518135181451815518165181751818518195182051821518225182351824518255182651827518285182951830518315183251833518345183551836518375183851839518405184151842518435184451845518465184751848518495185051851518525185351854518555185651857518585185951860518615186251863518645186551866518675186851869518705187151872518735187451875518765187751878518795188051881518825188351884518855188651887518885188951890518915189251893518945189551896518975189851899519005190151902519035190451905519065190751908519095191051911519125191351914519155191651917519185191951920519215192251923519245192551926519275192851929519305193151932519335193451935519365193751938519395194051941519425194351944519455194651947519485194951950519515195251953519545195551956519575195851959519605196151962519635196451965519665196751968519695197051971519725197351974519755197651977519785197951980519815198251983519845198551986519875198851989519905199151992519935199451995519965199751998519995200052001520025200352004520055200652007520085200952010520115201252013520145201552016520175201852019520205202152022520235202452025520265202752028520295203052031520325203352034520355203652037520385203952040520415204252043520445204552046520475204852049520505205152052520535205452055520565205752058520595206052061520625206352064520655206652067520685206952070520715207252073520745207552076520775207852079520805208152082520835208452085520865208752088520895209052091520925209352094520955209652097520985209952100521015210252103521045210552106521075210852109521105211152112521135211452115521165211752118521195212052121521225212352124521255212652127521285212952130521315213252133521345213552136521375213852139521405214152142521435214452145521465214752148521495215052151521525215352154521555215652157521585215952160521615216252163521645216552166521675216852169521705217152172521735217452175521765217752178521795218052181521825218352184521855218652187521885218952190521915219252193521945219552196521975219852199522005220152202522035220452205522065220752208522095221052211522125221352214522155221652217522185221952220522215222252223522245222552226522275222852229522305223152232522335223452235522365223752238522395224052241522425224352244522455224652247522485224952250522515225252253522545225552256522575225852259522605226152262522635226452265522665226752268522695227052271522725227352274522755227652277522785227952280522815228252283522845228552286522875228852289522905229152292522935229452295522965229752298522995230052301523025230352304523055230652307523085230952310523115231252313523145231552316523175231852319523205232152322523235232452325523265232752328523295233052331523325233352334523355233652337523385233952340523415234252343523445234552346523475234852349523505235152352523535235452355523565235752358523595236052361523625236352364523655236652367523685236952370523715237252373523745237552376523775237852379523805238152382523835238452385523865238752388523895239052391523925239352394523955239652397523985239952400524015240252403524045240552406524075240852409524105241152412524135241452415524165241752418524195242052421524225242352424524255242652427524285242952430524315243252433524345243552436524375243852439524405244152442524435244452445524465244752448524495245052451524525245352454524555245652457524585245952460524615246252463524645246552466524675246852469524705247152472524735247452475524765247752478524795248052481524825248352484524855248652487524885248952490524915249252493524945249552496524975249852499525005250152502525035250452505525065250752508525095251052511525125251352514525155251652517525185251952520525215252252523525245252552526525275252852529525305253152532525335253452535525365253752538525395254052541525425254352544525455254652547525485254952550525515255252553525545255552556525575255852559525605256152562525635256452565525665256752568525695257052571525725257352574525755257652577525785257952580525815258252583525845258552586525875258852589525905259152592525935259452595525965259752598525995260052601526025260352604526055260652607526085260952610526115261252613526145261552616526175261852619526205262152622526235262452625526265262752628526295263052631526325263352634526355263652637526385263952640526415264252643526445264552646526475264852649526505265152652526535265452655526565265752658526595266052661526625266352664526655266652667526685266952670526715267252673526745267552676526775267852679526805268152682526835268452685526865268752688526895269052691526925269352694526955269652697526985269952700527015270252703527045270552706527075270852709527105271152712527135271452715527165271752718527195272052721527225272352724527255272652727527285272952730527315273252733527345273552736527375273852739527405274152742527435274452745527465274752748527495275052751527525275352754527555275652757527585275952760527615276252763527645276552766527675276852769527705277152772527735277452775527765277752778527795278052781527825278352784527855278652787527885278952790527915279252793527945279552796527975279852799528005280152802528035280452805528065280752808528095281052811528125281352814528155281652817528185281952820528215282252823528245282552826528275282852829528305283152832528335283452835528365283752838528395284052841528425284352844528455284652847528485284952850528515285252853528545285552856528575285852859528605286152862528635286452865528665286752868528695287052871528725287352874528755287652877528785287952880528815288252883528845288552886528875288852889528905289152892528935289452895528965289752898528995290052901529025290352904529055290652907529085290952910529115291252913529145291552916529175291852919529205292152922529235292452925529265292752928529295293052931529325293352934529355293652937529385293952940529415294252943529445294552946529475294852949529505295152952529535295452955529565295752958529595296052961529625296352964529655296652967529685296952970529715297252973529745297552976529775297852979529805298152982529835298452985529865298752988529895299052991529925299352994529955299652997529985299953000530015300253003530045300553006530075300853009530105301153012530135301453015530165301753018530195302053021530225302353024530255302653027530285302953030530315303253033530345303553036530375303853039530405304153042530435304453045530465304753048530495305053051530525305353054530555305653057530585305953060530615306253063530645306553066530675306853069530705307153072530735307453075530765307753078530795308053081530825308353084530855308653087530885308953090530915309253093530945309553096530975309853099531005310153102531035310453105531065310753108531095311053111531125311353114531155311653117531185311953120531215312253123531245312553126531275312853129531305313153132531335313453135531365313753138531395314053141531425314353144531455314653147531485314953150531515315253153531545315553156531575315853159531605316153162531635316453165531665316753168531695317053171531725317353174531755317653177531785317953180531815318253183531845318553186531875318853189531905319153192531935319453195531965319753198531995320053201532025320353204532055320653207532085320953210532115321253213532145321553216532175321853219532205322153222532235322453225532265322753228532295323053231532325323353234532355323653237532385323953240532415324253243532445324553246532475324853249532505325153252532535325453255532565325753258532595326053261532625326353264532655326653267532685326953270532715327253273532745327553276532775327853279532805328153282532835328453285532865328753288532895329053291532925329353294532955329653297532985329953300533015330253303533045330553306533075330853309533105331153312533135331453315533165331753318533195332053321533225332353324533255332653327533285332953330533315333253333533345333553336533375333853339533405334153342533435334453345533465334753348533495335053351533525335353354533555335653357533585335953360533615336253363533645336553366533675336853369533705337153372533735337453375533765337753378533795338053381533825338353384533855338653387533885338953390533915339253393533945339553396533975339853399534005340153402534035340453405534065340753408534095341053411534125341353414534155341653417534185341953420534215342253423534245342553426534275342853429534305343153432534335343453435534365343753438534395344053441534425344353444534455344653447534485344953450534515345253453534545345553456534575345853459534605346153462534635346453465534665346753468534695347053471534725347353474534755347653477534785347953480534815348253483534845348553486534875348853489534905349153492534935349453495534965349753498534995350053501535025350353504535055350653507535085350953510535115351253513535145351553516535175351853519535205352153522535235352453525535265352753528535295353053531535325353353534535355353653537535385353953540535415354253543535445354553546535475354853549535505355153552535535355453555535565355753558535595356053561535625356353564535655356653567535685356953570535715357253573535745357553576535775357853579535805358153582535835358453585535865358753588535895359053591535925359353594535955359653597535985359953600536015360253603536045360553606536075360853609536105361153612536135361453615536165361753618536195362053621536225362353624536255362653627536285362953630536315363253633536345363553636536375363853639536405364153642536435364453645536465364753648536495365053651536525365353654536555365653657536585365953660536615366253663536645366553666536675366853669536705367153672536735367453675536765367753678536795368053681536825368353684536855368653687536885368953690536915369253693536945369553696536975369853699537005370153702537035370453705537065370753708537095371053711537125371353714537155371653717537185371953720537215372253723537245372553726537275372853729537305373153732537335373453735537365373753738537395374053741537425374353744537455374653747537485374953750537515375253753537545375553756537575375853759537605376153762537635376453765537665376753768537695377053771537725377353774537755377653777537785377953780537815378253783537845378553786537875378853789537905379153792537935379453795537965379753798537995380053801538025380353804538055380653807538085380953810538115381253813538145381553816538175381853819538205382153822538235382453825538265382753828538295383053831538325383353834538355383653837538385383953840538415384253843538445384553846538475384853849538505385153852538535385453855538565385753858538595386053861538625386353864538655386653867538685386953870538715387253873538745387553876538775387853879538805388153882538835388453885538865388753888538895389053891538925389353894538955389653897538985389953900539015390253903539045390553906539075390853909539105391153912539135391453915539165391753918539195392053921539225392353924539255392653927539285392953930539315393253933539345393553936539375393853939539405394153942539435394453945539465394753948539495395053951539525395353954539555395653957539585395953960539615396253963539645396553966539675396853969539705397153972539735397453975539765397753978539795398053981539825398353984539855398653987539885398953990539915399253993539945399553996539975399853999540005400154002540035400454005540065400754008540095401054011540125401354014540155401654017540185401954020540215402254023540245402554026540275402854029540305403154032540335403454035540365403754038540395404054041540425404354044540455404654047540485404954050540515405254053540545405554056540575405854059540605406154062540635406454065540665406754068540695407054071540725407354074540755407654077540785407954080540815408254083540845408554086540875408854089540905409154092540935409454095540965409754098540995410054101541025410354104541055410654107541085410954110541115411254113541145411554116541175411854119541205412154122541235412454125541265412754128541295413054131541325413354134541355413654137541385413954140541415414254143541445414554146541475414854149541505415154152541535415454155541565415754158541595416054161541625416354164541655416654167541685416954170541715417254173541745417554176541775417854179541805418154182541835418454185541865418754188541895419054191541925419354194541955419654197541985419954200542015420254203542045420554206542075420854209542105421154212542135421454215542165421754218542195422054221542225422354224542255422654227542285422954230542315423254233542345423554236542375423854239542405424154242542435424454245542465424754248542495425054251542525425354254542555425654257542585425954260542615426254263542645426554266542675426854269542705427154272542735427454275542765427754278542795428054281542825428354284542855428654287542885428954290542915429254293542945429554296542975429854299543005430154302543035430454305543065430754308543095431054311543125431354314543155431654317543185431954320543215432254323543245432554326543275432854329543305433154332543335433454335543365433754338543395434054341543425434354344543455434654347543485434954350543515435254353543545435554356543575435854359543605436154362543635436454365543665436754368543695437054371543725437354374543755437654377543785437954380543815438254383543845438554386543875438854389543905439154392543935439454395543965439754398543995440054401544025440354404544055440654407544085440954410544115441254413544145441554416544175441854419544205442154422544235442454425544265442754428544295443054431544325443354434544355443654437544385443954440544415444254443544445444554446544475444854449544505445154452544535445454455544565445754458544595446054461544625446354464544655446654467544685446954470544715447254473544745447554476544775447854479544805448154482544835448454485544865448754488544895449054491544925449354494544955449654497544985449954500545015450254503545045450554506545075450854509545105451154512545135451454515545165451754518545195452054521545225452354524545255452654527545285452954530545315453254533545345453554536545375453854539545405454154542545435454454545545465454754548545495455054551545525455354554545555455654557545585455954560545615456254563545645456554566545675456854569545705457154572545735457454575545765457754578545795458054581545825458354584545855458654587545885458954590545915459254593545945459554596545975459854599546005460154602546035460454605546065460754608546095461054611546125461354614546155461654617546185461954620546215462254623546245462554626546275462854629546305463154632546335463454635546365463754638546395464054641546425464354644546455464654647546485464954650546515465254653546545465554656546575465854659546605466154662546635466454665546665466754668546695467054671546725467354674546755467654677546785467954680546815468254683546845468554686546875468854689546905469154692546935469454695546965469754698546995470054701547025470354704547055470654707547085470954710547115471254713547145471554716547175471854719547205472154722547235472454725547265472754728547295473054731547325473354734547355473654737547385473954740547415474254743547445474554746547475474854749547505475154752547535475454755547565475754758547595476054761547625476354764547655476654767547685476954770547715477254773547745477554776547775477854779547805478154782547835478454785547865478754788547895479054791547925479354794547955479654797547985479954800548015480254803548045480554806548075480854809548105481154812548135481454815548165481754818548195482054821548225482354824548255482654827548285482954830548315483254833548345483554836548375483854839548405484154842548435484454845548465484754848548495485054851548525485354854548555485654857548585485954860548615486254863548645486554866548675486854869548705487154872548735487454875548765487754878548795488054881548825488354884548855488654887548885488954890548915489254893548945489554896548975489854899549005490154902549035490454905549065490754908549095491054911549125491354914549155491654917549185491954920549215492254923549245492554926549275492854929549305493154932549335493454935549365493754938549395494054941549425494354944549455494654947549485494954950549515495254953549545495554956549575495854959549605496154962549635496454965549665496754968549695497054971549725497354974549755497654977549785497954980549815498254983549845498554986549875498854989549905499154992549935499454995549965499754998549995500055001550025500355004550055500655007550085500955010550115501255013550145501555016550175501855019550205502155022550235502455025550265502755028550295503055031550325503355034550355503655037550385503955040550415504255043550445504555046550475504855049550505505155052550535505455055550565505755058550595506055061550625506355064550655506655067550685506955070550715507255073550745507555076550775507855079550805508155082550835508455085550865508755088550895509055091550925509355094550955509655097550985509955100551015510255103551045510555106551075510855109551105511155112551135511455115551165511755118551195512055121551225512355124551255512655127551285512955130551315513255133551345513555136551375513855139551405514155142551435514455145551465514755148551495515055151551525515355154551555515655157551585515955160551615516255163551645516555166551675516855169551705517155172551735517455175551765517755178551795518055181551825518355184551855518655187551885518955190551915519255193551945519555196551975519855199552005520155202552035520455205552065520755208552095521055211552125521355214552155521655217552185521955220552215522255223552245522555226552275522855229552305523155232552335523455235552365523755238552395524055241552425524355244552455524655247552485524955250552515525255253552545525555256552575525855259552605526155262552635526455265552665526755268552695527055271552725527355274552755527655277552785527955280552815528255283552845528555286552875528855289552905529155292552935529455295552965529755298552995530055301553025530355304553055530655307553085530955310553115531255313553145531555316553175531855319553205532155322553235532455325553265532755328553295533055331553325533355334553355533655337553385533955340553415534255343553445534555346553475534855349553505535155352553535535455355553565535755358553595536055361553625536355364553655536655367553685536955370553715537255373553745537555376553775537855379553805538155382553835538455385553865538755388553895539055391553925539355394553955539655397553985539955400554015540255403554045540555406554075540855409554105541155412554135541455415554165541755418554195542055421554225542355424554255542655427554285542955430554315543255433554345543555436554375543855439554405544155442554435544455445554465544755448554495545055451554525545355454554555545655457554585545955460554615546255463554645546555466554675546855469554705547155472554735547455475554765547755478554795548055481554825548355484554855548655487554885548955490554915549255493554945549555496554975549855499555005550155502555035550455505555065550755508555095551055511555125551355514555155551655517555185551955520555215552255523555245552555526555275552855529555305553155532555335553455535555365553755538555395554055541555425554355544555455554655547555485554955550555515555255553555545555555556555575555855559555605556155562555635556455565555665556755568555695557055571555725557355574555755557655577555785557955580555815558255583555845558555586555875558855589555905559155592555935559455595555965559755598555995560055601556025560355604556055560655607556085560955610556115561255613556145561555616556175561855619556205562155622556235562455625556265562755628556295563055631556325563355634556355563655637556385563955640556415564255643556445564555646556475564855649556505565155652556535565455655556565565755658556595566055661556625566355664556655566655667556685566955670556715567255673556745567555676556775567855679556805568155682556835568455685556865568755688556895569055691556925569355694556955569655697556985569955700557015570255703557045570555706557075570855709557105571155712557135571455715557165571755718557195572055721557225572355724557255572655727557285572955730557315573255733557345573555736557375573855739557405574155742557435574455745557465574755748557495575055751557525575355754557555575655757557585575955760557615576255763557645576555766557675576855769557705577155772557735577455775557765577755778557795578055781557825578355784557855578655787557885578955790557915579255793557945579555796557975579855799558005580155802558035580455805558065580755808558095581055811558125581355814558155581655817558185581955820558215582255823558245582555826558275582855829558305583155832558335583455835558365583755838558395584055841558425584355844558455584655847558485584955850558515585255853558545585555856558575585855859558605586155862558635586455865558665586755868558695587055871558725587355874558755587655877558785587955880558815588255883558845588555886558875588855889558905589155892558935589455895558965589755898558995590055901559025590355904559055590655907559085590955910559115591255913559145591555916559175591855919559205592155922559235592455925559265592755928559295593055931559325593355934559355593655937559385593955940559415594255943559445594555946559475594855949559505595155952559535595455955559565595755958559595596055961559625596355964559655596655967559685596955970559715597255973559745597555976559775597855979559805598155982559835598455985559865598755988559895599055991559925599355994559955599655997559985599956000560015600256003560045600556006560075600856009560105601156012560135601456015560165601756018560195602056021560225602356024560255602656027560285602956030560315603256033560345603556036560375603856039560405604156042560435604456045560465604756048560495605056051560525605356054560555605656057560585605956060560615606256063560645606556066560675606856069560705607156072560735607456075560765607756078560795608056081560825608356084560855608656087560885608956090560915609256093560945609556096560975609856099561005610156102561035610456105561065610756108561095611056111561125611356114561155611656117561185611956120561215612256123561245612556126561275612856129561305613156132561335613456135561365613756138561395614056141561425614356144561455614656147561485614956150561515615256153561545615556156561575615856159561605616156162561635616456165561665616756168561695617056171561725617356174561755617656177561785617956180561815618256183561845618556186561875618856189561905619156192561935619456195561965619756198561995620056201562025620356204562055620656207562085620956210562115621256213562145621556216562175621856219562205622156222562235622456225562265622756228562295623056231562325623356234562355623656237562385623956240562415624256243562445624556246562475624856249562505625156252562535625456255562565625756258562595626056261562625626356264562655626656267562685626956270562715627256273562745627556276562775627856279562805628156282562835628456285562865628756288562895629056291562925629356294562955629656297562985629956300563015630256303563045630556306563075630856309563105631156312563135631456315563165631756318563195632056321563225632356324563255632656327563285632956330563315633256333563345633556336563375633856339563405634156342563435634456345563465634756348563495635056351563525635356354563555635656357563585635956360563615636256363563645636556366563675636856369563705637156372563735637456375563765637756378563795638056381563825638356384563855638656387563885638956390563915639256393563945639556396563975639856399564005640156402564035640456405564065640756408564095641056411564125641356414564155641656417564185641956420564215642256423564245642556426564275642856429564305643156432564335643456435564365643756438564395644056441564425644356444564455644656447564485644956450564515645256453564545645556456564575645856459564605646156462564635646456465564665646756468564695647056471564725647356474564755647656477564785647956480564815648256483564845648556486564875648856489564905649156492564935649456495564965649756498564995650056501565025650356504565055650656507565085650956510565115651256513565145651556516565175651856519565205652156522565235652456525565265652756528565295653056531565325653356534565355653656537565385653956540565415654256543565445654556546565475654856549565505655156552565535655456555565565655756558565595656056561565625656356564565655656656567565685656956570565715657256573565745657556576565775657856579565805658156582565835658456585565865658756588565895659056591565925659356594565955659656597565985659956600566015660256603566045660556606566075660856609566105661156612566135661456615566165661756618566195662056621566225662356624566255662656627566285662956630566315663256633566345663556636566375663856639566405664156642566435664456645566465664756648566495665056651566525665356654566555665656657566585665956660566615666256663566645666556666566675666856669566705667156672566735667456675566765667756678566795668056681566825668356684566855668656687566885668956690566915669256693566945669556696566975669856699567005670156702567035670456705567065670756708567095671056711567125671356714567155671656717567185671956720567215672256723567245672556726567275672856729567305673156732567335673456735567365673756738567395674056741567425674356744567455674656747567485674956750567515675256753567545675556756567575675856759567605676156762567635676456765567665676756768567695677056771567725677356774567755677656777567785677956780567815678256783567845678556786567875678856789567905679156792567935679456795567965679756798567995680056801568025680356804568055680656807568085680956810568115681256813568145681556816568175681856819568205682156822568235682456825568265682756828568295683056831568325683356834568355683656837568385683956840568415684256843568445684556846568475684856849568505685156852568535685456855568565685756858568595686056861568625686356864568655686656867568685686956870568715687256873568745687556876568775687856879568805688156882568835688456885568865688756888568895689056891568925689356894568955689656897568985689956900569015690256903569045690556906569075690856909569105691156912569135691456915569165691756918569195692056921569225692356924569255692656927569285692956930569315693256933569345693556936569375693856939569405694156942569435694456945569465694756948569495695056951569525695356954569555695656957569585695956960569615696256963569645696556966569675696856969569705697156972569735697456975569765697756978569795698056981569825698356984569855698656987569885698956990569915699256993569945699556996569975699856999570005700157002570035700457005570065700757008570095701057011570125701357014570155701657017570185701957020570215702257023570245702557026570275702857029570305703157032570335703457035570365703757038570395704057041570425704357044570455704657047570485704957050570515705257053570545705557056570575705857059570605706157062570635706457065570665706757068570695707057071570725707357074570755707657077570785707957080570815708257083570845708557086570875708857089570905709157092570935709457095570965709757098570995710057101571025710357104571055710657107571085710957110571115711257113571145711557116571175711857119571205712157122571235712457125571265712757128571295713057131571325713357134571355713657137571385713957140571415714257143571445714557146571475714857149571505715157152571535715457155571565715757158571595716057161571625716357164571655716657167571685716957170571715717257173571745717557176571775717857179571805718157182571835718457185571865718757188571895719057191571925719357194571955719657197571985719957200572015720257203572045720557206572075720857209572105721157212572135721457215572165721757218572195722057221572225722357224572255722657227572285722957230572315723257233572345723557236572375723857239572405724157242572435724457245572465724757248572495725057251572525725357254572555725657257572585725957260572615726257263572645726557266572675726857269572705727157272572735727457275572765727757278572795728057281572825728357284572855728657287572885728957290572915729257293572945729557296572975729857299573005730157302573035730457305573065730757308573095731057311573125731357314573155731657317573185731957320573215732257323573245732557326573275732857329573305733157332573335733457335573365733757338573395734057341573425734357344573455734657347573485734957350573515735257353573545735557356573575735857359573605736157362573635736457365573665736757368573695737057371573725737357374573755737657377573785737957380573815738257383573845738557386573875738857389573905739157392573935739457395573965739757398573995740057401574025740357404574055740657407574085740957410574115741257413574145741557416574175741857419574205742157422574235742457425574265742757428574295743057431574325743357434574355743657437574385743957440574415744257443574445744557446574475744857449574505745157452574535745457455574565745757458574595746057461574625746357464574655746657467574685746957470574715747257473574745747557476574775747857479574805748157482574835748457485574865748757488574895749057491574925749357494574955749657497574985749957500575015750257503575045750557506575075750857509575105751157512575135751457515575165751757518575195752057521575225752357524575255752657527575285752957530575315753257533575345753557536575375753857539575405754157542575435754457545575465754757548575495755057551575525755357554575555755657557575585755957560575615756257563575645756557566575675756857569575705757157572575735757457575575765757757578575795758057581575825758357584575855758657587575885758957590575915759257593575945759557596575975759857599576005760157602576035760457605576065760757608576095761057611576125761357614576155761657617576185761957620576215762257623576245762557626576275762857629576305763157632576335763457635576365763757638576395764057641576425764357644576455764657647576485764957650576515765257653576545765557656576575765857659576605766157662576635766457665576665766757668576695767057671576725767357674576755767657677576785767957680576815768257683576845768557686576875768857689576905769157692576935769457695576965769757698576995770057701577025770357704577055770657707577085770957710577115771257713577145771557716577175771857719577205772157722577235772457725577265772757728577295773057731577325773357734577355773657737577385773957740577415774257743577445774557746577475774857749577505775157752577535775457755577565775757758577595776057761577625776357764577655776657767577685776957770577715777257773577745777557776577775777857779577805778157782577835778457785577865778757788577895779057791577925779357794577955779657797577985779957800578015780257803578045780557806578075780857809578105781157812578135781457815578165781757818578195782057821578225782357824578255782657827578285782957830578315783257833578345783557836578375783857839578405784157842578435784457845578465784757848578495785057851578525785357854578555785657857578585785957860578615786257863578645786557866578675786857869578705787157872578735787457875578765787757878578795788057881578825788357884578855788657887578885788957890578915789257893578945789557896578975789857899579005790157902579035790457905579065790757908579095791057911579125791357914579155791657917579185791957920579215792257923579245792557926579275792857929579305793157932579335793457935579365793757938579395794057941579425794357944579455794657947579485794957950579515795257953579545795557956579575795857959579605796157962579635796457965579665796757968579695797057971579725797357974579755797657977579785797957980579815798257983579845798557986579875798857989579905799157992579935799457995579965799757998579995800058001580025800358004580055800658007580085800958010580115801258013580145801558016580175801858019580205802158022580235802458025580265802758028580295803058031580325803358034580355803658037580385803958040580415804258043580445804558046580475804858049580505805158052580535805458055580565805758058580595806058061580625806358064580655806658067580685806958070580715807258073580745807558076580775807858079580805808158082580835808458085580865808758088580895809058091580925809358094580955809658097580985809958100581015810258103581045810558106581075810858109581105811158112581135811458115581165811758118581195812058121581225812358124581255812658127581285812958130581315813258133581345813558136581375813858139581405814158142581435814458145581465814758148581495815058151581525815358154581555815658157581585815958160581615816258163581645816558166581675816858169581705817158172581735817458175581765817758178581795818058181581825818358184581855818658187581885818958190581915819258193581945819558196581975819858199582005820158202582035820458205582065820758208582095821058211582125821358214582155821658217582185821958220582215822258223582245822558226582275822858229582305823158232582335823458235582365823758238582395824058241582425824358244582455824658247582485824958250582515825258253582545825558256582575825858259582605826158262582635826458265582665826758268582695827058271582725827358274582755827658277582785827958280582815828258283582845828558286582875828858289582905829158292582935829458295582965829758298582995830058301583025830358304583055830658307583085830958310583115831258313583145831558316583175831858319583205832158322583235832458325583265832758328583295833058331583325833358334583355833658337583385833958340583415834258343583445834558346583475834858349583505835158352583535835458355583565835758358583595836058361583625836358364583655836658367583685836958370583715837258373583745837558376583775837858379583805838158382583835838458385583865838758388583895839058391583925839358394583955839658397583985839958400584015840258403584045840558406584075840858409584105841158412584135841458415584165841758418584195842058421584225842358424584255842658427584285842958430584315843258433584345843558436584375843858439584405844158442584435844458445584465844758448584495845058451584525845358454584555845658457584585845958460584615846258463584645846558466584675846858469584705847158472584735847458475584765847758478584795848058481584825848358484584855848658487584885848958490584915849258493584945849558496584975849858499585005850158502585035850458505585065850758508585095851058511585125851358514585155851658517585185851958520585215852258523585245852558526585275852858529585305853158532585335853458535585365853758538585395854058541585425854358544585455854658547585485854958550585515855258553585545855558556585575855858559585605856158562585635856458565585665856758568585695857058571585725857358574585755857658577585785857958580585815858258583585845858558586585875858858589585905859158592585935859458595585965859758598585995860058601586025860358604586055860658607586085860958610586115861258613586145861558616586175861858619586205862158622586235862458625586265862758628586295863058631586325863358634586355863658637586385863958640586415864258643586445864558646586475864858649586505865158652586535865458655586565865758658586595866058661586625866358664586655866658667586685866958670586715867258673586745867558676586775867858679586805868158682586835868458685586865868758688586895869058691586925869358694586955869658697586985869958700587015870258703587045870558706587075870858709587105871158712587135871458715587165871758718587195872058721587225872358724587255872658727587285872958730587315873258733587345873558736587375873858739587405874158742587435874458745587465874758748587495875058751587525875358754587555875658757587585875958760587615876258763587645876558766587675876858769587705877158772587735877458775587765877758778587795878058781587825878358784587855878658787587885878958790587915879258793587945879558796587975879858799588005880158802588035880458805588065880758808588095881058811588125881358814588155881658817588185881958820588215882258823588245882558826588275882858829588305883158832588335883458835588365883758838588395884058841588425884358844588455884658847588485884958850588515885258853588545885558856588575885858859588605886158862588635886458865588665886758868588695887058871588725887358874588755887658877588785887958880588815888258883588845888558886588875888858889588905889158892588935889458895588965889758898588995890058901589025890358904589055890658907589085890958910589115891258913589145891558916589175891858919589205892158922589235892458925589265892758928589295893058931589325893358934589355893658937589385893958940589415894258943589445894558946589475894858949589505895158952589535895458955589565895758958589595896058961589625896358964589655896658967589685896958970589715897258973589745897558976589775897858979589805898158982589835898458985589865898758988589895899058991589925899358994589955899658997589985899959000590015900259003590045900559006590075900859009590105901159012590135901459015590165901759018590195902059021590225902359024590255902659027590285902959030590315903259033590345903559036590375903859039590405904159042590435904459045590465904759048590495905059051590525905359054590555905659057590585905959060590615906259063590645906559066590675906859069590705907159072590735907459075590765907759078590795908059081590825908359084590855908659087590885908959090590915909259093590945909559096590975909859099591005910159102591035910459105591065910759108591095911059111591125911359114591155911659117591185911959120591215912259123591245912559126591275912859129591305913159132591335913459135591365913759138591395914059141591425914359144591455914659147591485914959150591515915259153591545915559156591575915859159591605916159162591635916459165591665916759168591695917059171591725917359174591755917659177591785917959180591815918259183591845918559186591875918859189591905919159192591935919459195591965919759198591995920059201592025920359204592055920659207592085920959210592115921259213592145921559216592175921859219592205922159222592235922459225592265922759228592295923059231592325923359234592355923659237592385923959240592415924259243592445924559246592475924859249592505925159252592535925459255592565925759258592595926059261592625926359264592655926659267592685926959270592715927259273592745927559276592775927859279592805928159282592835928459285592865928759288592895929059291592925929359294592955929659297592985929959300593015930259303593045930559306593075930859309593105931159312593135931459315593165931759318593195932059321593225932359324593255932659327593285932959330593315933259333593345933559336593375933859339593405934159342593435934459345593465934759348593495935059351593525935359354593555935659357593585935959360593615936259363593645936559366593675936859369593705937159372593735937459375593765937759378593795938059381593825938359384593855938659387593885938959390593915939259393593945939559396593975939859399594005940159402594035940459405594065940759408594095941059411594125941359414594155941659417594185941959420594215942259423594245942559426594275942859429594305943159432594335943459435594365943759438594395944059441594425944359444594455944659447594485944959450594515945259453594545945559456594575945859459594605946159462594635946459465594665946759468594695947059471594725947359474594755947659477594785947959480594815948259483594845948559486594875948859489594905949159492594935949459495594965949759498594995950059501595025950359504595055950659507595085950959510595115951259513595145951559516595175951859519595205952159522595235952459525595265952759528595295953059531595325953359534595355953659537595385953959540595415954259543595445954559546595475954859549595505955159552595535955459555595565955759558595595956059561595625956359564595655956659567595685956959570595715957259573595745957559576595775957859579595805958159582595835958459585595865958759588595895959059591595925959359594595955959659597595985959959600596015960259603596045960559606596075960859609596105961159612596135961459615596165961759618596195962059621596225962359624596255962659627596285962959630596315963259633596345963559636596375963859639596405964159642596435964459645596465964759648596495965059651596525965359654596555965659657596585965959660596615966259663596645966559666596675966859669596705967159672596735967459675596765967759678596795968059681596825968359684596855968659687596885968959690596915969259693596945969559696596975969859699597005970159702597035970459705597065970759708597095971059711597125971359714597155971659717597185971959720597215972259723597245972559726597275972859729597305973159732597335973459735597365973759738597395974059741597425974359744597455974659747597485974959750597515975259753597545975559756597575975859759597605976159762597635976459765597665976759768597695977059771597725977359774597755977659777597785977959780597815978259783597845978559786597875978859789597905979159792597935979459795597965979759798597995980059801598025980359804598055980659807598085980959810598115981259813598145981559816598175981859819598205982159822598235982459825598265982759828598295983059831598325983359834598355983659837598385983959840598415984259843598445984559846598475984859849598505985159852598535985459855598565985759858598595986059861598625986359864598655986659867598685986959870598715987259873598745987559876598775987859879598805988159882598835988459885598865988759888598895989059891598925989359894598955989659897598985989959900
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. package ec2
  3. import (
  4. "fmt"
  5. "time"
  6. "github.com/aws/aws-sdk-go/aws"
  7. "github.com/aws/aws-sdk-go/aws/awsutil"
  8. "github.com/aws/aws-sdk-go/aws/request"
  9. "github.com/aws/aws-sdk-go/private/protocol"
  10. "github.com/aws/aws-sdk-go/private/protocol/ec2query"
  11. )
  12. const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
  13. // AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  14. // client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
  15. // value can be used to capture response data after the request's "Send" method
  16. // is called.
  17. //
  18. // See AcceptReservedInstancesExchangeQuote for usage and error information.
  19. //
  20. // Creating a request object using this method should be used when you want to inject
  21. // custom logic into the request's lifecycle using a custom handler, or if you want to
  22. // access properties on the request object before or after sending the request. If
  23. // you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly
  24. // instead.
  25. //
  26. // Note: You must call the "Send" method on the returned request object in order
  27. // to execute the request.
  28. //
  29. // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
  30. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
  31. //
  32. // err := req.Send()
  33. // if err == nil { // resp is now filled
  34. // fmt.Println(resp)
  35. // }
  36. //
  37. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  38. func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) {
  39. op := &request.Operation{
  40. Name: opAcceptReservedInstancesExchangeQuote,
  41. HTTPMethod: "POST",
  42. HTTPPath: "/",
  43. }
  44. if input == nil {
  45. input = &AcceptReservedInstancesExchangeQuoteInput{}
  46. }
  47. output = &AcceptReservedInstancesExchangeQuoteOutput{}
  48. req = c.newRequest(op, input, output)
  49. return
  50. }
  51. // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  52. //
  53. // Accepts the Convertible Reserved Instance exchange quote described in the
  54. // GetReservedInstancesExchangeQuote call.
  55. //
  56. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  57. // with awserr.Error's Code and Message methods to get detailed information about
  58. // the error.
  59. //
  60. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  61. // API operation AcceptReservedInstancesExchangeQuote for usage and error information.
  62. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  63. func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  64. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  65. return out, req.Send()
  66. }
  67. // AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
  68. // the ability to pass a context and additional request options.
  69. //
  70. // See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
  71. //
  72. // The context must be non-nil and will be used for request cancellation. If
  73. // the context is nil a panic will occur. In the future the SDK may create
  74. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  75. // for more information on using Contexts.
  76. func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  77. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  78. req.SetContext(ctx)
  79. req.ApplyOptions(opts...)
  80. return out, req.Send()
  81. }
  82. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  83. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  84. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  85. // value can be used to capture response data after the request's "Send" method
  86. // is called.
  87. //
  88. // See AcceptVpcPeeringConnection for usage and error information.
  89. //
  90. // Creating a request object using this method should be used when you want to inject
  91. // custom logic into the request's lifecycle using a custom handler, or if you want to
  92. // access properties on the request object before or after sending the request. If
  93. // you just want the service response, call the AcceptVpcPeeringConnection method directly
  94. // instead.
  95. //
  96. // Note: You must call the "Send" method on the returned request object in order
  97. // to execute the request.
  98. //
  99. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  100. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  101. //
  102. // err := req.Send()
  103. // if err == nil { // resp is now filled
  104. // fmt.Println(resp)
  105. // }
  106. //
  107. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  108. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  109. op := &request.Operation{
  110. Name: opAcceptVpcPeeringConnection,
  111. HTTPMethod: "POST",
  112. HTTPPath: "/",
  113. }
  114. if input == nil {
  115. input = &AcceptVpcPeeringConnectionInput{}
  116. }
  117. output = &AcceptVpcPeeringConnectionOutput{}
  118. req = c.newRequest(op, input, output)
  119. return
  120. }
  121. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  122. //
  123. // Accept a VPC peering connection request. To accept a request, the VPC peering
  124. // connection must be in the pending-acceptance state, and you must be the owner
  125. // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
  126. // VPC peering connection requests.
  127. //
  128. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  129. // with awserr.Error's Code and Message methods to get detailed information about
  130. // the error.
  131. //
  132. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  133. // API operation AcceptVpcPeeringConnection for usage and error information.
  134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  135. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  136. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  137. return out, req.Send()
  138. }
  139. // AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
  140. // the ability to pass a context and additional request options.
  141. //
  142. // See AcceptVpcPeeringConnection for details on how to use this API operation.
  143. //
  144. // The context must be non-nil and will be used for request cancellation. If
  145. // the context is nil a panic will occur. In the future the SDK may create
  146. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  147. // for more information on using Contexts.
  148. func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
  149. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  150. req.SetContext(ctx)
  151. req.ApplyOptions(opts...)
  152. return out, req.Send()
  153. }
  154. const opAllocateAddress = "AllocateAddress"
  155. // AllocateAddressRequest generates a "aws/request.Request" representing the
  156. // client's request for the AllocateAddress operation. The "output" return
  157. // value can be used to capture response data after the request's "Send" method
  158. // is called.
  159. //
  160. // See AllocateAddress for usage and error information.
  161. //
  162. // Creating a request object using this method should be used when you want to inject
  163. // custom logic into the request's lifecycle using a custom handler, or if you want to
  164. // access properties on the request object before or after sending the request. If
  165. // you just want the service response, call the AllocateAddress method directly
  166. // instead.
  167. //
  168. // Note: You must call the "Send" method on the returned request object in order
  169. // to execute the request.
  170. //
  171. // // Example sending a request using the AllocateAddressRequest method.
  172. // req, resp := client.AllocateAddressRequest(params)
  173. //
  174. // err := req.Send()
  175. // if err == nil { // resp is now filled
  176. // fmt.Println(resp)
  177. // }
  178. //
  179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  180. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  181. op := &request.Operation{
  182. Name: opAllocateAddress,
  183. HTTPMethod: "POST",
  184. HTTPPath: "/",
  185. }
  186. if input == nil {
  187. input = &AllocateAddressInput{}
  188. }
  189. output = &AllocateAddressOutput{}
  190. req = c.newRequest(op, input, output)
  191. return
  192. }
  193. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  194. //
  195. // Acquires an Elastic IP address.
  196. //
  197. // An Elastic IP address is for use either in the EC2-Classic platform or in
  198. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  199. // in the Amazon Elastic Compute Cloud User Guide.
  200. //
  201. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  202. // with awserr.Error's Code and Message methods to get detailed information about
  203. // the error.
  204. //
  205. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  206. // API operation AllocateAddress for usage and error information.
  207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  208. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  209. req, out := c.AllocateAddressRequest(input)
  210. return out, req.Send()
  211. }
  212. // AllocateAddressWithContext is the same as AllocateAddress with the addition of
  213. // the ability to pass a context and additional request options.
  214. //
  215. // See AllocateAddress for details on how to use this API operation.
  216. //
  217. // The context must be non-nil and will be used for request cancellation. If
  218. // the context is nil a panic will occur. In the future the SDK may create
  219. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  220. // for more information on using Contexts.
  221. func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
  222. req, out := c.AllocateAddressRequest(input)
  223. req.SetContext(ctx)
  224. req.ApplyOptions(opts...)
  225. return out, req.Send()
  226. }
  227. const opAllocateHosts = "AllocateHosts"
  228. // AllocateHostsRequest generates a "aws/request.Request" representing the
  229. // client's request for the AllocateHosts operation. The "output" return
  230. // value can be used to capture response data after the request's "Send" method
  231. // is called.
  232. //
  233. // See AllocateHosts for usage and error information.
  234. //
  235. // Creating a request object using this method should be used when you want to inject
  236. // custom logic into the request's lifecycle using a custom handler, or if you want to
  237. // access properties on the request object before or after sending the request. If
  238. // you just want the service response, call the AllocateHosts method directly
  239. // instead.
  240. //
  241. // Note: You must call the "Send" method on the returned request object in order
  242. // to execute the request.
  243. //
  244. // // Example sending a request using the AllocateHostsRequest method.
  245. // req, resp := client.AllocateHostsRequest(params)
  246. //
  247. // err := req.Send()
  248. // if err == nil { // resp is now filled
  249. // fmt.Println(resp)
  250. // }
  251. //
  252. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  253. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  254. op := &request.Operation{
  255. Name: opAllocateHosts,
  256. HTTPMethod: "POST",
  257. HTTPPath: "/",
  258. }
  259. if input == nil {
  260. input = &AllocateHostsInput{}
  261. }
  262. output = &AllocateHostsOutput{}
  263. req = c.newRequest(op, input, output)
  264. return
  265. }
  266. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  267. //
  268. // Allocates a Dedicated Host to your account. At minimum you need to specify
  269. // the instance size type, Availability Zone, and quantity of hosts you want
  270. // to allocate.
  271. //
  272. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  273. // with awserr.Error's Code and Message methods to get detailed information about
  274. // the error.
  275. //
  276. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  277. // API operation AllocateHosts for usage and error information.
  278. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  279. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  280. req, out := c.AllocateHostsRequest(input)
  281. return out, req.Send()
  282. }
  283. // AllocateHostsWithContext is the same as AllocateHosts with the addition of
  284. // the ability to pass a context and additional request options.
  285. //
  286. // See AllocateHosts for details on how to use this API operation.
  287. //
  288. // The context must be non-nil and will be used for request cancellation. If
  289. // the context is nil a panic will occur. In the future the SDK may create
  290. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  291. // for more information on using Contexts.
  292. func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
  293. req, out := c.AllocateHostsRequest(input)
  294. req.SetContext(ctx)
  295. req.ApplyOptions(opts...)
  296. return out, req.Send()
  297. }
  298. const opAssignIpv6Addresses = "AssignIpv6Addresses"
  299. // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
  300. // client's request for the AssignIpv6Addresses operation. The "output" return
  301. // value can be used to capture response data after the request's "Send" method
  302. // is called.
  303. //
  304. // See AssignIpv6Addresses for usage and error information.
  305. //
  306. // Creating a request object using this method should be used when you want to inject
  307. // custom logic into the request's lifecycle using a custom handler, or if you want to
  308. // access properties on the request object before or after sending the request. If
  309. // you just want the service response, call the AssignIpv6Addresses method directly
  310. // instead.
  311. //
  312. // Note: You must call the "Send" method on the returned request object in order
  313. // to execute the request.
  314. //
  315. // // Example sending a request using the AssignIpv6AddressesRequest method.
  316. // req, resp := client.AssignIpv6AddressesRequest(params)
  317. //
  318. // err := req.Send()
  319. // if err == nil { // resp is now filled
  320. // fmt.Println(resp)
  321. // }
  322. //
  323. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  324. func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
  325. op := &request.Operation{
  326. Name: opAssignIpv6Addresses,
  327. HTTPMethod: "POST",
  328. HTTPPath: "/",
  329. }
  330. if input == nil {
  331. input = &AssignIpv6AddressesInput{}
  332. }
  333. output = &AssignIpv6AddressesOutput{}
  334. req = c.newRequest(op, input, output)
  335. return
  336. }
  337. // AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  338. //
  339. // Assigns one or more IPv6 addresses to the specified network interface. You
  340. // can specify one or more specific IPv6 addresses, or you can specify the number
  341. // of IPv6 addresses to be automatically assigned from within the subnet's IPv6
  342. // CIDR block range. You can assign as many IPv6 addresses to a network interface
  343. // as you can assign private IPv4 addresses, and the limit varies per instance
  344. // type. For information, see IP Addresses Per Network Interface Per Instance
  345. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  346. // in the Amazon Elastic Compute Cloud User Guide.
  347. //
  348. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  349. // with awserr.Error's Code and Message methods to get detailed information about
  350. // the error.
  351. //
  352. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  353. // API operation AssignIpv6Addresses for usage and error information.
  354. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  355. func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
  356. req, out := c.AssignIpv6AddressesRequest(input)
  357. return out, req.Send()
  358. }
  359. // AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
  360. // the ability to pass a context and additional request options.
  361. //
  362. // See AssignIpv6Addresses for details on how to use this API operation.
  363. //
  364. // The context must be non-nil and will be used for request cancellation. If
  365. // the context is nil a panic will occur. In the future the SDK may create
  366. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  367. // for more information on using Contexts.
  368. func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
  369. req, out := c.AssignIpv6AddressesRequest(input)
  370. req.SetContext(ctx)
  371. req.ApplyOptions(opts...)
  372. return out, req.Send()
  373. }
  374. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  375. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  376. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  377. // value can be used to capture response data after the request's "Send" method
  378. // is called.
  379. //
  380. // See AssignPrivateIpAddresses for usage and error information.
  381. //
  382. // Creating a request object using this method should be used when you want to inject
  383. // custom logic into the request's lifecycle using a custom handler, or if you want to
  384. // access properties on the request object before or after sending the request. If
  385. // you just want the service response, call the AssignPrivateIpAddresses method directly
  386. // instead.
  387. //
  388. // Note: You must call the "Send" method on the returned request object in order
  389. // to execute the request.
  390. //
  391. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  392. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  393. //
  394. // err := req.Send()
  395. // if err == nil { // resp is now filled
  396. // fmt.Println(resp)
  397. // }
  398. //
  399. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  400. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  401. op := &request.Operation{
  402. Name: opAssignPrivateIpAddresses,
  403. HTTPMethod: "POST",
  404. HTTPPath: "/",
  405. }
  406. if input == nil {
  407. input = &AssignPrivateIpAddressesInput{}
  408. }
  409. output = &AssignPrivateIpAddressesOutput{}
  410. req = c.newRequest(op, input, output)
  411. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  412. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  413. return
  414. }
  415. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  416. //
  417. // Assigns one or more secondary private IP addresses to the specified network
  418. // interface. You can specify one or more specific secondary IP addresses, or
  419. // you can specify the number of secondary IP addresses to be automatically
  420. // assigned within the subnet's CIDR block range. The number of secondary IP
  421. // addresses that you can assign to an instance varies by instance type. For
  422. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  423. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  424. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  425. // in the Amazon Elastic Compute Cloud User Guide.
  426. //
  427. // AssignPrivateIpAddresses is available only in EC2-VPC.
  428. //
  429. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  430. // with awserr.Error's Code and Message methods to get detailed information about
  431. // the error.
  432. //
  433. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  434. // API operation AssignPrivateIpAddresses for usage and error information.
  435. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  436. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  437. req, out := c.AssignPrivateIpAddressesRequest(input)
  438. return out, req.Send()
  439. }
  440. // AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
  441. // the ability to pass a context and additional request options.
  442. //
  443. // See AssignPrivateIpAddresses for details on how to use this API operation.
  444. //
  445. // The context must be non-nil and will be used for request cancellation. If
  446. // the context is nil a panic will occur. In the future the SDK may create
  447. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  448. // for more information on using Contexts.
  449. func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
  450. req, out := c.AssignPrivateIpAddressesRequest(input)
  451. req.SetContext(ctx)
  452. req.ApplyOptions(opts...)
  453. return out, req.Send()
  454. }
  455. const opAssociateAddress = "AssociateAddress"
  456. // AssociateAddressRequest generates a "aws/request.Request" representing the
  457. // client's request for the AssociateAddress operation. The "output" return
  458. // value can be used to capture response data after the request's "Send" method
  459. // is called.
  460. //
  461. // See AssociateAddress for usage and error information.
  462. //
  463. // Creating a request object using this method should be used when you want to inject
  464. // custom logic into the request's lifecycle using a custom handler, or if you want to
  465. // access properties on the request object before or after sending the request. If
  466. // you just want the service response, call the AssociateAddress method directly
  467. // instead.
  468. //
  469. // Note: You must call the "Send" method on the returned request object in order
  470. // to execute the request.
  471. //
  472. // // Example sending a request using the AssociateAddressRequest method.
  473. // req, resp := client.AssociateAddressRequest(params)
  474. //
  475. // err := req.Send()
  476. // if err == nil { // resp is now filled
  477. // fmt.Println(resp)
  478. // }
  479. //
  480. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  481. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  482. op := &request.Operation{
  483. Name: opAssociateAddress,
  484. HTTPMethod: "POST",
  485. HTTPPath: "/",
  486. }
  487. if input == nil {
  488. input = &AssociateAddressInput{}
  489. }
  490. output = &AssociateAddressOutput{}
  491. req = c.newRequest(op, input, output)
  492. return
  493. }
  494. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  495. //
  496. // Associates an Elastic IP address with an instance or a network interface.
  497. //
  498. // An Elastic IP address is for use in either the EC2-Classic platform or in
  499. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  500. // in the Amazon Elastic Compute Cloud User Guide.
  501. //
  502. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  503. // already associated with a different instance, it is disassociated from that
  504. // instance and associated with the specified instance. If you associate an
  505. // Elastic IP address with an instance that has an existing Elastic IP address,
  506. // the existing address is disassociated from the instance, but remains allocated
  507. // to your account.
  508. //
  509. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  510. // the Elastic IP address is associated with the primary IP address. If the
  511. // Elastic IP address is already associated with a different instance or a network
  512. // interface, you get an error unless you allow reassociation. You cannot associate
  513. // an Elastic IP address with an instance or network interface that has an existing
  514. // Elastic IP address.
  515. //
  516. // This is an idempotent operation. If you perform the operation more than once,
  517. // Amazon EC2 doesn't return an error, and you may be charged for each time
  518. // the Elastic IP address is remapped to the same instance. For more information,
  519. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  520. //
  521. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  522. // with awserr.Error's Code and Message methods to get detailed information about
  523. // the error.
  524. //
  525. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  526. // API operation AssociateAddress for usage and error information.
  527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  528. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  529. req, out := c.AssociateAddressRequest(input)
  530. return out, req.Send()
  531. }
  532. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  533. // the ability to pass a context and additional request options.
  534. //
  535. // See AssociateAddress for details on how to use this API operation.
  536. //
  537. // The context must be non-nil and will be used for request cancellation. If
  538. // the context is nil a panic will occur. In the future the SDK may create
  539. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  540. // for more information on using Contexts.
  541. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  542. req, out := c.AssociateAddressRequest(input)
  543. req.SetContext(ctx)
  544. req.ApplyOptions(opts...)
  545. return out, req.Send()
  546. }
  547. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  548. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  549. // client's request for the AssociateDhcpOptions operation. The "output" return
  550. // value can be used to capture response data after the request's "Send" method
  551. // is called.
  552. //
  553. // See AssociateDhcpOptions for usage and error information.
  554. //
  555. // Creating a request object using this method should be used when you want to inject
  556. // custom logic into the request's lifecycle using a custom handler, or if you want to
  557. // access properties on the request object before or after sending the request. If
  558. // you just want the service response, call the AssociateDhcpOptions method directly
  559. // instead.
  560. //
  561. // Note: You must call the "Send" method on the returned request object in order
  562. // to execute the request.
  563. //
  564. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  565. // req, resp := client.AssociateDhcpOptionsRequest(params)
  566. //
  567. // err := req.Send()
  568. // if err == nil { // resp is now filled
  569. // fmt.Println(resp)
  570. // }
  571. //
  572. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  573. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  574. op := &request.Operation{
  575. Name: opAssociateDhcpOptions,
  576. HTTPMethod: "POST",
  577. HTTPPath: "/",
  578. }
  579. if input == nil {
  580. input = &AssociateDhcpOptionsInput{}
  581. }
  582. output = &AssociateDhcpOptionsOutput{}
  583. req = c.newRequest(op, input, output)
  584. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  585. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  586. return
  587. }
  588. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  589. //
  590. // Associates a set of DHCP options (that you've previously created) with the
  591. // specified VPC, or associates no DHCP options with the VPC.
  592. //
  593. // After you associate the options with the VPC, any existing instances and
  594. // all new instances that you launch in that VPC use the options. You don't
  595. // need to restart or relaunch the instances. They automatically pick up the
  596. // changes within a few hours, depending on how frequently the instance renews
  597. // its DHCP lease. You can explicitly renew the lease using the operating system
  598. // on the instance.
  599. //
  600. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  601. // in the Amazon Virtual Private Cloud User Guide.
  602. //
  603. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  604. // with awserr.Error's Code and Message methods to get detailed information about
  605. // the error.
  606. //
  607. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  608. // API operation AssociateDhcpOptions for usage and error information.
  609. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  610. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  611. req, out := c.AssociateDhcpOptionsRequest(input)
  612. return out, req.Send()
  613. }
  614. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  615. // the ability to pass a context and additional request options.
  616. //
  617. // See AssociateDhcpOptions for details on how to use this API operation.
  618. //
  619. // The context must be non-nil and will be used for request cancellation. If
  620. // the context is nil a panic will occur. In the future the SDK may create
  621. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  622. // for more information on using Contexts.
  623. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  624. req, out := c.AssociateDhcpOptionsRequest(input)
  625. req.SetContext(ctx)
  626. req.ApplyOptions(opts...)
  627. return out, req.Send()
  628. }
  629. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  630. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  631. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  632. // value can be used to capture response data after the request's "Send" method
  633. // is called.
  634. //
  635. // See AssociateIamInstanceProfile for usage and error information.
  636. //
  637. // Creating a request object using this method should be used when you want to inject
  638. // custom logic into the request's lifecycle using a custom handler, or if you want to
  639. // access properties on the request object before or after sending the request. If
  640. // you just want the service response, call the AssociateIamInstanceProfile method directly
  641. // instead.
  642. //
  643. // Note: You must call the "Send" method on the returned request object in order
  644. // to execute the request.
  645. //
  646. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  647. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  648. //
  649. // err := req.Send()
  650. // if err == nil { // resp is now filled
  651. // fmt.Println(resp)
  652. // }
  653. //
  654. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  655. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  656. op := &request.Operation{
  657. Name: opAssociateIamInstanceProfile,
  658. HTTPMethod: "POST",
  659. HTTPPath: "/",
  660. }
  661. if input == nil {
  662. input = &AssociateIamInstanceProfileInput{}
  663. }
  664. output = &AssociateIamInstanceProfileOutput{}
  665. req = c.newRequest(op, input, output)
  666. return
  667. }
  668. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  669. //
  670. // Associates an IAM instance profile with a running or stopped instance. You
  671. // cannot associate more than one IAM instance profile with an instance.
  672. //
  673. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  674. // with awserr.Error's Code and Message methods to get detailed information about
  675. // the error.
  676. //
  677. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  678. // API operation AssociateIamInstanceProfile for usage and error information.
  679. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  680. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  681. req, out := c.AssociateIamInstanceProfileRequest(input)
  682. return out, req.Send()
  683. }
  684. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  685. // the ability to pass a context and additional request options.
  686. //
  687. // See AssociateIamInstanceProfile for details on how to use this API operation.
  688. //
  689. // The context must be non-nil and will be used for request cancellation. If
  690. // the context is nil a panic will occur. In the future the SDK may create
  691. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  692. // for more information on using Contexts.
  693. func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  694. req, out := c.AssociateIamInstanceProfileRequest(input)
  695. req.SetContext(ctx)
  696. req.ApplyOptions(opts...)
  697. return out, req.Send()
  698. }
  699. const opAssociateRouteTable = "AssociateRouteTable"
  700. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  701. // client's request for the AssociateRouteTable operation. The "output" return
  702. // value can be used to capture response data after the request's "Send" method
  703. // is called.
  704. //
  705. // See AssociateRouteTable for usage and error information.
  706. //
  707. // Creating a request object using this method should be used when you want to inject
  708. // custom logic into the request's lifecycle using a custom handler, or if you want to
  709. // access properties on the request object before or after sending the request. If
  710. // you just want the service response, call the AssociateRouteTable method directly
  711. // instead.
  712. //
  713. // Note: You must call the "Send" method on the returned request object in order
  714. // to execute the request.
  715. //
  716. // // Example sending a request using the AssociateRouteTableRequest method.
  717. // req, resp := client.AssociateRouteTableRequest(params)
  718. //
  719. // err := req.Send()
  720. // if err == nil { // resp is now filled
  721. // fmt.Println(resp)
  722. // }
  723. //
  724. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  725. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  726. op := &request.Operation{
  727. Name: opAssociateRouteTable,
  728. HTTPMethod: "POST",
  729. HTTPPath: "/",
  730. }
  731. if input == nil {
  732. input = &AssociateRouteTableInput{}
  733. }
  734. output = &AssociateRouteTableOutput{}
  735. req = c.newRequest(op, input, output)
  736. return
  737. }
  738. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  739. //
  740. // Associates a subnet with a route table. The subnet and route table must be
  741. // in the same VPC. This association causes traffic originating from the subnet
  742. // to be routed according to the routes in the route table. The action returns
  743. // an association ID, which you need in order to disassociate the route table
  744. // from the subnet later. A route table can be associated with multiple subnets.
  745. //
  746. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  747. // in the Amazon Virtual Private Cloud User Guide.
  748. //
  749. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  750. // with awserr.Error's Code and Message methods to get detailed information about
  751. // the error.
  752. //
  753. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  754. // API operation AssociateRouteTable for usage and error information.
  755. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  756. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  757. req, out := c.AssociateRouteTableRequest(input)
  758. return out, req.Send()
  759. }
  760. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  761. // the ability to pass a context and additional request options.
  762. //
  763. // See AssociateRouteTable for details on how to use this API operation.
  764. //
  765. // The context must be non-nil and will be used for request cancellation. If
  766. // the context is nil a panic will occur. In the future the SDK may create
  767. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  768. // for more information on using Contexts.
  769. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  770. req, out := c.AssociateRouteTableRequest(input)
  771. req.SetContext(ctx)
  772. req.ApplyOptions(opts...)
  773. return out, req.Send()
  774. }
  775. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  776. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  777. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  778. // value can be used to capture response data after the request's "Send" method
  779. // is called.
  780. //
  781. // See AssociateSubnetCidrBlock for usage and error information.
  782. //
  783. // Creating a request object using this method should be used when you want to inject
  784. // custom logic into the request's lifecycle using a custom handler, or if you want to
  785. // access properties on the request object before or after sending the request. If
  786. // you just want the service response, call the AssociateSubnetCidrBlock method directly
  787. // instead.
  788. //
  789. // Note: You must call the "Send" method on the returned request object in order
  790. // to execute the request.
  791. //
  792. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  793. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  794. //
  795. // err := req.Send()
  796. // if err == nil { // resp is now filled
  797. // fmt.Println(resp)
  798. // }
  799. //
  800. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  801. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  802. op := &request.Operation{
  803. Name: opAssociateSubnetCidrBlock,
  804. HTTPMethod: "POST",
  805. HTTPPath: "/",
  806. }
  807. if input == nil {
  808. input = &AssociateSubnetCidrBlockInput{}
  809. }
  810. output = &AssociateSubnetCidrBlockOutput{}
  811. req = c.newRequest(op, input, output)
  812. return
  813. }
  814. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  815. //
  816. // Associates a CIDR block with your subnet. You can only associate a single
  817. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  818. // of /64.
  819. //
  820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  821. // with awserr.Error's Code and Message methods to get detailed information about
  822. // the error.
  823. //
  824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  825. // API operation AssociateSubnetCidrBlock for usage and error information.
  826. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  827. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  828. req, out := c.AssociateSubnetCidrBlockRequest(input)
  829. return out, req.Send()
  830. }
  831. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  832. // the ability to pass a context and additional request options.
  833. //
  834. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  835. //
  836. // The context must be non-nil and will be used for request cancellation. If
  837. // the context is nil a panic will occur. In the future the SDK may create
  838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  839. // for more information on using Contexts.
  840. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  841. req, out := c.AssociateSubnetCidrBlockRequest(input)
  842. req.SetContext(ctx)
  843. req.ApplyOptions(opts...)
  844. return out, req.Send()
  845. }
  846. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  847. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  848. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  849. // value can be used to capture response data after the request's "Send" method
  850. // is called.
  851. //
  852. // See AssociateVpcCidrBlock for usage and error information.
  853. //
  854. // Creating a request object using this method should be used when you want to inject
  855. // custom logic into the request's lifecycle using a custom handler, or if you want to
  856. // access properties on the request object before or after sending the request. If
  857. // you just want the service response, call the AssociateVpcCidrBlock method directly
  858. // instead.
  859. //
  860. // Note: You must call the "Send" method on the returned request object in order
  861. // to execute the request.
  862. //
  863. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  864. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  865. //
  866. // err := req.Send()
  867. // if err == nil { // resp is now filled
  868. // fmt.Println(resp)
  869. // }
  870. //
  871. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  872. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  873. op := &request.Operation{
  874. Name: opAssociateVpcCidrBlock,
  875. HTTPMethod: "POST",
  876. HTTPPath: "/",
  877. }
  878. if input == nil {
  879. input = &AssociateVpcCidrBlockInput{}
  880. }
  881. output = &AssociateVpcCidrBlockOutput{}
  882. req = c.newRequest(op, input, output)
  883. return
  884. }
  885. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  886. //
  887. // Associates a CIDR block with your VPC. You can only associate a single Amazon-provided
  888. // IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.
  889. //
  890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  891. // with awserr.Error's Code and Message methods to get detailed information about
  892. // the error.
  893. //
  894. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  895. // API operation AssociateVpcCidrBlock for usage and error information.
  896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  897. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  898. req, out := c.AssociateVpcCidrBlockRequest(input)
  899. return out, req.Send()
  900. }
  901. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  902. // the ability to pass a context and additional request options.
  903. //
  904. // See AssociateVpcCidrBlock for details on how to use this API operation.
  905. //
  906. // The context must be non-nil and will be used for request cancellation. If
  907. // the context is nil a panic will occur. In the future the SDK may create
  908. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  909. // for more information on using Contexts.
  910. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  911. req, out := c.AssociateVpcCidrBlockRequest(input)
  912. req.SetContext(ctx)
  913. req.ApplyOptions(opts...)
  914. return out, req.Send()
  915. }
  916. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  917. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  918. // client's request for the AttachClassicLinkVpc operation. The "output" return
  919. // value can be used to capture response data after the request's "Send" method
  920. // is called.
  921. //
  922. // See AttachClassicLinkVpc for usage and error information.
  923. //
  924. // Creating a request object using this method should be used when you want to inject
  925. // custom logic into the request's lifecycle using a custom handler, or if you want to
  926. // access properties on the request object before or after sending the request. If
  927. // you just want the service response, call the AttachClassicLinkVpc method directly
  928. // instead.
  929. //
  930. // Note: You must call the "Send" method on the returned request object in order
  931. // to execute the request.
  932. //
  933. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  934. // req, resp := client.AttachClassicLinkVpcRequest(params)
  935. //
  936. // err := req.Send()
  937. // if err == nil { // resp is now filled
  938. // fmt.Println(resp)
  939. // }
  940. //
  941. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  942. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  943. op := &request.Operation{
  944. Name: opAttachClassicLinkVpc,
  945. HTTPMethod: "POST",
  946. HTTPPath: "/",
  947. }
  948. if input == nil {
  949. input = &AttachClassicLinkVpcInput{}
  950. }
  951. output = &AttachClassicLinkVpcOutput{}
  952. req = c.newRequest(op, input, output)
  953. return
  954. }
  955. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  956. //
  957. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  958. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  959. // to more than one VPC at a time. You can only link an instance that's in the
  960. // running state. An instance is automatically unlinked from a VPC when it's
  961. // stopped - you can link it to the VPC again when you restart it.
  962. //
  963. // After you've linked an instance, you cannot change the VPC security groups
  964. // that are associated with it. To change the security groups, you must first
  965. // unlink the instance, and then link it again.
  966. //
  967. // Linking your instance to a VPC is sometimes referred to as attaching your
  968. // instance.
  969. //
  970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  971. // with awserr.Error's Code and Message methods to get detailed information about
  972. // the error.
  973. //
  974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  975. // API operation AttachClassicLinkVpc for usage and error information.
  976. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  977. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  978. req, out := c.AttachClassicLinkVpcRequest(input)
  979. return out, req.Send()
  980. }
  981. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  982. // the ability to pass a context and additional request options.
  983. //
  984. // See AttachClassicLinkVpc for details on how to use this API operation.
  985. //
  986. // The context must be non-nil and will be used for request cancellation. If
  987. // the context is nil a panic will occur. In the future the SDK may create
  988. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  989. // for more information on using Contexts.
  990. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  991. req, out := c.AttachClassicLinkVpcRequest(input)
  992. req.SetContext(ctx)
  993. req.ApplyOptions(opts...)
  994. return out, req.Send()
  995. }
  996. const opAttachInternetGateway = "AttachInternetGateway"
  997. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  998. // client's request for the AttachInternetGateway operation. The "output" return
  999. // value can be used to capture response data after the request's "Send" method
  1000. // is called.
  1001. //
  1002. // See AttachInternetGateway for usage and error information.
  1003. //
  1004. // Creating a request object using this method should be used when you want to inject
  1005. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1006. // access properties on the request object before or after sending the request. If
  1007. // you just want the service response, call the AttachInternetGateway method directly
  1008. // instead.
  1009. //
  1010. // Note: You must call the "Send" method on the returned request object in order
  1011. // to execute the request.
  1012. //
  1013. // // Example sending a request using the AttachInternetGatewayRequest method.
  1014. // req, resp := client.AttachInternetGatewayRequest(params)
  1015. //
  1016. // err := req.Send()
  1017. // if err == nil { // resp is now filled
  1018. // fmt.Println(resp)
  1019. // }
  1020. //
  1021. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1022. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1023. op := &request.Operation{
  1024. Name: opAttachInternetGateway,
  1025. HTTPMethod: "POST",
  1026. HTTPPath: "/",
  1027. }
  1028. if input == nil {
  1029. input = &AttachInternetGatewayInput{}
  1030. }
  1031. output = &AttachInternetGatewayOutput{}
  1032. req = c.newRequest(op, input, output)
  1033. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1034. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1035. return
  1036. }
  1037. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1038. //
  1039. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  1040. // Internet and the VPC. For more information about your VPC and Internet gateway,
  1041. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  1042. //
  1043. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1044. // with awserr.Error's Code and Message methods to get detailed information about
  1045. // the error.
  1046. //
  1047. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1048. // API operation AttachInternetGateway for usage and error information.
  1049. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1050. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1051. req, out := c.AttachInternetGatewayRequest(input)
  1052. return out, req.Send()
  1053. }
  1054. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1055. // the ability to pass a context and additional request options.
  1056. //
  1057. // See AttachInternetGateway for details on how to use this API operation.
  1058. //
  1059. // The context must be non-nil and will be used for request cancellation. If
  1060. // the context is nil a panic will occur. In the future the SDK may create
  1061. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1062. // for more information on using Contexts.
  1063. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1064. req, out := c.AttachInternetGatewayRequest(input)
  1065. req.SetContext(ctx)
  1066. req.ApplyOptions(opts...)
  1067. return out, req.Send()
  1068. }
  1069. const opAttachNetworkInterface = "AttachNetworkInterface"
  1070. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1071. // client's request for the AttachNetworkInterface operation. The "output" return
  1072. // value can be used to capture response data after the request's "Send" method
  1073. // is called.
  1074. //
  1075. // See AttachNetworkInterface for usage and error information.
  1076. //
  1077. // Creating a request object using this method should be used when you want to inject
  1078. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1079. // access properties on the request object before or after sending the request. If
  1080. // you just want the service response, call the AttachNetworkInterface method directly
  1081. // instead.
  1082. //
  1083. // Note: You must call the "Send" method on the returned request object in order
  1084. // to execute the request.
  1085. //
  1086. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1087. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1088. //
  1089. // err := req.Send()
  1090. // if err == nil { // resp is now filled
  1091. // fmt.Println(resp)
  1092. // }
  1093. //
  1094. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1095. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1096. op := &request.Operation{
  1097. Name: opAttachNetworkInterface,
  1098. HTTPMethod: "POST",
  1099. HTTPPath: "/",
  1100. }
  1101. if input == nil {
  1102. input = &AttachNetworkInterfaceInput{}
  1103. }
  1104. output = &AttachNetworkInterfaceOutput{}
  1105. req = c.newRequest(op, input, output)
  1106. return
  1107. }
  1108. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1109. //
  1110. // Attaches a network interface to an instance.
  1111. //
  1112. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1113. // with awserr.Error's Code and Message methods to get detailed information about
  1114. // the error.
  1115. //
  1116. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1117. // API operation AttachNetworkInterface for usage and error information.
  1118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1119. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1120. req, out := c.AttachNetworkInterfaceRequest(input)
  1121. return out, req.Send()
  1122. }
  1123. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1124. // the ability to pass a context and additional request options.
  1125. //
  1126. // See AttachNetworkInterface for details on how to use this API operation.
  1127. //
  1128. // The context must be non-nil and will be used for request cancellation. If
  1129. // the context is nil a panic will occur. In the future the SDK may create
  1130. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1131. // for more information on using Contexts.
  1132. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1133. req, out := c.AttachNetworkInterfaceRequest(input)
  1134. req.SetContext(ctx)
  1135. req.ApplyOptions(opts...)
  1136. return out, req.Send()
  1137. }
  1138. const opAttachVolume = "AttachVolume"
  1139. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1140. // client's request for the AttachVolume operation. The "output" return
  1141. // value can be used to capture response data after the request's "Send" method
  1142. // is called.
  1143. //
  1144. // See AttachVolume for usage and error information.
  1145. //
  1146. // Creating a request object using this method should be used when you want to inject
  1147. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1148. // access properties on the request object before or after sending the request. If
  1149. // you just want the service response, call the AttachVolume method directly
  1150. // instead.
  1151. //
  1152. // Note: You must call the "Send" method on the returned request object in order
  1153. // to execute the request.
  1154. //
  1155. // // Example sending a request using the AttachVolumeRequest method.
  1156. // req, resp := client.AttachVolumeRequest(params)
  1157. //
  1158. // err := req.Send()
  1159. // if err == nil { // resp is now filled
  1160. // fmt.Println(resp)
  1161. // }
  1162. //
  1163. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1164. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1165. op := &request.Operation{
  1166. Name: opAttachVolume,
  1167. HTTPMethod: "POST",
  1168. HTTPPath: "/",
  1169. }
  1170. if input == nil {
  1171. input = &AttachVolumeInput{}
  1172. }
  1173. output = &VolumeAttachment{}
  1174. req = c.newRequest(op, input, output)
  1175. return
  1176. }
  1177. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1178. //
  1179. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1180. // the instance with the specified device name.
  1181. //
  1182. // Encrypted EBS volumes may only be attached to instances that support Amazon
  1183. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1184. // in the Amazon Elastic Compute Cloud User Guide.
  1185. //
  1186. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  1187. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  1188. // Any device names that aren't reserved for instance store volumes can be used
  1189. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  1190. // in the Amazon Elastic Compute Cloud User Guide.
  1191. //
  1192. // If a volume has an AWS Marketplace product code:
  1193. //
  1194. // * The volume can be attached only to a stopped instance.
  1195. //
  1196. // * AWS Marketplace product codes are copied from the volume to the instance.
  1197. //
  1198. // * You must be subscribed to the product.
  1199. //
  1200. // * The instance type and operating system of the instance must support
  1201. // the product. For example, you can't detach a volume from a Windows instance
  1202. // and attach it to a Linux instance.
  1203. //
  1204. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  1205. //
  1206. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  1207. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1208. // in the Amazon Elastic Compute Cloud User Guide.
  1209. //
  1210. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1211. // with awserr.Error's Code and Message methods to get detailed information about
  1212. // the error.
  1213. //
  1214. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1215. // API operation AttachVolume for usage and error information.
  1216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1217. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1218. req, out := c.AttachVolumeRequest(input)
  1219. return out, req.Send()
  1220. }
  1221. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1222. // the ability to pass a context and additional request options.
  1223. //
  1224. // See AttachVolume for details on how to use this API operation.
  1225. //
  1226. // The context must be non-nil and will be used for request cancellation. If
  1227. // the context is nil a panic will occur. In the future the SDK may create
  1228. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1229. // for more information on using Contexts.
  1230. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1231. req, out := c.AttachVolumeRequest(input)
  1232. req.SetContext(ctx)
  1233. req.ApplyOptions(opts...)
  1234. return out, req.Send()
  1235. }
  1236. const opAttachVpnGateway = "AttachVpnGateway"
  1237. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1238. // client's request for the AttachVpnGateway operation. The "output" return
  1239. // value can be used to capture response data after the request's "Send" method
  1240. // is called.
  1241. //
  1242. // See AttachVpnGateway for usage and error information.
  1243. //
  1244. // Creating a request object using this method should be used when you want to inject
  1245. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1246. // access properties on the request object before or after sending the request. If
  1247. // you just want the service response, call the AttachVpnGateway method directly
  1248. // instead.
  1249. //
  1250. // Note: You must call the "Send" method on the returned request object in order
  1251. // to execute the request.
  1252. //
  1253. // // Example sending a request using the AttachVpnGatewayRequest method.
  1254. // req, resp := client.AttachVpnGatewayRequest(params)
  1255. //
  1256. // err := req.Send()
  1257. // if err == nil { // resp is now filled
  1258. // fmt.Println(resp)
  1259. // }
  1260. //
  1261. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1262. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1263. op := &request.Operation{
  1264. Name: opAttachVpnGateway,
  1265. HTTPMethod: "POST",
  1266. HTTPPath: "/",
  1267. }
  1268. if input == nil {
  1269. input = &AttachVpnGatewayInput{}
  1270. }
  1271. output = &AttachVpnGatewayOutput{}
  1272. req = c.newRequest(op, input, output)
  1273. return
  1274. }
  1275. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1276. //
  1277. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1278. // gateway to one VPC at a time.
  1279. //
  1280. // For more information, see Adding a Hardware Virtual Private Gateway to Your
  1281. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1282. // in the Amazon Virtual Private Cloud User Guide.
  1283. //
  1284. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1285. // with awserr.Error's Code and Message methods to get detailed information about
  1286. // the error.
  1287. //
  1288. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1289. // API operation AttachVpnGateway for usage and error information.
  1290. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1291. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1292. req, out := c.AttachVpnGatewayRequest(input)
  1293. return out, req.Send()
  1294. }
  1295. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1296. // the ability to pass a context and additional request options.
  1297. //
  1298. // See AttachVpnGateway for details on how to use this API operation.
  1299. //
  1300. // The context must be non-nil and will be used for request cancellation. If
  1301. // the context is nil a panic will occur. In the future the SDK may create
  1302. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1303. // for more information on using Contexts.
  1304. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1305. req, out := c.AttachVpnGatewayRequest(input)
  1306. req.SetContext(ctx)
  1307. req.ApplyOptions(opts...)
  1308. return out, req.Send()
  1309. }
  1310. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1311. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1312. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  1313. // value can be used to capture response data after the request's "Send" method
  1314. // is called.
  1315. //
  1316. // See AuthorizeSecurityGroupEgress for usage and error information.
  1317. //
  1318. // Creating a request object using this method should be used when you want to inject
  1319. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1320. // access properties on the request object before or after sending the request. If
  1321. // you just want the service response, call the AuthorizeSecurityGroupEgress method directly
  1322. // instead.
  1323. //
  1324. // Note: You must call the "Send" method on the returned request object in order
  1325. // to execute the request.
  1326. //
  1327. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  1328. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  1329. //
  1330. // err := req.Send()
  1331. // if err == nil { // resp is now filled
  1332. // fmt.Println(resp)
  1333. // }
  1334. //
  1335. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1336. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1337. op := &request.Operation{
  1338. Name: opAuthorizeSecurityGroupEgress,
  1339. HTTPMethod: "POST",
  1340. HTTPPath: "/",
  1341. }
  1342. if input == nil {
  1343. input = &AuthorizeSecurityGroupEgressInput{}
  1344. }
  1345. output = &AuthorizeSecurityGroupEgressOutput{}
  1346. req = c.newRequest(op, input, output)
  1347. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1348. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1349. return
  1350. }
  1351. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  1352. //
  1353. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  1354. // with a VPC. Specifically, this action permits instances to send traffic to
  1355. // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
  1356. // destination security groups for the same VPC. This action doesn't apply to
  1357. // security groups for use in EC2-Classic. For more information, see Security
  1358. // Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1359. // in the Amazon Virtual Private Cloud User Guide. For more information about
  1360. // security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1361. //
  1362. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  1363. // range or a source group. For the TCP and UDP protocols, you must also specify
  1364. // the destination port or port range. For the ICMP protocol, you must also
  1365. // specify the ICMP type and code. You can use -1 for the type or code to mean
  1366. // all types or all codes.
  1367. //
  1368. // Rule changes are propagated to affected instances as quickly as possible.
  1369. // However, a small delay might occur.
  1370. //
  1371. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1372. // with awserr.Error's Code and Message methods to get detailed information about
  1373. // the error.
  1374. //
  1375. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1376. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  1377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1378. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  1379. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1380. return out, req.Send()
  1381. }
  1382. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  1383. // the ability to pass a context and additional request options.
  1384. //
  1385. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  1386. //
  1387. // The context must be non-nil and will be used for request cancellation. If
  1388. // the context is nil a panic will occur. In the future the SDK may create
  1389. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1390. // for more information on using Contexts.
  1391. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  1392. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1393. req.SetContext(ctx)
  1394. req.ApplyOptions(opts...)
  1395. return out, req.Send()
  1396. }
  1397. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  1398. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  1399. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  1400. // value can be used to capture response data after the request's "Send" method
  1401. // is called.
  1402. //
  1403. // See AuthorizeSecurityGroupIngress for usage and error information.
  1404. //
  1405. // Creating a request object using this method should be used when you want to inject
  1406. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1407. // access properties on the request object before or after sending the request. If
  1408. // you just want the service response, call the AuthorizeSecurityGroupIngress method directly
  1409. // instead.
  1410. //
  1411. // Note: You must call the "Send" method on the returned request object in order
  1412. // to execute the request.
  1413. //
  1414. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  1415. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  1416. //
  1417. // err := req.Send()
  1418. // if err == nil { // resp is now filled
  1419. // fmt.Println(resp)
  1420. // }
  1421. //
  1422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1423. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  1424. op := &request.Operation{
  1425. Name: opAuthorizeSecurityGroupIngress,
  1426. HTTPMethod: "POST",
  1427. HTTPPath: "/",
  1428. }
  1429. if input == nil {
  1430. input = &AuthorizeSecurityGroupIngressInput{}
  1431. }
  1432. output = &AuthorizeSecurityGroupIngressOutput{}
  1433. req = c.newRequest(op, input, output)
  1434. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1435. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1436. return
  1437. }
  1438. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  1439. //
  1440. // Adds one or more ingress rules to a security group.
  1441. //
  1442. // Rule changes are propagated to instances within the security group as quickly
  1443. // as possible. However, a small delay might occur.
  1444. //
  1445. // [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
  1446. // to access a security group in your account, or gives one or more security
  1447. // groups (called the source groups) permission to access a security group for
  1448. // your account. A source group can be for your own AWS account, or another.
  1449. // You can have up to 100 rules per group.
  1450. //
  1451. // [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
  1452. // permission to access a security group in your VPC, or gives one or more other
  1453. // security groups (called the source groups) permission to access a security
  1454. // group for your VPC. The security groups must all be for the same VPC or a
  1455. // peer VPC in a VPC peering connection. For more information about VPC security
  1456. // group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1457. //
  1458. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1459. // with awserr.Error's Code and Message methods to get detailed information about
  1460. // the error.
  1461. //
  1462. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1463. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  1464. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1465. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  1466. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1467. return out, req.Send()
  1468. }
  1469. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  1470. // the ability to pass a context and additional request options.
  1471. //
  1472. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  1473. //
  1474. // The context must be non-nil and will be used for request cancellation. If
  1475. // the context is nil a panic will occur. In the future the SDK may create
  1476. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1477. // for more information on using Contexts.
  1478. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  1479. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1480. req.SetContext(ctx)
  1481. req.ApplyOptions(opts...)
  1482. return out, req.Send()
  1483. }
  1484. const opBundleInstance = "BundleInstance"
  1485. // BundleInstanceRequest generates a "aws/request.Request" representing the
  1486. // client's request for the BundleInstance operation. The "output" return
  1487. // value can be used to capture response data after the request's "Send" method
  1488. // is called.
  1489. //
  1490. // See BundleInstance for usage and error information.
  1491. //
  1492. // Creating a request object using this method should be used when you want to inject
  1493. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1494. // access properties on the request object before or after sending the request. If
  1495. // you just want the service response, call the BundleInstance method directly
  1496. // instead.
  1497. //
  1498. // Note: You must call the "Send" method on the returned request object in order
  1499. // to execute the request.
  1500. //
  1501. // // Example sending a request using the BundleInstanceRequest method.
  1502. // req, resp := client.BundleInstanceRequest(params)
  1503. //
  1504. // err := req.Send()
  1505. // if err == nil { // resp is now filled
  1506. // fmt.Println(resp)
  1507. // }
  1508. //
  1509. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1510. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  1511. op := &request.Operation{
  1512. Name: opBundleInstance,
  1513. HTTPMethod: "POST",
  1514. HTTPPath: "/",
  1515. }
  1516. if input == nil {
  1517. input = &BundleInstanceInput{}
  1518. }
  1519. output = &BundleInstanceOutput{}
  1520. req = c.newRequest(op, input, output)
  1521. return
  1522. }
  1523. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1524. //
  1525. // Bundles an Amazon instance store-backed Windows instance.
  1526. //
  1527. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1528. // instance store volumes is not preserved.
  1529. //
  1530. // This action is not applicable for Linux/Unix instances or Windows instances
  1531. // that are backed by Amazon EBS.
  1532. //
  1533. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1534. //
  1535. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1536. // with awserr.Error's Code and Message methods to get detailed information about
  1537. // the error.
  1538. //
  1539. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1540. // API operation BundleInstance for usage and error information.
  1541. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1542. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1543. req, out := c.BundleInstanceRequest(input)
  1544. return out, req.Send()
  1545. }
  1546. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  1547. // the ability to pass a context and additional request options.
  1548. //
  1549. // See BundleInstance for details on how to use this API operation.
  1550. //
  1551. // The context must be non-nil and will be used for request cancellation. If
  1552. // the context is nil a panic will occur. In the future the SDK may create
  1553. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1554. // for more information on using Contexts.
  1555. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  1556. req, out := c.BundleInstanceRequest(input)
  1557. req.SetContext(ctx)
  1558. req.ApplyOptions(opts...)
  1559. return out, req.Send()
  1560. }
  1561. const opCancelBundleTask = "CancelBundleTask"
  1562. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1563. // client's request for the CancelBundleTask operation. The "output" return
  1564. // value can be used to capture response data after the request's "Send" method
  1565. // is called.
  1566. //
  1567. // See CancelBundleTask for usage and error information.
  1568. //
  1569. // Creating a request object using this method should be used when you want to inject
  1570. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1571. // access properties on the request object before or after sending the request. If
  1572. // you just want the service response, call the CancelBundleTask method directly
  1573. // instead.
  1574. //
  1575. // Note: You must call the "Send" method on the returned request object in order
  1576. // to execute the request.
  1577. //
  1578. // // Example sending a request using the CancelBundleTaskRequest method.
  1579. // req, resp := client.CancelBundleTaskRequest(params)
  1580. //
  1581. // err := req.Send()
  1582. // if err == nil { // resp is now filled
  1583. // fmt.Println(resp)
  1584. // }
  1585. //
  1586. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1587. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1588. op := &request.Operation{
  1589. Name: opCancelBundleTask,
  1590. HTTPMethod: "POST",
  1591. HTTPPath: "/",
  1592. }
  1593. if input == nil {
  1594. input = &CancelBundleTaskInput{}
  1595. }
  1596. output = &CancelBundleTaskOutput{}
  1597. req = c.newRequest(op, input, output)
  1598. return
  1599. }
  1600. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1601. //
  1602. // Cancels a bundling operation for an instance store-backed Windows instance.
  1603. //
  1604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1605. // with awserr.Error's Code and Message methods to get detailed information about
  1606. // the error.
  1607. //
  1608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1609. // API operation CancelBundleTask for usage and error information.
  1610. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1611. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1612. req, out := c.CancelBundleTaskRequest(input)
  1613. return out, req.Send()
  1614. }
  1615. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  1616. // the ability to pass a context and additional request options.
  1617. //
  1618. // See CancelBundleTask for details on how to use this API operation.
  1619. //
  1620. // The context must be non-nil and will be used for request cancellation. If
  1621. // the context is nil a panic will occur. In the future the SDK may create
  1622. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1623. // for more information on using Contexts.
  1624. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  1625. req, out := c.CancelBundleTaskRequest(input)
  1626. req.SetContext(ctx)
  1627. req.ApplyOptions(opts...)
  1628. return out, req.Send()
  1629. }
  1630. const opCancelConversionTask = "CancelConversionTask"
  1631. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1632. // client's request for the CancelConversionTask operation. The "output" return
  1633. // value can be used to capture response data after the request's "Send" method
  1634. // is called.
  1635. //
  1636. // See CancelConversionTask for usage and error information.
  1637. //
  1638. // Creating a request object using this method should be used when you want to inject
  1639. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1640. // access properties on the request object before or after sending the request. If
  1641. // you just want the service response, call the CancelConversionTask method directly
  1642. // instead.
  1643. //
  1644. // Note: You must call the "Send" method on the returned request object in order
  1645. // to execute the request.
  1646. //
  1647. // // Example sending a request using the CancelConversionTaskRequest method.
  1648. // req, resp := client.CancelConversionTaskRequest(params)
  1649. //
  1650. // err := req.Send()
  1651. // if err == nil { // resp is now filled
  1652. // fmt.Println(resp)
  1653. // }
  1654. //
  1655. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1656. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1657. op := &request.Operation{
  1658. Name: opCancelConversionTask,
  1659. HTTPMethod: "POST",
  1660. HTTPPath: "/",
  1661. }
  1662. if input == nil {
  1663. input = &CancelConversionTaskInput{}
  1664. }
  1665. output = &CancelConversionTaskOutput{}
  1666. req = c.newRequest(op, input, output)
  1667. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1668. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1669. return
  1670. }
  1671. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1672. //
  1673. // Cancels an active conversion task. The task can be the import of an instance
  1674. // or volume. The action removes all artifacts of the conversion, including
  1675. // a partially uploaded volume or instance. If the conversion is complete or
  1676. // is in the process of transferring the final disk image, the command fails
  1677. // and returns an exception.
  1678. //
  1679. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1680. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1681. //
  1682. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1683. // with awserr.Error's Code and Message methods to get detailed information about
  1684. // the error.
  1685. //
  1686. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1687. // API operation CancelConversionTask for usage and error information.
  1688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1689. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1690. req, out := c.CancelConversionTaskRequest(input)
  1691. return out, req.Send()
  1692. }
  1693. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  1694. // the ability to pass a context and additional request options.
  1695. //
  1696. // See CancelConversionTask for details on how to use this API operation.
  1697. //
  1698. // The context must be non-nil and will be used for request cancellation. If
  1699. // the context is nil a panic will occur. In the future the SDK may create
  1700. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1701. // for more information on using Contexts.
  1702. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  1703. req, out := c.CancelConversionTaskRequest(input)
  1704. req.SetContext(ctx)
  1705. req.ApplyOptions(opts...)
  1706. return out, req.Send()
  1707. }
  1708. const opCancelExportTask = "CancelExportTask"
  1709. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1710. // client's request for the CancelExportTask operation. The "output" return
  1711. // value can be used to capture response data after the request's "Send" method
  1712. // is called.
  1713. //
  1714. // See CancelExportTask for usage and error information.
  1715. //
  1716. // Creating a request object using this method should be used when you want to inject
  1717. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1718. // access properties on the request object before or after sending the request. If
  1719. // you just want the service response, call the CancelExportTask method directly
  1720. // instead.
  1721. //
  1722. // Note: You must call the "Send" method on the returned request object in order
  1723. // to execute the request.
  1724. //
  1725. // // Example sending a request using the CancelExportTaskRequest method.
  1726. // req, resp := client.CancelExportTaskRequest(params)
  1727. //
  1728. // err := req.Send()
  1729. // if err == nil { // resp is now filled
  1730. // fmt.Println(resp)
  1731. // }
  1732. //
  1733. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1734. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1735. op := &request.Operation{
  1736. Name: opCancelExportTask,
  1737. HTTPMethod: "POST",
  1738. HTTPPath: "/",
  1739. }
  1740. if input == nil {
  1741. input = &CancelExportTaskInput{}
  1742. }
  1743. output = &CancelExportTaskOutput{}
  1744. req = c.newRequest(op, input, output)
  1745. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1746. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1747. return
  1748. }
  1749. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1750. //
  1751. // Cancels an active export task. The request removes all artifacts of the export,
  1752. // including any partially-created Amazon S3 objects. If the export task is
  1753. // complete or is in the process of transferring the final disk image, the command
  1754. // fails and returns an error.
  1755. //
  1756. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1757. // with awserr.Error's Code and Message methods to get detailed information about
  1758. // the error.
  1759. //
  1760. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1761. // API operation CancelExportTask for usage and error information.
  1762. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1763. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1764. req, out := c.CancelExportTaskRequest(input)
  1765. return out, req.Send()
  1766. }
  1767. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  1768. // the ability to pass a context and additional request options.
  1769. //
  1770. // See CancelExportTask for details on how to use this API operation.
  1771. //
  1772. // The context must be non-nil and will be used for request cancellation. If
  1773. // the context is nil a panic will occur. In the future the SDK may create
  1774. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1775. // for more information on using Contexts.
  1776. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  1777. req, out := c.CancelExportTaskRequest(input)
  1778. req.SetContext(ctx)
  1779. req.ApplyOptions(opts...)
  1780. return out, req.Send()
  1781. }
  1782. const opCancelImportTask = "CancelImportTask"
  1783. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1784. // client's request for the CancelImportTask operation. The "output" return
  1785. // value can be used to capture response data after the request's "Send" method
  1786. // is called.
  1787. //
  1788. // See CancelImportTask for usage and error information.
  1789. //
  1790. // Creating a request object using this method should be used when you want to inject
  1791. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1792. // access properties on the request object before or after sending the request. If
  1793. // you just want the service response, call the CancelImportTask method directly
  1794. // instead.
  1795. //
  1796. // Note: You must call the "Send" method on the returned request object in order
  1797. // to execute the request.
  1798. //
  1799. // // Example sending a request using the CancelImportTaskRequest method.
  1800. // req, resp := client.CancelImportTaskRequest(params)
  1801. //
  1802. // err := req.Send()
  1803. // if err == nil { // resp is now filled
  1804. // fmt.Println(resp)
  1805. // }
  1806. //
  1807. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1808. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1809. op := &request.Operation{
  1810. Name: opCancelImportTask,
  1811. HTTPMethod: "POST",
  1812. HTTPPath: "/",
  1813. }
  1814. if input == nil {
  1815. input = &CancelImportTaskInput{}
  1816. }
  1817. output = &CancelImportTaskOutput{}
  1818. req = c.newRequest(op, input, output)
  1819. return
  1820. }
  1821. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1822. //
  1823. // Cancels an in-process import virtual machine or import snapshot task.
  1824. //
  1825. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1826. // with awserr.Error's Code and Message methods to get detailed information about
  1827. // the error.
  1828. //
  1829. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1830. // API operation CancelImportTask for usage and error information.
  1831. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1832. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1833. req, out := c.CancelImportTaskRequest(input)
  1834. return out, req.Send()
  1835. }
  1836. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  1837. // the ability to pass a context and additional request options.
  1838. //
  1839. // See CancelImportTask for details on how to use this API operation.
  1840. //
  1841. // The context must be non-nil and will be used for request cancellation. If
  1842. // the context is nil a panic will occur. In the future the SDK may create
  1843. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1844. // for more information on using Contexts.
  1845. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  1846. req, out := c.CancelImportTaskRequest(input)
  1847. req.SetContext(ctx)
  1848. req.ApplyOptions(opts...)
  1849. return out, req.Send()
  1850. }
  1851. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1852. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1853. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1854. // value can be used to capture response data after the request's "Send" method
  1855. // is called.
  1856. //
  1857. // See CancelReservedInstancesListing for usage and error information.
  1858. //
  1859. // Creating a request object using this method should be used when you want to inject
  1860. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1861. // access properties on the request object before or after sending the request. If
  1862. // you just want the service response, call the CancelReservedInstancesListing method directly
  1863. // instead.
  1864. //
  1865. // Note: You must call the "Send" method on the returned request object in order
  1866. // to execute the request.
  1867. //
  1868. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1869. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1870. //
  1871. // err := req.Send()
  1872. // if err == nil { // resp is now filled
  1873. // fmt.Println(resp)
  1874. // }
  1875. //
  1876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1877. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1878. op := &request.Operation{
  1879. Name: opCancelReservedInstancesListing,
  1880. HTTPMethod: "POST",
  1881. HTTPPath: "/",
  1882. }
  1883. if input == nil {
  1884. input = &CancelReservedInstancesListingInput{}
  1885. }
  1886. output = &CancelReservedInstancesListingOutput{}
  1887. req = c.newRequest(op, input, output)
  1888. return
  1889. }
  1890. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1891. //
  1892. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1893. // Marketplace.
  1894. //
  1895. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1896. // in the Amazon Elastic Compute Cloud User Guide.
  1897. //
  1898. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1899. // with awserr.Error's Code and Message methods to get detailed information about
  1900. // the error.
  1901. //
  1902. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1903. // API operation CancelReservedInstancesListing for usage and error information.
  1904. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1905. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1906. req, out := c.CancelReservedInstancesListingRequest(input)
  1907. return out, req.Send()
  1908. }
  1909. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  1910. // the ability to pass a context and additional request options.
  1911. //
  1912. // See CancelReservedInstancesListing for details on how to use this API operation.
  1913. //
  1914. // The context must be non-nil and will be used for request cancellation. If
  1915. // the context is nil a panic will occur. In the future the SDK may create
  1916. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1917. // for more information on using Contexts.
  1918. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  1919. req, out := c.CancelReservedInstancesListingRequest(input)
  1920. req.SetContext(ctx)
  1921. req.ApplyOptions(opts...)
  1922. return out, req.Send()
  1923. }
  1924. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1925. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1926. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1927. // value can be used to capture response data after the request's "Send" method
  1928. // is called.
  1929. //
  1930. // See CancelSpotFleetRequests for usage and error information.
  1931. //
  1932. // Creating a request object using this method should be used when you want to inject
  1933. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1934. // access properties on the request object before or after sending the request. If
  1935. // you just want the service response, call the CancelSpotFleetRequests method directly
  1936. // instead.
  1937. //
  1938. // Note: You must call the "Send" method on the returned request object in order
  1939. // to execute the request.
  1940. //
  1941. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  1942. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  1943. //
  1944. // err := req.Send()
  1945. // if err == nil { // resp is now filled
  1946. // fmt.Println(resp)
  1947. // }
  1948. //
  1949. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  1950. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  1951. op := &request.Operation{
  1952. Name: opCancelSpotFleetRequests,
  1953. HTTPMethod: "POST",
  1954. HTTPPath: "/",
  1955. }
  1956. if input == nil {
  1957. input = &CancelSpotFleetRequestsInput{}
  1958. }
  1959. output = &CancelSpotFleetRequestsOutput{}
  1960. req = c.newRequest(op, input, output)
  1961. return
  1962. }
  1963. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  1964. //
  1965. // Cancels the specified Spot fleet requests.
  1966. //
  1967. // After you cancel a Spot fleet request, the Spot fleet launches no new Spot
  1968. // instances. You must specify whether the Spot fleet should also terminate
  1969. // its Spot instances. If you terminate the instances, the Spot fleet request
  1970. // enters the cancelled_terminating state. Otherwise, the Spot fleet request
  1971. // enters the cancelled_running state and the instances continue to run until
  1972. // they are interrupted or you terminate them manually.
  1973. //
  1974. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1975. // with awserr.Error's Code and Message methods to get detailed information about
  1976. // the error.
  1977. //
  1978. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1979. // API operation CancelSpotFleetRequests for usage and error information.
  1980. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  1981. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  1982. req, out := c.CancelSpotFleetRequestsRequest(input)
  1983. return out, req.Send()
  1984. }
  1985. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  1986. // the ability to pass a context and additional request options.
  1987. //
  1988. // See CancelSpotFleetRequests for details on how to use this API operation.
  1989. //
  1990. // The context must be non-nil and will be used for request cancellation. If
  1991. // the context is nil a panic will occur. In the future the SDK may create
  1992. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1993. // for more information on using Contexts.
  1994. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  1995. req, out := c.CancelSpotFleetRequestsRequest(input)
  1996. req.SetContext(ctx)
  1997. req.ApplyOptions(opts...)
  1998. return out, req.Send()
  1999. }
  2000. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  2001. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  2002. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  2003. // value can be used to capture response data after the request's "Send" method
  2004. // is called.
  2005. //
  2006. // See CancelSpotInstanceRequests for usage and error information.
  2007. //
  2008. // Creating a request object using this method should be used when you want to inject
  2009. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2010. // access properties on the request object before or after sending the request. If
  2011. // you just want the service response, call the CancelSpotInstanceRequests method directly
  2012. // instead.
  2013. //
  2014. // Note: You must call the "Send" method on the returned request object in order
  2015. // to execute the request.
  2016. //
  2017. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2018. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2019. //
  2020. // err := req.Send()
  2021. // if err == nil { // resp is now filled
  2022. // fmt.Println(resp)
  2023. // }
  2024. //
  2025. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2026. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2027. op := &request.Operation{
  2028. Name: opCancelSpotInstanceRequests,
  2029. HTTPMethod: "POST",
  2030. HTTPPath: "/",
  2031. }
  2032. if input == nil {
  2033. input = &CancelSpotInstanceRequestsInput{}
  2034. }
  2035. output = &CancelSpotInstanceRequestsOutput{}
  2036. req = c.newRequest(op, input, output)
  2037. return
  2038. }
  2039. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2040. //
  2041. // Cancels one or more Spot instance requests. Spot instances are instances
  2042. // that Amazon EC2 starts on your behalf when the bid price that you specify
  2043. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  2044. // based on available Spot instance capacity and current Spot instance requests.
  2045. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  2046. // in the Amazon Elastic Compute Cloud User Guide.
  2047. //
  2048. // Canceling a Spot instance request does not terminate running Spot instances
  2049. // associated with the request.
  2050. //
  2051. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2052. // with awserr.Error's Code and Message methods to get detailed information about
  2053. // the error.
  2054. //
  2055. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2056. // API operation CancelSpotInstanceRequests for usage and error information.
  2057. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2058. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2059. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2060. return out, req.Send()
  2061. }
  2062. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2063. // the ability to pass a context and additional request options.
  2064. //
  2065. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2066. //
  2067. // The context must be non-nil and will be used for request cancellation. If
  2068. // the context is nil a panic will occur. In the future the SDK may create
  2069. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2070. // for more information on using Contexts.
  2071. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2072. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2073. req.SetContext(ctx)
  2074. req.ApplyOptions(opts...)
  2075. return out, req.Send()
  2076. }
  2077. const opConfirmProductInstance = "ConfirmProductInstance"
  2078. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2079. // client's request for the ConfirmProductInstance operation. The "output" return
  2080. // value can be used to capture response data after the request's "Send" method
  2081. // is called.
  2082. //
  2083. // See ConfirmProductInstance for usage and error information.
  2084. //
  2085. // Creating a request object using this method should be used when you want to inject
  2086. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2087. // access properties on the request object before or after sending the request. If
  2088. // you just want the service response, call the ConfirmProductInstance method directly
  2089. // instead.
  2090. //
  2091. // Note: You must call the "Send" method on the returned request object in order
  2092. // to execute the request.
  2093. //
  2094. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2095. // req, resp := client.ConfirmProductInstanceRequest(params)
  2096. //
  2097. // err := req.Send()
  2098. // if err == nil { // resp is now filled
  2099. // fmt.Println(resp)
  2100. // }
  2101. //
  2102. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2103. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2104. op := &request.Operation{
  2105. Name: opConfirmProductInstance,
  2106. HTTPMethod: "POST",
  2107. HTTPPath: "/",
  2108. }
  2109. if input == nil {
  2110. input = &ConfirmProductInstanceInput{}
  2111. }
  2112. output = &ConfirmProductInstanceOutput{}
  2113. req = c.newRequest(op, input, output)
  2114. return
  2115. }
  2116. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2117. //
  2118. // Determines whether a product code is associated with an instance. This action
  2119. // can only be used by the owner of the product code. It is useful when a product
  2120. // code owner needs to verify whether another user's instance is eligible for
  2121. // support.
  2122. //
  2123. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2124. // with awserr.Error's Code and Message methods to get detailed information about
  2125. // the error.
  2126. //
  2127. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2128. // API operation ConfirmProductInstance for usage and error information.
  2129. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2130. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2131. req, out := c.ConfirmProductInstanceRequest(input)
  2132. return out, req.Send()
  2133. }
  2134. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2135. // the ability to pass a context and additional request options.
  2136. //
  2137. // See ConfirmProductInstance for details on how to use this API operation.
  2138. //
  2139. // The context must be non-nil and will be used for request cancellation. If
  2140. // the context is nil a panic will occur. In the future the SDK may create
  2141. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2142. // for more information on using Contexts.
  2143. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2144. req, out := c.ConfirmProductInstanceRequest(input)
  2145. req.SetContext(ctx)
  2146. req.ApplyOptions(opts...)
  2147. return out, req.Send()
  2148. }
  2149. const opCopyImage = "CopyImage"
  2150. // CopyImageRequest generates a "aws/request.Request" representing the
  2151. // client's request for the CopyImage operation. The "output" return
  2152. // value can be used to capture response data after the request's "Send" method
  2153. // is called.
  2154. //
  2155. // See CopyImage for usage and error information.
  2156. //
  2157. // Creating a request object using this method should be used when you want to inject
  2158. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2159. // access properties on the request object before or after sending the request. If
  2160. // you just want the service response, call the CopyImage method directly
  2161. // instead.
  2162. //
  2163. // Note: You must call the "Send" method on the returned request object in order
  2164. // to execute the request.
  2165. //
  2166. // // Example sending a request using the CopyImageRequest method.
  2167. // req, resp := client.CopyImageRequest(params)
  2168. //
  2169. // err := req.Send()
  2170. // if err == nil { // resp is now filled
  2171. // fmt.Println(resp)
  2172. // }
  2173. //
  2174. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2175. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2176. op := &request.Operation{
  2177. Name: opCopyImage,
  2178. HTTPMethod: "POST",
  2179. HTTPPath: "/",
  2180. }
  2181. if input == nil {
  2182. input = &CopyImageInput{}
  2183. }
  2184. output = &CopyImageOutput{}
  2185. req = c.newRequest(op, input, output)
  2186. return
  2187. }
  2188. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2189. //
  2190. // Initiates the copy of an AMI from the specified source region to the current
  2191. // region. You specify the destination region by using its endpoint when making
  2192. // the request.
  2193. //
  2194. // For more information about the prerequisites and limits when copying an AMI,
  2195. // see Copying an AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
  2196. // in the Amazon Elastic Compute Cloud User Guide.
  2197. //
  2198. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2199. // with awserr.Error's Code and Message methods to get detailed information about
  2200. // the error.
  2201. //
  2202. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2203. // API operation CopyImage for usage and error information.
  2204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2205. func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
  2206. req, out := c.CopyImageRequest(input)
  2207. return out, req.Send()
  2208. }
  2209. // CopyImageWithContext is the same as CopyImage with the addition of
  2210. // the ability to pass a context and additional request options.
  2211. //
  2212. // See CopyImage for details on how to use this API operation.
  2213. //
  2214. // The context must be non-nil and will be used for request cancellation. If
  2215. // the context is nil a panic will occur. In the future the SDK may create
  2216. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2217. // for more information on using Contexts.
  2218. func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
  2219. req, out := c.CopyImageRequest(input)
  2220. req.SetContext(ctx)
  2221. req.ApplyOptions(opts...)
  2222. return out, req.Send()
  2223. }
  2224. const opCopySnapshot = "CopySnapshot"
  2225. // CopySnapshotRequest generates a "aws/request.Request" representing the
  2226. // client's request for the CopySnapshot operation. The "output" return
  2227. // value can be used to capture response data after the request's "Send" method
  2228. // is called.
  2229. //
  2230. // See CopySnapshot for usage and error information.
  2231. //
  2232. // Creating a request object using this method should be used when you want to inject
  2233. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2234. // access properties on the request object before or after sending the request. If
  2235. // you just want the service response, call the CopySnapshot method directly
  2236. // instead.
  2237. //
  2238. // Note: You must call the "Send" method on the returned request object in order
  2239. // to execute the request.
  2240. //
  2241. // // Example sending a request using the CopySnapshotRequest method.
  2242. // req, resp := client.CopySnapshotRequest(params)
  2243. //
  2244. // err := req.Send()
  2245. // if err == nil { // resp is now filled
  2246. // fmt.Println(resp)
  2247. // }
  2248. //
  2249. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2250. func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
  2251. op := &request.Operation{
  2252. Name: opCopySnapshot,
  2253. HTTPMethod: "POST",
  2254. HTTPPath: "/",
  2255. }
  2256. if input == nil {
  2257. input = &CopySnapshotInput{}
  2258. }
  2259. output = &CopySnapshotOutput{}
  2260. req = c.newRequest(op, input, output)
  2261. return
  2262. }
  2263. // CopySnapshot API operation for Amazon Elastic Compute Cloud.
  2264. //
  2265. // Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
  2266. // S3. You can copy the snapshot within the same region or from one region to
  2267. // another. You can use the snapshot to create EBS volumes or Amazon Machine
  2268. // Images (AMIs). The snapshot is copied to the regional endpoint that you send
  2269. // the HTTP request to.
  2270. //
  2271. // Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
  2272. // snapshots remain unencrypted, unless the Encrypted flag is specified during
  2273. // the snapshot copy operation. By default, encrypted snapshot copies use the
  2274. // default AWS Key Management Service (AWS KMS) customer master key (CMK); however,
  2275. // you can specify a non-default CMK with the KmsKeyId parameter.
  2276. //
  2277. // To copy an encrypted snapshot that has been shared from another account,
  2278. // you must have permissions for the CMK used to encrypt the snapshot.
  2279. //
  2280. // Snapshots created by the CopySnapshot action have an arbitrary volume ID
  2281. // that should not be used for any purpose.
  2282. //
  2283. // For more information, see Copying an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
  2284. // in the Amazon Elastic Compute Cloud User Guide.
  2285. //
  2286. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2287. // with awserr.Error's Code and Message methods to get detailed information about
  2288. // the error.
  2289. //
  2290. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2291. // API operation CopySnapshot for usage and error information.
  2292. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
  2293. func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
  2294. req, out := c.CopySnapshotRequest(input)
  2295. return out, req.Send()
  2296. }
  2297. // CopySnapshotWithContext is the same as CopySnapshot with the addition of
  2298. // the ability to pass a context and additional request options.
  2299. //
  2300. // See CopySnapshot for details on how to use this API operation.
  2301. //
  2302. // The context must be non-nil and will be used for request cancellation. If
  2303. // the context is nil a panic will occur. In the future the SDK may create
  2304. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2305. // for more information on using Contexts.
  2306. func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
  2307. req, out := c.CopySnapshotRequest(input)
  2308. req.SetContext(ctx)
  2309. req.ApplyOptions(opts...)
  2310. return out, req.Send()
  2311. }
  2312. const opCreateCustomerGateway = "CreateCustomerGateway"
  2313. // CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
  2314. // client's request for the CreateCustomerGateway operation. The "output" return
  2315. // value can be used to capture response data after the request's "Send" method
  2316. // is called.
  2317. //
  2318. // See CreateCustomerGateway for usage and error information.
  2319. //
  2320. // Creating a request object using this method should be used when you want to inject
  2321. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2322. // access properties on the request object before or after sending the request. If
  2323. // you just want the service response, call the CreateCustomerGateway method directly
  2324. // instead.
  2325. //
  2326. // Note: You must call the "Send" method on the returned request object in order
  2327. // to execute the request.
  2328. //
  2329. // // Example sending a request using the CreateCustomerGatewayRequest method.
  2330. // req, resp := client.CreateCustomerGatewayRequest(params)
  2331. //
  2332. // err := req.Send()
  2333. // if err == nil { // resp is now filled
  2334. // fmt.Println(resp)
  2335. // }
  2336. //
  2337. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2338. func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
  2339. op := &request.Operation{
  2340. Name: opCreateCustomerGateway,
  2341. HTTPMethod: "POST",
  2342. HTTPPath: "/",
  2343. }
  2344. if input == nil {
  2345. input = &CreateCustomerGatewayInput{}
  2346. }
  2347. output = &CreateCustomerGatewayOutput{}
  2348. req = c.newRequest(op, input, output)
  2349. return
  2350. }
  2351. // CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
  2352. //
  2353. // Provides information to AWS about your VPN customer gateway device. The customer
  2354. // gateway is the appliance at your end of the VPN connection. (The device on
  2355. // the AWS side of the VPN connection is the virtual private gateway.) You must
  2356. // provide the Internet-routable IP address of the customer gateway's external
  2357. // interface. The IP address must be static and may be behind a device performing
  2358. // network address translation (NAT).
  2359. //
  2360. // For devices that use Border Gateway Protocol (BGP), you can also provide
  2361. // the device's BGP Autonomous System Number (ASN). You can use an existing
  2362. // ASN assigned to your network. If you don't have an ASN already, you can use
  2363. // a private ASN (in the 64512 - 65534 range).
  2364. //
  2365. // Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
  2366. // the exception of 7224, which is reserved in the us-east-1 region, and 9059,
  2367. // which is reserved in the eu-west-1 region.
  2368. //
  2369. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  2370. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  2371. // in the Amazon Virtual Private Cloud User Guide.
  2372. //
  2373. // You cannot create more than one customer gateway with the same VPN type,
  2374. // IP address, and BGP ASN parameter values. If you run an identical request
  2375. // more than one time, the first request creates the customer gateway, and subsequent
  2376. // requests return information about the existing customer gateway. The subsequent
  2377. // requests do not create new customer gateway resources.
  2378. //
  2379. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2380. // with awserr.Error's Code and Message methods to get detailed information about
  2381. // the error.
  2382. //
  2383. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2384. // API operation CreateCustomerGateway for usage and error information.
  2385. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
  2386. func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
  2387. req, out := c.CreateCustomerGatewayRequest(input)
  2388. return out, req.Send()
  2389. }
  2390. // CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
  2391. // the ability to pass a context and additional request options.
  2392. //
  2393. // See CreateCustomerGateway for details on how to use this API operation.
  2394. //
  2395. // The context must be non-nil and will be used for request cancellation. If
  2396. // the context is nil a panic will occur. In the future the SDK may create
  2397. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2398. // for more information on using Contexts.
  2399. func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
  2400. req, out := c.CreateCustomerGatewayRequest(input)
  2401. req.SetContext(ctx)
  2402. req.ApplyOptions(opts...)
  2403. return out, req.Send()
  2404. }
  2405. const opCreateDefaultVpc = "CreateDefaultVpc"
  2406. // CreateDefaultVpcRequest generates a "aws/request.Request" representing the
  2407. // client's request for the CreateDefaultVpc operation. The "output" return
  2408. // value can be used to capture response data after the request's "Send" method
  2409. // is called.
  2410. //
  2411. // See CreateDefaultVpc for usage and error information.
  2412. //
  2413. // Creating a request object using this method should be used when you want to inject
  2414. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2415. // access properties on the request object before or after sending the request. If
  2416. // you just want the service response, call the CreateDefaultVpc method directly
  2417. // instead.
  2418. //
  2419. // Note: You must call the "Send" method on the returned request object in order
  2420. // to execute the request.
  2421. //
  2422. // // Example sending a request using the CreateDefaultVpcRequest method.
  2423. // req, resp := client.CreateDefaultVpcRequest(params)
  2424. //
  2425. // err := req.Send()
  2426. // if err == nil { // resp is now filled
  2427. // fmt.Println(resp)
  2428. // }
  2429. //
  2430. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  2431. func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
  2432. op := &request.Operation{
  2433. Name: opCreateDefaultVpc,
  2434. HTTPMethod: "POST",
  2435. HTTPPath: "/",
  2436. }
  2437. if input == nil {
  2438. input = &CreateDefaultVpcInput{}
  2439. }
  2440. output = &CreateDefaultVpcOutput{}
  2441. req = c.newRequest(op, input, output)
  2442. return
  2443. }
  2444. // CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
  2445. //
  2446. // Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
  2447. // in each Availability Zone. For more information about the components of a
  2448. // default VPC, see Default VPC and Default Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/default-vpc.html)
  2449. // in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
  2450. // of the default VPC yourself.
  2451. //
  2452. // You can create a default VPC if you deleted your previous default VPC. You
  2453. // cannot have more than one default VPC per region.
  2454. //
  2455. // If your account supports EC2-Classic, you cannot use this action to create
  2456. // a default VPC in a region that supports EC2-Classic. If you want a default
  2457. // VPC in a region that supports EC2-Classic, see "I really want a default VPC
  2458. // for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
  2459. //
  2460. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2461. // with awserr.Error's Code and Message methods to get detailed information about
  2462. // the error.
  2463. //
  2464. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2465. // API operation CreateDefaultVpc for usage and error information.
  2466. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
  2467. func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
  2468. req, out := c.CreateDefaultVpcRequest(input)
  2469. return out, req.Send()
  2470. }
  2471. // CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
  2472. // the ability to pass a context and additional request options.
  2473. //
  2474. // See CreateDefaultVpc for details on how to use this API operation.
  2475. //
  2476. // The context must be non-nil and will be used for request cancellation. If
  2477. // the context is nil a panic will occur. In the future the SDK may create
  2478. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2479. // for more information on using Contexts.
  2480. func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
  2481. req, out := c.CreateDefaultVpcRequest(input)
  2482. req.SetContext(ctx)
  2483. req.ApplyOptions(opts...)
  2484. return out, req.Send()
  2485. }
  2486. const opCreateDhcpOptions = "CreateDhcpOptions"
  2487. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  2488. // client's request for the CreateDhcpOptions operation. The "output" return
  2489. // value can be used to capture response data after the request's "Send" method
  2490. // is called.
  2491. //
  2492. // See CreateDhcpOptions for usage and error information.
  2493. //
  2494. // Creating a request object using this method should be used when you want to inject
  2495. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2496. // access properties on the request object before or after sending the request. If
  2497. // you just want the service response, call the CreateDhcpOptions method directly
  2498. // instead.
  2499. //
  2500. // Note: You must call the "Send" method on the returned request object in order
  2501. // to execute the request.
  2502. //
  2503. // // Example sending a request using the CreateDhcpOptionsRequest method.
  2504. // req, resp := client.CreateDhcpOptionsRequest(params)
  2505. //
  2506. // err := req.Send()
  2507. // if err == nil { // resp is now filled
  2508. // fmt.Println(resp)
  2509. // }
  2510. //
  2511. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2512. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  2513. op := &request.Operation{
  2514. Name: opCreateDhcpOptions,
  2515. HTTPMethod: "POST",
  2516. HTTPPath: "/",
  2517. }
  2518. if input == nil {
  2519. input = &CreateDhcpOptionsInput{}
  2520. }
  2521. output = &CreateDhcpOptionsOutput{}
  2522. req = c.newRequest(op, input, output)
  2523. return
  2524. }
  2525. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  2526. //
  2527. // Creates a set of DHCP options for your VPC. After creating the set, you must
  2528. // associate it with the VPC, causing all existing and new instances that you
  2529. // launch in the VPC to use this set of DHCP options. The following are the
  2530. // individual DHCP options you can specify. For more information about the options,
  2531. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2532. //
  2533. // * domain-name-servers - The IP addresses of up to four domain name servers,
  2534. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  2535. // If specifying more than one domain name server, specify the IP addresses
  2536. // in a single parameter, separated by commas. If you want your instance
  2537. // to receive a custom DNS hostname as specified in domain-name, you must
  2538. // set domain-name-servers to a custom DNS server.
  2539. //
  2540. // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
  2541. // ec2.internal. If you're using AmazonProvidedDNS in another region, specify
  2542. // region.compute.internal (for example, ap-northeast-1.compute.internal).
  2543. // Otherwise, specify a domain name (for example, MyCompany.com). This value
  2544. // is used to complete unqualified DNS hostnames. Important: Some Linux operating
  2545. // systems accept multiple domain names separated by spaces. However, Windows
  2546. // and other Linux operating systems treat the value as a single domain,
  2547. // which results in unexpected behavior. If your DHCP options set is associated
  2548. // with a VPC that has instances with multiple operating systems, specify
  2549. // only one domain name.
  2550. //
  2551. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  2552. // servers.
  2553. //
  2554. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  2555. //
  2556. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  2557. // that you specify 2 (broadcast and multicast are not currently supported).
  2558. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2559. //
  2560. // Your VPC automatically starts out with a set of DHCP options that includes
  2561. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  2562. // of options, and if your VPC has an Internet gateway, make sure to set the
  2563. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  2564. // server of your choice. For more information about DHCP options, see DHCP
  2565. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  2566. // in the Amazon Virtual Private Cloud User Guide.
  2567. //
  2568. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2569. // with awserr.Error's Code and Message methods to get detailed information about
  2570. // the error.
  2571. //
  2572. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2573. // API operation CreateDhcpOptions for usage and error information.
  2574. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2575. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  2576. req, out := c.CreateDhcpOptionsRequest(input)
  2577. return out, req.Send()
  2578. }
  2579. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  2580. // the ability to pass a context and additional request options.
  2581. //
  2582. // See CreateDhcpOptions for details on how to use this API operation.
  2583. //
  2584. // The context must be non-nil and will be used for request cancellation. If
  2585. // the context is nil a panic will occur. In the future the SDK may create
  2586. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2587. // for more information on using Contexts.
  2588. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  2589. req, out := c.CreateDhcpOptionsRequest(input)
  2590. req.SetContext(ctx)
  2591. req.ApplyOptions(opts...)
  2592. return out, req.Send()
  2593. }
  2594. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  2595. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  2596. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  2597. // value can be used to capture response data after the request's "Send" method
  2598. // is called.
  2599. //
  2600. // See CreateEgressOnlyInternetGateway for usage and error information.
  2601. //
  2602. // Creating a request object using this method should be used when you want to inject
  2603. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2604. // access properties on the request object before or after sending the request. If
  2605. // you just want the service response, call the CreateEgressOnlyInternetGateway method directly
  2606. // instead.
  2607. //
  2608. // Note: You must call the "Send" method on the returned request object in order
  2609. // to execute the request.
  2610. //
  2611. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  2612. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  2613. //
  2614. // err := req.Send()
  2615. // if err == nil { // resp is now filled
  2616. // fmt.Println(resp)
  2617. // }
  2618. //
  2619. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2620. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  2621. op := &request.Operation{
  2622. Name: opCreateEgressOnlyInternetGateway,
  2623. HTTPMethod: "POST",
  2624. HTTPPath: "/",
  2625. }
  2626. if input == nil {
  2627. input = &CreateEgressOnlyInternetGatewayInput{}
  2628. }
  2629. output = &CreateEgressOnlyInternetGatewayOutput{}
  2630. req = c.newRequest(op, input, output)
  2631. return
  2632. }
  2633. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  2634. //
  2635. // [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only
  2636. // Internet gateway is used to enable outbound communication over IPv6 from
  2637. // instances in your VPC to the Internet, and prevents hosts outside of your
  2638. // VPC from initiating an IPv6 connection with your instance.
  2639. //
  2640. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2641. // with awserr.Error's Code and Message methods to get detailed information about
  2642. // the error.
  2643. //
  2644. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2645. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  2646. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2647. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2648. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2649. return out, req.Send()
  2650. }
  2651. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  2652. // the ability to pass a context and additional request options.
  2653. //
  2654. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  2655. //
  2656. // The context must be non-nil and will be used for request cancellation. If
  2657. // the context is nil a panic will occur. In the future the SDK may create
  2658. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2659. // for more information on using Contexts.
  2660. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2661. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2662. req.SetContext(ctx)
  2663. req.ApplyOptions(opts...)
  2664. return out, req.Send()
  2665. }
  2666. const opCreateFlowLogs = "CreateFlowLogs"
  2667. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  2668. // client's request for the CreateFlowLogs operation. The "output" return
  2669. // value can be used to capture response data after the request's "Send" method
  2670. // is called.
  2671. //
  2672. // See CreateFlowLogs for usage and error information.
  2673. //
  2674. // Creating a request object using this method should be used when you want to inject
  2675. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2676. // access properties on the request object before or after sending the request. If
  2677. // you just want the service response, call the CreateFlowLogs method directly
  2678. // instead.
  2679. //
  2680. // Note: You must call the "Send" method on the returned request object in order
  2681. // to execute the request.
  2682. //
  2683. // // Example sending a request using the CreateFlowLogsRequest method.
  2684. // req, resp := client.CreateFlowLogsRequest(params)
  2685. //
  2686. // err := req.Send()
  2687. // if err == nil { // resp is now filled
  2688. // fmt.Println(resp)
  2689. // }
  2690. //
  2691. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2692. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  2693. op := &request.Operation{
  2694. Name: opCreateFlowLogs,
  2695. HTTPMethod: "POST",
  2696. HTTPPath: "/",
  2697. }
  2698. if input == nil {
  2699. input = &CreateFlowLogsInput{}
  2700. }
  2701. output = &CreateFlowLogsOutput{}
  2702. req = c.newRequest(op, input, output)
  2703. return
  2704. }
  2705. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  2706. //
  2707. // Creates one or more flow logs to capture IP traffic for a specific network
  2708. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  2709. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  2710. // a log stream is created in CloudWatch Logs for each network interface in
  2711. // the subnet or VPC. Log streams can include information about accepted and
  2712. // rejected traffic to a network interface. You can view the data in your log
  2713. // streams using Amazon CloudWatch Logs.
  2714. //
  2715. // In your request, you must also specify an IAM role that has permission to
  2716. // publish logs to CloudWatch Logs.
  2717. //
  2718. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2719. // with awserr.Error's Code and Message methods to get detailed information about
  2720. // the error.
  2721. //
  2722. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2723. // API operation CreateFlowLogs for usage and error information.
  2724. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2725. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  2726. req, out := c.CreateFlowLogsRequest(input)
  2727. return out, req.Send()
  2728. }
  2729. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  2730. // the ability to pass a context and additional request options.
  2731. //
  2732. // See CreateFlowLogs for details on how to use this API operation.
  2733. //
  2734. // The context must be non-nil and will be used for request cancellation. If
  2735. // the context is nil a panic will occur. In the future the SDK may create
  2736. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2737. // for more information on using Contexts.
  2738. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  2739. req, out := c.CreateFlowLogsRequest(input)
  2740. req.SetContext(ctx)
  2741. req.ApplyOptions(opts...)
  2742. return out, req.Send()
  2743. }
  2744. const opCreateFpgaImage = "CreateFpgaImage"
  2745. // CreateFpgaImageRequest generates a "aws/request.Request" representing the
  2746. // client's request for the CreateFpgaImage operation. The "output" return
  2747. // value can be used to capture response data after the request's "Send" method
  2748. // is called.
  2749. //
  2750. // See CreateFpgaImage for usage and error information.
  2751. //
  2752. // Creating a request object using this method should be used when you want to inject
  2753. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2754. // access properties on the request object before or after sending the request. If
  2755. // you just want the service response, call the CreateFpgaImage method directly
  2756. // instead.
  2757. //
  2758. // Note: You must call the "Send" method on the returned request object in order
  2759. // to execute the request.
  2760. //
  2761. // // Example sending a request using the CreateFpgaImageRequest method.
  2762. // req, resp := client.CreateFpgaImageRequest(params)
  2763. //
  2764. // err := req.Send()
  2765. // if err == nil { // resp is now filled
  2766. // fmt.Println(resp)
  2767. // }
  2768. //
  2769. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  2770. func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
  2771. op := &request.Operation{
  2772. Name: opCreateFpgaImage,
  2773. HTTPMethod: "POST",
  2774. HTTPPath: "/",
  2775. }
  2776. if input == nil {
  2777. input = &CreateFpgaImageInput{}
  2778. }
  2779. output = &CreateFpgaImageOutput{}
  2780. req = c.newRequest(op, input, output)
  2781. return
  2782. }
  2783. // CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
  2784. //
  2785. // Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
  2786. //
  2787. // The create operation is asynchronous. To verify that the AFI is ready for
  2788. // use, check the output logs.
  2789. //
  2790. // An AFI contains the FPGA bitstream that is ready to download to an FPGA.
  2791. // You can securely deploy an AFI on one or more FPGA-accelerated instances.
  2792. // For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
  2793. //
  2794. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2795. // with awserr.Error's Code and Message methods to get detailed information about
  2796. // the error.
  2797. //
  2798. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2799. // API operation CreateFpgaImage for usage and error information.
  2800. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  2801. func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
  2802. req, out := c.CreateFpgaImageRequest(input)
  2803. return out, req.Send()
  2804. }
  2805. // CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
  2806. // the ability to pass a context and additional request options.
  2807. //
  2808. // See CreateFpgaImage for details on how to use this API operation.
  2809. //
  2810. // The context must be non-nil and will be used for request cancellation. If
  2811. // the context is nil a panic will occur. In the future the SDK may create
  2812. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2813. // for more information on using Contexts.
  2814. func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
  2815. req, out := c.CreateFpgaImageRequest(input)
  2816. req.SetContext(ctx)
  2817. req.ApplyOptions(opts...)
  2818. return out, req.Send()
  2819. }
  2820. const opCreateImage = "CreateImage"
  2821. // CreateImageRequest generates a "aws/request.Request" representing the
  2822. // client's request for the CreateImage operation. The "output" return
  2823. // value can be used to capture response data after the request's "Send" method
  2824. // is called.
  2825. //
  2826. // See CreateImage for usage and error information.
  2827. //
  2828. // Creating a request object using this method should be used when you want to inject
  2829. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2830. // access properties on the request object before or after sending the request. If
  2831. // you just want the service response, call the CreateImage method directly
  2832. // instead.
  2833. //
  2834. // Note: You must call the "Send" method on the returned request object in order
  2835. // to execute the request.
  2836. //
  2837. // // Example sending a request using the CreateImageRequest method.
  2838. // req, resp := client.CreateImageRequest(params)
  2839. //
  2840. // err := req.Send()
  2841. // if err == nil { // resp is now filled
  2842. // fmt.Println(resp)
  2843. // }
  2844. //
  2845. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  2846. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  2847. op := &request.Operation{
  2848. Name: opCreateImage,
  2849. HTTPMethod: "POST",
  2850. HTTPPath: "/",
  2851. }
  2852. if input == nil {
  2853. input = &CreateImageInput{}
  2854. }
  2855. output = &CreateImageOutput{}
  2856. req = c.newRequest(op, input, output)
  2857. return
  2858. }
  2859. // CreateImage API operation for Amazon Elastic Compute Cloud.
  2860. //
  2861. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  2862. // is either running or stopped.
  2863. //
  2864. // If you customized your instance with instance store volumes or EBS volumes
  2865. // in addition to the root device volume, the new AMI contains block device
  2866. // mapping information for those volumes. When you launch an instance from this
  2867. // new AMI, the instance automatically launches with those additional volumes.
  2868. //
  2869. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  2870. // in the Amazon Elastic Compute Cloud User Guide.
  2871. //
  2872. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2873. // with awserr.Error's Code and Message methods to get detailed information about
  2874. // the error.
  2875. //
  2876. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2877. // API operation CreateImage for usage and error information.
  2878. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  2879. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  2880. req, out := c.CreateImageRequest(input)
  2881. return out, req.Send()
  2882. }
  2883. // CreateImageWithContext is the same as CreateImage with the addition of
  2884. // the ability to pass a context and additional request options.
  2885. //
  2886. // See CreateImage for details on how to use this API operation.
  2887. //
  2888. // The context must be non-nil and will be used for request cancellation. If
  2889. // the context is nil a panic will occur. In the future the SDK may create
  2890. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2891. // for more information on using Contexts.
  2892. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  2893. req, out := c.CreateImageRequest(input)
  2894. req.SetContext(ctx)
  2895. req.ApplyOptions(opts...)
  2896. return out, req.Send()
  2897. }
  2898. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  2899. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  2900. // client's request for the CreateInstanceExportTask operation. The "output" return
  2901. // value can be used to capture response data after the request's "Send" method
  2902. // is called.
  2903. //
  2904. // See CreateInstanceExportTask for usage and error information.
  2905. //
  2906. // Creating a request object using this method should be used when you want to inject
  2907. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2908. // access properties on the request object before or after sending the request. If
  2909. // you just want the service response, call the CreateInstanceExportTask method directly
  2910. // instead.
  2911. //
  2912. // Note: You must call the "Send" method on the returned request object in order
  2913. // to execute the request.
  2914. //
  2915. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  2916. // req, resp := client.CreateInstanceExportTaskRequest(params)
  2917. //
  2918. // err := req.Send()
  2919. // if err == nil { // resp is now filled
  2920. // fmt.Println(resp)
  2921. // }
  2922. //
  2923. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  2924. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  2925. op := &request.Operation{
  2926. Name: opCreateInstanceExportTask,
  2927. HTTPMethod: "POST",
  2928. HTTPPath: "/",
  2929. }
  2930. if input == nil {
  2931. input = &CreateInstanceExportTaskInput{}
  2932. }
  2933. output = &CreateInstanceExportTaskOutput{}
  2934. req = c.newRequest(op, input, output)
  2935. return
  2936. }
  2937. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  2938. //
  2939. // Exports a running or stopped instance to an S3 bucket.
  2940. //
  2941. // For information about the supported operating systems, image formats, and
  2942. // known limitations for the types of instances you can export, see Exporting
  2943. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  2944. // in the VM Import/Export User Guide.
  2945. //
  2946. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2947. // with awserr.Error's Code and Message methods to get detailed information about
  2948. // the error.
  2949. //
  2950. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2951. // API operation CreateInstanceExportTask for usage and error information.
  2952. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  2953. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  2954. req, out := c.CreateInstanceExportTaskRequest(input)
  2955. return out, req.Send()
  2956. }
  2957. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  2958. // the ability to pass a context and additional request options.
  2959. //
  2960. // See CreateInstanceExportTask for details on how to use this API operation.
  2961. //
  2962. // The context must be non-nil and will be used for request cancellation. If
  2963. // the context is nil a panic will occur. In the future the SDK may create
  2964. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2965. // for more information on using Contexts.
  2966. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  2967. req, out := c.CreateInstanceExportTaskRequest(input)
  2968. req.SetContext(ctx)
  2969. req.ApplyOptions(opts...)
  2970. return out, req.Send()
  2971. }
  2972. const opCreateInternetGateway = "CreateInternetGateway"
  2973. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  2974. // client's request for the CreateInternetGateway operation. The "output" return
  2975. // value can be used to capture response data after the request's "Send" method
  2976. // is called.
  2977. //
  2978. // See CreateInternetGateway for usage and error information.
  2979. //
  2980. // Creating a request object using this method should be used when you want to inject
  2981. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2982. // access properties on the request object before or after sending the request. If
  2983. // you just want the service response, call the CreateInternetGateway method directly
  2984. // instead.
  2985. //
  2986. // Note: You must call the "Send" method on the returned request object in order
  2987. // to execute the request.
  2988. //
  2989. // // Example sending a request using the CreateInternetGatewayRequest method.
  2990. // req, resp := client.CreateInternetGatewayRequest(params)
  2991. //
  2992. // err := req.Send()
  2993. // if err == nil { // resp is now filled
  2994. // fmt.Println(resp)
  2995. // }
  2996. //
  2997. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  2998. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  2999. op := &request.Operation{
  3000. Name: opCreateInternetGateway,
  3001. HTTPMethod: "POST",
  3002. HTTPPath: "/",
  3003. }
  3004. if input == nil {
  3005. input = &CreateInternetGatewayInput{}
  3006. }
  3007. output = &CreateInternetGatewayOutput{}
  3008. req = c.newRequest(op, input, output)
  3009. return
  3010. }
  3011. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  3012. //
  3013. // Creates an Internet gateway for use with a VPC. After creating the Internet
  3014. // gateway, you attach it to a VPC using AttachInternetGateway.
  3015. //
  3016. // For more information about your VPC and Internet gateway, see the Amazon
  3017. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  3018. //
  3019. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3020. // with awserr.Error's Code and Message methods to get detailed information about
  3021. // the error.
  3022. //
  3023. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3024. // API operation CreateInternetGateway for usage and error information.
  3025. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  3026. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  3027. req, out := c.CreateInternetGatewayRequest(input)
  3028. return out, req.Send()
  3029. }
  3030. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  3031. // the ability to pass a context and additional request options.
  3032. //
  3033. // See CreateInternetGateway for details on how to use this API operation.
  3034. //
  3035. // The context must be non-nil and will be used for request cancellation. If
  3036. // the context is nil a panic will occur. In the future the SDK may create
  3037. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3038. // for more information on using Contexts.
  3039. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  3040. req, out := c.CreateInternetGatewayRequest(input)
  3041. req.SetContext(ctx)
  3042. req.ApplyOptions(opts...)
  3043. return out, req.Send()
  3044. }
  3045. const opCreateKeyPair = "CreateKeyPair"
  3046. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  3047. // client's request for the CreateKeyPair operation. The "output" return
  3048. // value can be used to capture response data after the request's "Send" method
  3049. // is called.
  3050. //
  3051. // See CreateKeyPair for usage and error information.
  3052. //
  3053. // Creating a request object using this method should be used when you want to inject
  3054. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3055. // access properties on the request object before or after sending the request. If
  3056. // you just want the service response, call the CreateKeyPair method directly
  3057. // instead.
  3058. //
  3059. // Note: You must call the "Send" method on the returned request object in order
  3060. // to execute the request.
  3061. //
  3062. // // Example sending a request using the CreateKeyPairRequest method.
  3063. // req, resp := client.CreateKeyPairRequest(params)
  3064. //
  3065. // err := req.Send()
  3066. // if err == nil { // resp is now filled
  3067. // fmt.Println(resp)
  3068. // }
  3069. //
  3070. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3071. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  3072. op := &request.Operation{
  3073. Name: opCreateKeyPair,
  3074. HTTPMethod: "POST",
  3075. HTTPPath: "/",
  3076. }
  3077. if input == nil {
  3078. input = &CreateKeyPairInput{}
  3079. }
  3080. output = &CreateKeyPairOutput{}
  3081. req = c.newRequest(op, input, output)
  3082. return
  3083. }
  3084. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  3085. //
  3086. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  3087. // the public key and displays the private key for you to save to a file. The
  3088. // private key is returned as an unencrypted PEM encoded PKCS#8 private key.
  3089. // If a key with the specified name already exists, Amazon EC2 returns an error.
  3090. //
  3091. // You can have up to five thousand key pairs per region.
  3092. //
  3093. // The key pair returned to you is available only in the region in which you
  3094. // create it. To create a key pair that is available in all regions, use ImportKeyPair.
  3095. //
  3096. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  3097. // in the Amazon Elastic Compute Cloud User Guide.
  3098. //
  3099. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3100. // with awserr.Error's Code and Message methods to get detailed information about
  3101. // the error.
  3102. //
  3103. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3104. // API operation CreateKeyPair for usage and error information.
  3105. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3106. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  3107. req, out := c.CreateKeyPairRequest(input)
  3108. return out, req.Send()
  3109. }
  3110. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  3111. // the ability to pass a context and additional request options.
  3112. //
  3113. // See CreateKeyPair for details on how to use this API operation.
  3114. //
  3115. // The context must be non-nil and will be used for request cancellation. If
  3116. // the context is nil a panic will occur. In the future the SDK may create
  3117. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3118. // for more information on using Contexts.
  3119. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  3120. req, out := c.CreateKeyPairRequest(input)
  3121. req.SetContext(ctx)
  3122. req.ApplyOptions(opts...)
  3123. return out, req.Send()
  3124. }
  3125. const opCreateNatGateway = "CreateNatGateway"
  3126. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  3127. // client's request for the CreateNatGateway operation. The "output" return
  3128. // value can be used to capture response data after the request's "Send" method
  3129. // is called.
  3130. //
  3131. // See CreateNatGateway for usage and error information.
  3132. //
  3133. // Creating a request object using this method should be used when you want to inject
  3134. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3135. // access properties on the request object before or after sending the request. If
  3136. // you just want the service response, call the CreateNatGateway method directly
  3137. // instead.
  3138. //
  3139. // Note: You must call the "Send" method on the returned request object in order
  3140. // to execute the request.
  3141. //
  3142. // // Example sending a request using the CreateNatGatewayRequest method.
  3143. // req, resp := client.CreateNatGatewayRequest(params)
  3144. //
  3145. // err := req.Send()
  3146. // if err == nil { // resp is now filled
  3147. // fmt.Println(resp)
  3148. // }
  3149. //
  3150. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3151. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  3152. op := &request.Operation{
  3153. Name: opCreateNatGateway,
  3154. HTTPMethod: "POST",
  3155. HTTPPath: "/",
  3156. }
  3157. if input == nil {
  3158. input = &CreateNatGatewayInput{}
  3159. }
  3160. output = &CreateNatGatewayOutput{}
  3161. req = c.newRequest(op, input, output)
  3162. return
  3163. }
  3164. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  3165. //
  3166. // Creates a NAT gateway in the specified subnet. A NAT gateway can be used
  3167. // to enable instances in a private subnet to connect to the Internet. This
  3168. // action creates a network interface in the specified subnet with a private
  3169. // IP address from the IP address range of the subnet. For more information,
  3170. // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  3171. // in the Amazon Virtual Private Cloud User Guide.
  3172. //
  3173. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3174. // with awserr.Error's Code and Message methods to get detailed information about
  3175. // the error.
  3176. //
  3177. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3178. // API operation CreateNatGateway for usage and error information.
  3179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3180. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  3181. req, out := c.CreateNatGatewayRequest(input)
  3182. return out, req.Send()
  3183. }
  3184. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  3185. // the ability to pass a context and additional request options.
  3186. //
  3187. // See CreateNatGateway for details on how to use this API operation.
  3188. //
  3189. // The context must be non-nil and will be used for request cancellation. If
  3190. // the context is nil a panic will occur. In the future the SDK may create
  3191. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3192. // for more information on using Contexts.
  3193. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  3194. req, out := c.CreateNatGatewayRequest(input)
  3195. req.SetContext(ctx)
  3196. req.ApplyOptions(opts...)
  3197. return out, req.Send()
  3198. }
  3199. const opCreateNetworkAcl = "CreateNetworkAcl"
  3200. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  3201. // client's request for the CreateNetworkAcl operation. The "output" return
  3202. // value can be used to capture response data after the request's "Send" method
  3203. // is called.
  3204. //
  3205. // See CreateNetworkAcl for usage and error information.
  3206. //
  3207. // Creating a request object using this method should be used when you want to inject
  3208. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3209. // access properties on the request object before or after sending the request. If
  3210. // you just want the service response, call the CreateNetworkAcl method directly
  3211. // instead.
  3212. //
  3213. // Note: You must call the "Send" method on the returned request object in order
  3214. // to execute the request.
  3215. //
  3216. // // Example sending a request using the CreateNetworkAclRequest method.
  3217. // req, resp := client.CreateNetworkAclRequest(params)
  3218. //
  3219. // err := req.Send()
  3220. // if err == nil { // resp is now filled
  3221. // fmt.Println(resp)
  3222. // }
  3223. //
  3224. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3225. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  3226. op := &request.Operation{
  3227. Name: opCreateNetworkAcl,
  3228. HTTPMethod: "POST",
  3229. HTTPPath: "/",
  3230. }
  3231. if input == nil {
  3232. input = &CreateNetworkAclInput{}
  3233. }
  3234. output = &CreateNetworkAclOutput{}
  3235. req = c.newRequest(op, input, output)
  3236. return
  3237. }
  3238. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3239. //
  3240. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  3241. // security (in addition to security groups) for the instances in your VPC.
  3242. //
  3243. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3244. // in the Amazon Virtual Private Cloud User Guide.
  3245. //
  3246. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3247. // with awserr.Error's Code and Message methods to get detailed information about
  3248. // the error.
  3249. //
  3250. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3251. // API operation CreateNetworkAcl for usage and error information.
  3252. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3253. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  3254. req, out := c.CreateNetworkAclRequest(input)
  3255. return out, req.Send()
  3256. }
  3257. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  3258. // the ability to pass a context and additional request options.
  3259. //
  3260. // See CreateNetworkAcl for details on how to use this API operation.
  3261. //
  3262. // The context must be non-nil and will be used for request cancellation. If
  3263. // the context is nil a panic will occur. In the future the SDK may create
  3264. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3265. // for more information on using Contexts.
  3266. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  3267. req, out := c.CreateNetworkAclRequest(input)
  3268. req.SetContext(ctx)
  3269. req.ApplyOptions(opts...)
  3270. return out, req.Send()
  3271. }
  3272. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  3273. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3274. // client's request for the CreateNetworkAclEntry operation. The "output" return
  3275. // value can be used to capture response data after the request's "Send" method
  3276. // is called.
  3277. //
  3278. // See CreateNetworkAclEntry for usage and error information.
  3279. //
  3280. // Creating a request object using this method should be used when you want to inject
  3281. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3282. // access properties on the request object before or after sending the request. If
  3283. // you just want the service response, call the CreateNetworkAclEntry method directly
  3284. // instead.
  3285. //
  3286. // Note: You must call the "Send" method on the returned request object in order
  3287. // to execute the request.
  3288. //
  3289. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  3290. // req, resp := client.CreateNetworkAclEntryRequest(params)
  3291. //
  3292. // err := req.Send()
  3293. // if err == nil { // resp is now filled
  3294. // fmt.Println(resp)
  3295. // }
  3296. //
  3297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3298. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  3299. op := &request.Operation{
  3300. Name: opCreateNetworkAclEntry,
  3301. HTTPMethod: "POST",
  3302. HTTPPath: "/",
  3303. }
  3304. if input == nil {
  3305. input = &CreateNetworkAclEntryInput{}
  3306. }
  3307. output = &CreateNetworkAclEntryOutput{}
  3308. req = c.newRequest(op, input, output)
  3309. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3310. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3311. return
  3312. }
  3313. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3314. //
  3315. // Creates an entry (a rule) in a network ACL with the specified rule number.
  3316. // Each network ACL has a set of numbered ingress rules and a separate set of
  3317. // numbered egress rules. When determining whether a packet should be allowed
  3318. // in or out of a subnet associated with the ACL, we process the entries in
  3319. // the ACL according to the rule numbers, in ascending order. Each network ACL
  3320. // has a set of ingress rules and a separate set of egress rules.
  3321. //
  3322. // We recommend that you leave room between the rule numbers (for example, 100,
  3323. // 110, 120, ...), and not number them one right after the other (for example,
  3324. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  3325. // ones without having to renumber the rules.
  3326. //
  3327. // After you add an entry, you can't modify it; you must either replace it,
  3328. // or create an entry and delete the old one.
  3329. //
  3330. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3331. // in the Amazon Virtual Private Cloud User Guide.
  3332. //
  3333. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3334. // with awserr.Error's Code and Message methods to get detailed information about
  3335. // the error.
  3336. //
  3337. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3338. // API operation CreateNetworkAclEntry for usage and error information.
  3339. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3340. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  3341. req, out := c.CreateNetworkAclEntryRequest(input)
  3342. return out, req.Send()
  3343. }
  3344. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  3345. // the ability to pass a context and additional request options.
  3346. //
  3347. // See CreateNetworkAclEntry for details on how to use this API operation.
  3348. //
  3349. // The context must be non-nil and will be used for request cancellation. If
  3350. // the context is nil a panic will occur. In the future the SDK may create
  3351. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3352. // for more information on using Contexts.
  3353. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  3354. req, out := c.CreateNetworkAclEntryRequest(input)
  3355. req.SetContext(ctx)
  3356. req.ApplyOptions(opts...)
  3357. return out, req.Send()
  3358. }
  3359. const opCreateNetworkInterface = "CreateNetworkInterface"
  3360. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3361. // client's request for the CreateNetworkInterface operation. The "output" return
  3362. // value can be used to capture response data after the request's "Send" method
  3363. // is called.
  3364. //
  3365. // See CreateNetworkInterface for usage and error information.
  3366. //
  3367. // Creating a request object using this method should be used when you want to inject
  3368. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3369. // access properties on the request object before or after sending the request. If
  3370. // you just want the service response, call the CreateNetworkInterface method directly
  3371. // instead.
  3372. //
  3373. // Note: You must call the "Send" method on the returned request object in order
  3374. // to execute the request.
  3375. //
  3376. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  3377. // req, resp := client.CreateNetworkInterfaceRequest(params)
  3378. //
  3379. // err := req.Send()
  3380. // if err == nil { // resp is now filled
  3381. // fmt.Println(resp)
  3382. // }
  3383. //
  3384. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3385. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  3386. op := &request.Operation{
  3387. Name: opCreateNetworkInterface,
  3388. HTTPMethod: "POST",
  3389. HTTPPath: "/",
  3390. }
  3391. if input == nil {
  3392. input = &CreateNetworkInterfaceInput{}
  3393. }
  3394. output = &CreateNetworkInterfaceOutput{}
  3395. req = c.newRequest(op, input, output)
  3396. return
  3397. }
  3398. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3399. //
  3400. // Creates a network interface in the specified subnet.
  3401. //
  3402. // For more information about network interfaces, see Elastic Network Interfaces
  3403. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  3404. // Amazon Virtual Private Cloud User Guide.
  3405. //
  3406. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3407. // with awserr.Error's Code and Message methods to get detailed information about
  3408. // the error.
  3409. //
  3410. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3411. // API operation CreateNetworkInterface for usage and error information.
  3412. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3413. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  3414. req, out := c.CreateNetworkInterfaceRequest(input)
  3415. return out, req.Send()
  3416. }
  3417. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  3418. // the ability to pass a context and additional request options.
  3419. //
  3420. // See CreateNetworkInterface for details on how to use this API operation.
  3421. //
  3422. // The context must be non-nil and will be used for request cancellation. If
  3423. // the context is nil a panic will occur. In the future the SDK may create
  3424. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3425. // for more information on using Contexts.
  3426. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  3427. req, out := c.CreateNetworkInterfaceRequest(input)
  3428. req.SetContext(ctx)
  3429. req.ApplyOptions(opts...)
  3430. return out, req.Send()
  3431. }
  3432. const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
  3433. // CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  3434. // client's request for the CreateNetworkInterfacePermission operation. The "output" return
  3435. // value can be used to capture response data after the request's "Send" method
  3436. // is called.
  3437. //
  3438. // See CreateNetworkInterfacePermission for usage and error information.
  3439. //
  3440. // Creating a request object using this method should be used when you want to inject
  3441. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3442. // access properties on the request object before or after sending the request. If
  3443. // you just want the service response, call the CreateNetworkInterfacePermission method directly
  3444. // instead.
  3445. //
  3446. // Note: You must call the "Send" method on the returned request object in order
  3447. // to execute the request.
  3448. //
  3449. // // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
  3450. // req, resp := client.CreateNetworkInterfacePermissionRequest(params)
  3451. //
  3452. // err := req.Send()
  3453. // if err == nil { // resp is now filled
  3454. // fmt.Println(resp)
  3455. // }
  3456. //
  3457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  3458. func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
  3459. op := &request.Operation{
  3460. Name: opCreateNetworkInterfacePermission,
  3461. HTTPMethod: "POST",
  3462. HTTPPath: "/",
  3463. }
  3464. if input == nil {
  3465. input = &CreateNetworkInterfacePermissionInput{}
  3466. }
  3467. output = &CreateNetworkInterfacePermissionOutput{}
  3468. req = c.newRequest(op, input, output)
  3469. return
  3470. }
  3471. // CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  3472. //
  3473. // Grants an AWS authorized partner account permission to attach the specified
  3474. // network interface to an instance in their account.
  3475. //
  3476. // You can grant permission to a single AWS account only, and only one account
  3477. // at a time.
  3478. //
  3479. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3480. // with awserr.Error's Code and Message methods to get detailed information about
  3481. // the error.
  3482. //
  3483. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3484. // API operation CreateNetworkInterfacePermission for usage and error information.
  3485. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
  3486. func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
  3487. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  3488. return out, req.Send()
  3489. }
  3490. // CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
  3491. // the ability to pass a context and additional request options.
  3492. //
  3493. // See CreateNetworkInterfacePermission for details on how to use this API operation.
  3494. //
  3495. // The context must be non-nil and will be used for request cancellation. If
  3496. // the context is nil a panic will occur. In the future the SDK may create
  3497. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3498. // for more information on using Contexts.
  3499. func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
  3500. req, out := c.CreateNetworkInterfacePermissionRequest(input)
  3501. req.SetContext(ctx)
  3502. req.ApplyOptions(opts...)
  3503. return out, req.Send()
  3504. }
  3505. const opCreatePlacementGroup = "CreatePlacementGroup"
  3506. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  3507. // client's request for the CreatePlacementGroup operation. The "output" return
  3508. // value can be used to capture response data after the request's "Send" method
  3509. // is called.
  3510. //
  3511. // See CreatePlacementGroup for usage and error information.
  3512. //
  3513. // Creating a request object using this method should be used when you want to inject
  3514. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3515. // access properties on the request object before or after sending the request. If
  3516. // you just want the service response, call the CreatePlacementGroup method directly
  3517. // instead.
  3518. //
  3519. // Note: You must call the "Send" method on the returned request object in order
  3520. // to execute the request.
  3521. //
  3522. // // Example sending a request using the CreatePlacementGroupRequest method.
  3523. // req, resp := client.CreatePlacementGroupRequest(params)
  3524. //
  3525. // err := req.Send()
  3526. // if err == nil { // resp is now filled
  3527. // fmt.Println(resp)
  3528. // }
  3529. //
  3530. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3531. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  3532. op := &request.Operation{
  3533. Name: opCreatePlacementGroup,
  3534. HTTPMethod: "POST",
  3535. HTTPPath: "/",
  3536. }
  3537. if input == nil {
  3538. input = &CreatePlacementGroupInput{}
  3539. }
  3540. output = &CreatePlacementGroupOutput{}
  3541. req = c.newRequest(op, input, output)
  3542. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3543. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3544. return
  3545. }
  3546. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3547. //
  3548. // Creates a placement group that you launch cluster instances into. You must
  3549. // give the group a name that's unique within the scope of your account.
  3550. //
  3551. // For more information about placement groups and cluster instances, see Cluster
  3552. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  3553. // in the Amazon Elastic Compute Cloud User Guide.
  3554. //
  3555. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3556. // with awserr.Error's Code and Message methods to get detailed information about
  3557. // the error.
  3558. //
  3559. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3560. // API operation CreatePlacementGroup for usage and error information.
  3561. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3562. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  3563. req, out := c.CreatePlacementGroupRequest(input)
  3564. return out, req.Send()
  3565. }
  3566. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  3567. // the ability to pass a context and additional request options.
  3568. //
  3569. // See CreatePlacementGroup for details on how to use this API operation.
  3570. //
  3571. // The context must be non-nil and will be used for request cancellation. If
  3572. // the context is nil a panic will occur. In the future the SDK may create
  3573. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3574. // for more information on using Contexts.
  3575. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  3576. req, out := c.CreatePlacementGroupRequest(input)
  3577. req.SetContext(ctx)
  3578. req.ApplyOptions(opts...)
  3579. return out, req.Send()
  3580. }
  3581. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  3582. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  3583. // client's request for the CreateReservedInstancesListing operation. The "output" return
  3584. // value can be used to capture response data after the request's "Send" method
  3585. // is called.
  3586. //
  3587. // See CreateReservedInstancesListing for usage and error information.
  3588. //
  3589. // Creating a request object using this method should be used when you want to inject
  3590. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3591. // access properties on the request object before or after sending the request. If
  3592. // you just want the service response, call the CreateReservedInstancesListing method directly
  3593. // instead.
  3594. //
  3595. // Note: You must call the "Send" method on the returned request object in order
  3596. // to execute the request.
  3597. //
  3598. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  3599. // req, resp := client.CreateReservedInstancesListingRequest(params)
  3600. //
  3601. // err := req.Send()
  3602. // if err == nil { // resp is now filled
  3603. // fmt.Println(resp)
  3604. // }
  3605. //
  3606. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3607. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  3608. op := &request.Operation{
  3609. Name: opCreateReservedInstancesListing,
  3610. HTTPMethod: "POST",
  3611. HTTPPath: "/",
  3612. }
  3613. if input == nil {
  3614. input = &CreateReservedInstancesListingInput{}
  3615. }
  3616. output = &CreateReservedInstancesListingOutput{}
  3617. req = c.newRequest(op, input, output)
  3618. return
  3619. }
  3620. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  3621. //
  3622. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  3623. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  3624. // listing at a time. To get a list of your Standard Reserved Instances, you
  3625. // can use the DescribeReservedInstances operation.
  3626. //
  3627. // Only Standard Reserved Instances with a capacity reservation can be sold
  3628. // in the Reserved Instance Marketplace. Convertible Reserved Instances and
  3629. // Standard Reserved Instances with a regional benefit cannot be sold.
  3630. //
  3631. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  3632. // Reserved Instance capacity that they no longer need with buyers who want
  3633. // to purchase additional capacity. Reserved Instances bought and sold through
  3634. // the Reserved Instance Marketplace work like any other Reserved Instances.
  3635. //
  3636. // To sell your Standard Reserved Instances, you must first register as a seller
  3637. // in the Reserved Instance Marketplace. After completing the registration process,
  3638. // you can create a Reserved Instance Marketplace listing of some or all of
  3639. // your Standard Reserved Instances, and specify the upfront price to receive
  3640. // for them. Your Standard Reserved Instance listings then become available
  3641. // for purchase. To view the details of your Standard Reserved Instance listing,
  3642. // you can use the DescribeReservedInstancesListings operation.
  3643. //
  3644. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  3645. // in the Amazon Elastic Compute Cloud User Guide.
  3646. //
  3647. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3648. // with awserr.Error's Code and Message methods to get detailed information about
  3649. // the error.
  3650. //
  3651. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3652. // API operation CreateReservedInstancesListing for usage and error information.
  3653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3654. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  3655. req, out := c.CreateReservedInstancesListingRequest(input)
  3656. return out, req.Send()
  3657. }
  3658. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  3659. // the ability to pass a context and additional request options.
  3660. //
  3661. // See CreateReservedInstancesListing for details on how to use this API operation.
  3662. //
  3663. // The context must be non-nil and will be used for request cancellation. If
  3664. // the context is nil a panic will occur. In the future the SDK may create
  3665. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3666. // for more information on using Contexts.
  3667. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  3668. req, out := c.CreateReservedInstancesListingRequest(input)
  3669. req.SetContext(ctx)
  3670. req.ApplyOptions(opts...)
  3671. return out, req.Send()
  3672. }
  3673. const opCreateRoute = "CreateRoute"
  3674. // CreateRouteRequest generates a "aws/request.Request" representing the
  3675. // client's request for the CreateRoute operation. The "output" return
  3676. // value can be used to capture response data after the request's "Send" method
  3677. // is called.
  3678. //
  3679. // See CreateRoute for usage and error information.
  3680. //
  3681. // Creating a request object using this method should be used when you want to inject
  3682. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3683. // access properties on the request object before or after sending the request. If
  3684. // you just want the service response, call the CreateRoute method directly
  3685. // instead.
  3686. //
  3687. // Note: You must call the "Send" method on the returned request object in order
  3688. // to execute the request.
  3689. //
  3690. // // Example sending a request using the CreateRouteRequest method.
  3691. // req, resp := client.CreateRouteRequest(params)
  3692. //
  3693. // err := req.Send()
  3694. // if err == nil { // resp is now filled
  3695. // fmt.Println(resp)
  3696. // }
  3697. //
  3698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  3699. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  3700. op := &request.Operation{
  3701. Name: opCreateRoute,
  3702. HTTPMethod: "POST",
  3703. HTTPPath: "/",
  3704. }
  3705. if input == nil {
  3706. input = &CreateRouteInput{}
  3707. }
  3708. output = &CreateRouteOutput{}
  3709. req = c.newRequest(op, input, output)
  3710. return
  3711. }
  3712. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  3713. //
  3714. // Creates a route in a route table within a VPC.
  3715. //
  3716. // You must specify one of the following targets: Internet gateway or virtual
  3717. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  3718. // interface, or egress-only Internet gateway.
  3719. //
  3720. // When determining how to route traffic, we use the route with the most specific
  3721. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  3722. // the route table includes the following two IPv4 routes:
  3723. //
  3724. // * 192.0.2.0/24 (goes to some target A)
  3725. //
  3726. // * 192.0.2.0/28 (goes to some target B)
  3727. //
  3728. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  3729. // route in the list covers a smaller number of IP addresses and is therefore
  3730. // more specific, so we use that route to determine where to target the traffic.
  3731. //
  3732. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3733. // in the Amazon Virtual Private Cloud User Guide.
  3734. //
  3735. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3736. // with awserr.Error's Code and Message methods to get detailed information about
  3737. // the error.
  3738. //
  3739. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3740. // API operation CreateRoute for usage and error information.
  3741. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  3742. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  3743. req, out := c.CreateRouteRequest(input)
  3744. return out, req.Send()
  3745. }
  3746. // CreateRouteWithContext is the same as CreateRoute with the addition of
  3747. // the ability to pass a context and additional request options.
  3748. //
  3749. // See CreateRoute for details on how to use this API operation.
  3750. //
  3751. // The context must be non-nil and will be used for request cancellation. If
  3752. // the context is nil a panic will occur. In the future the SDK may create
  3753. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3754. // for more information on using Contexts.
  3755. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  3756. req, out := c.CreateRouteRequest(input)
  3757. req.SetContext(ctx)
  3758. req.ApplyOptions(opts...)
  3759. return out, req.Send()
  3760. }
  3761. const opCreateRouteTable = "CreateRouteTable"
  3762. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  3763. // client's request for the CreateRouteTable operation. The "output" return
  3764. // value can be used to capture response data after the request's "Send" method
  3765. // is called.
  3766. //
  3767. // See CreateRouteTable for usage and error information.
  3768. //
  3769. // Creating a request object using this method should be used when you want to inject
  3770. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3771. // access properties on the request object before or after sending the request. If
  3772. // you just want the service response, call the CreateRouteTable method directly
  3773. // instead.
  3774. //
  3775. // Note: You must call the "Send" method on the returned request object in order
  3776. // to execute the request.
  3777. //
  3778. // // Example sending a request using the CreateRouteTableRequest method.
  3779. // req, resp := client.CreateRouteTableRequest(params)
  3780. //
  3781. // err := req.Send()
  3782. // if err == nil { // resp is now filled
  3783. // fmt.Println(resp)
  3784. // }
  3785. //
  3786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  3787. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  3788. op := &request.Operation{
  3789. Name: opCreateRouteTable,
  3790. HTTPMethod: "POST",
  3791. HTTPPath: "/",
  3792. }
  3793. if input == nil {
  3794. input = &CreateRouteTableInput{}
  3795. }
  3796. output = &CreateRouteTableOutput{}
  3797. req = c.newRequest(op, input, output)
  3798. return
  3799. }
  3800. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  3801. //
  3802. // Creates a route table for the specified VPC. After you create a route table,
  3803. // you can add routes and associate the table with a subnet.
  3804. //
  3805. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3806. // in the Amazon Virtual Private Cloud User Guide.
  3807. //
  3808. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3809. // with awserr.Error's Code and Message methods to get detailed information about
  3810. // the error.
  3811. //
  3812. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3813. // API operation CreateRouteTable for usage and error information.
  3814. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  3815. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  3816. req, out := c.CreateRouteTableRequest(input)
  3817. return out, req.Send()
  3818. }
  3819. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  3820. // the ability to pass a context and additional request options.
  3821. //
  3822. // See CreateRouteTable for details on how to use this API operation.
  3823. //
  3824. // The context must be non-nil and will be used for request cancellation. If
  3825. // the context is nil a panic will occur. In the future the SDK may create
  3826. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3827. // for more information on using Contexts.
  3828. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  3829. req, out := c.CreateRouteTableRequest(input)
  3830. req.SetContext(ctx)
  3831. req.ApplyOptions(opts...)
  3832. return out, req.Send()
  3833. }
  3834. const opCreateSecurityGroup = "CreateSecurityGroup"
  3835. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  3836. // client's request for the CreateSecurityGroup operation. The "output" return
  3837. // value can be used to capture response data after the request's "Send" method
  3838. // is called.
  3839. //
  3840. // See CreateSecurityGroup for usage and error information.
  3841. //
  3842. // Creating a request object using this method should be used when you want to inject
  3843. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3844. // access properties on the request object before or after sending the request. If
  3845. // you just want the service response, call the CreateSecurityGroup method directly
  3846. // instead.
  3847. //
  3848. // Note: You must call the "Send" method on the returned request object in order
  3849. // to execute the request.
  3850. //
  3851. // // Example sending a request using the CreateSecurityGroupRequest method.
  3852. // req, resp := client.CreateSecurityGroupRequest(params)
  3853. //
  3854. // err := req.Send()
  3855. // if err == nil { // resp is now filled
  3856. // fmt.Println(resp)
  3857. // }
  3858. //
  3859. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  3860. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  3861. op := &request.Operation{
  3862. Name: opCreateSecurityGroup,
  3863. HTTPMethod: "POST",
  3864. HTTPPath: "/",
  3865. }
  3866. if input == nil {
  3867. input = &CreateSecurityGroupInput{}
  3868. }
  3869. output = &CreateSecurityGroupOutput{}
  3870. req = c.newRequest(op, input, output)
  3871. return
  3872. }
  3873. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  3874. //
  3875. // Creates a security group.
  3876. //
  3877. // A security group is for use with instances either in the EC2-Classic platform
  3878. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  3879. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  3880. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  3881. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  3882. // in the Amazon Virtual Private Cloud User Guide.
  3883. //
  3884. // EC2-Classic: You can have up to 500 security groups.
  3885. //
  3886. // EC2-VPC: You can create up to 500 security groups per VPC.
  3887. //
  3888. // When you create a security group, you specify a friendly name of your choice.
  3889. // You can have a security group for use in EC2-Classic with the same name as
  3890. // a security group for use in a VPC. However, you can't have two security groups
  3891. // for use in EC2-Classic with the same name or two security groups for use
  3892. // in a VPC with the same name.
  3893. //
  3894. // You have a default security group for use in EC2-Classic and a default security
  3895. // group for use in your VPC. If you don't specify a security group when you
  3896. // launch an instance, the instance is launched into the appropriate default
  3897. // security group. A default security group includes a default rule that grants
  3898. // instances unrestricted network access to each other.
  3899. //
  3900. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  3901. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  3902. //
  3903. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3904. // with awserr.Error's Code and Message methods to get detailed information about
  3905. // the error.
  3906. //
  3907. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3908. // API operation CreateSecurityGroup for usage and error information.
  3909. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  3910. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  3911. req, out := c.CreateSecurityGroupRequest(input)
  3912. return out, req.Send()
  3913. }
  3914. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  3915. // the ability to pass a context and additional request options.
  3916. //
  3917. // See CreateSecurityGroup for details on how to use this API operation.
  3918. //
  3919. // The context must be non-nil and will be used for request cancellation. If
  3920. // the context is nil a panic will occur. In the future the SDK may create
  3921. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3922. // for more information on using Contexts.
  3923. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  3924. req, out := c.CreateSecurityGroupRequest(input)
  3925. req.SetContext(ctx)
  3926. req.ApplyOptions(opts...)
  3927. return out, req.Send()
  3928. }
  3929. const opCreateSnapshot = "CreateSnapshot"
  3930. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  3931. // client's request for the CreateSnapshot operation. The "output" return
  3932. // value can be used to capture response data after the request's "Send" method
  3933. // is called.
  3934. //
  3935. // See CreateSnapshot for usage and error information.
  3936. //
  3937. // Creating a request object using this method should be used when you want to inject
  3938. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3939. // access properties on the request object before or after sending the request. If
  3940. // you just want the service response, call the CreateSnapshot method directly
  3941. // instead.
  3942. //
  3943. // Note: You must call the "Send" method on the returned request object in order
  3944. // to execute the request.
  3945. //
  3946. // // Example sending a request using the CreateSnapshotRequest method.
  3947. // req, resp := client.CreateSnapshotRequest(params)
  3948. //
  3949. // err := req.Send()
  3950. // if err == nil { // resp is now filled
  3951. // fmt.Println(resp)
  3952. // }
  3953. //
  3954. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  3955. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  3956. op := &request.Operation{
  3957. Name: opCreateSnapshot,
  3958. HTTPMethod: "POST",
  3959. HTTPPath: "/",
  3960. }
  3961. if input == nil {
  3962. input = &CreateSnapshotInput{}
  3963. }
  3964. output = &Snapshot{}
  3965. req = c.newRequest(op, input, output)
  3966. return
  3967. }
  3968. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  3969. //
  3970. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  3971. // snapshots for backups, to make copies of EBS volumes, and to save data before
  3972. // shutting down an instance.
  3973. //
  3974. // When a snapshot is created, any AWS Marketplace product codes that are associated
  3975. // with the source volume are propagated to the snapshot.
  3976. //
  3977. // You can take a snapshot of an attached volume that is in use. However, snapshots
  3978. // only capture data that has been written to your EBS volume at the time the
  3979. // snapshot command is issued; this may exclude any data that has been cached
  3980. // by any applications or the operating system. If you can pause any file systems
  3981. // on the volume long enough to take a snapshot, your snapshot should be complete.
  3982. // However, if you cannot pause all file writes to the volume, you should unmount
  3983. // the volume from within the instance, issue the snapshot command, and then
  3984. // remount the volume to ensure a consistent and complete snapshot. You may
  3985. // remount and use your volume while the snapshot status is pending.
  3986. //
  3987. // To create a snapshot for EBS volumes that serve as root devices, you should
  3988. // stop the instance before taking the snapshot.
  3989. //
  3990. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  3991. // Volumes that are created from encrypted snapshots are also automatically
  3992. // encrypted. Your encrypted volumes and any associated snapshots always remain
  3993. // protected.
  3994. //
  3995. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  3996. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  3997. // in the Amazon Elastic Compute Cloud User Guide.
  3998. //
  3999. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4000. // with awserr.Error's Code and Message methods to get detailed information about
  4001. // the error.
  4002. //
  4003. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4004. // API operation CreateSnapshot for usage and error information.
  4005. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  4006. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  4007. req, out := c.CreateSnapshotRequest(input)
  4008. return out, req.Send()
  4009. }
  4010. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  4011. // the ability to pass a context and additional request options.
  4012. //
  4013. // See CreateSnapshot for details on how to use this API operation.
  4014. //
  4015. // The context must be non-nil and will be used for request cancellation. If
  4016. // the context is nil a panic will occur. In the future the SDK may create
  4017. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4018. // for more information on using Contexts.
  4019. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  4020. req, out := c.CreateSnapshotRequest(input)
  4021. req.SetContext(ctx)
  4022. req.ApplyOptions(opts...)
  4023. return out, req.Send()
  4024. }
  4025. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  4026. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  4027. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  4028. // value can be used to capture response data after the request's "Send" method
  4029. // is called.
  4030. //
  4031. // See CreateSpotDatafeedSubscription for usage and error information.
  4032. //
  4033. // Creating a request object using this method should be used when you want to inject
  4034. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4035. // access properties on the request object before or after sending the request. If
  4036. // you just want the service response, call the CreateSpotDatafeedSubscription method directly
  4037. // instead.
  4038. //
  4039. // Note: You must call the "Send" method on the returned request object in order
  4040. // to execute the request.
  4041. //
  4042. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  4043. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  4044. //
  4045. // err := req.Send()
  4046. // if err == nil { // resp is now filled
  4047. // fmt.Println(resp)
  4048. // }
  4049. //
  4050. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  4051. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  4052. op := &request.Operation{
  4053. Name: opCreateSpotDatafeedSubscription,
  4054. HTTPMethod: "POST",
  4055. HTTPPath: "/",
  4056. }
  4057. if input == nil {
  4058. input = &CreateSpotDatafeedSubscriptionInput{}
  4059. }
  4060. output = &CreateSpotDatafeedSubscriptionOutput{}
  4061. req = c.newRequest(op, input, output)
  4062. return
  4063. }
  4064. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  4065. //
  4066. // Creates a data feed for Spot instances, enabling you to view Spot instance
  4067. // usage logs. You can create one data feed per AWS account. For more information,
  4068. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  4069. // in the Amazon Elastic Compute Cloud User Guide.
  4070. //
  4071. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4072. // with awserr.Error's Code and Message methods to get detailed information about
  4073. // the error.
  4074. //
  4075. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4076. // API operation CreateSpotDatafeedSubscription for usage and error information.
  4077. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  4078. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  4079. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  4080. return out, req.Send()
  4081. }
  4082. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  4083. // the ability to pass a context and additional request options.
  4084. //
  4085. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  4086. //
  4087. // The context must be non-nil and will be used for request cancellation. If
  4088. // the context is nil a panic will occur. In the future the SDK may create
  4089. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4090. // for more information on using Contexts.
  4091. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  4092. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  4093. req.SetContext(ctx)
  4094. req.ApplyOptions(opts...)
  4095. return out, req.Send()
  4096. }
  4097. const opCreateSubnet = "CreateSubnet"
  4098. // CreateSubnetRequest generates a "aws/request.Request" representing the
  4099. // client's request for the CreateSubnet operation. The "output" return
  4100. // value can be used to capture response data after the request's "Send" method
  4101. // is called.
  4102. //
  4103. // See CreateSubnet for usage and error information.
  4104. //
  4105. // Creating a request object using this method should be used when you want to inject
  4106. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4107. // access properties on the request object before or after sending the request. If
  4108. // you just want the service response, call the CreateSubnet method directly
  4109. // instead.
  4110. //
  4111. // Note: You must call the "Send" method on the returned request object in order
  4112. // to execute the request.
  4113. //
  4114. // // Example sending a request using the CreateSubnetRequest method.
  4115. // req, resp := client.CreateSubnetRequest(params)
  4116. //
  4117. // err := req.Send()
  4118. // if err == nil { // resp is now filled
  4119. // fmt.Println(resp)
  4120. // }
  4121. //
  4122. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4123. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  4124. op := &request.Operation{
  4125. Name: opCreateSubnet,
  4126. HTTPMethod: "POST",
  4127. HTTPPath: "/",
  4128. }
  4129. if input == nil {
  4130. input = &CreateSubnetInput{}
  4131. }
  4132. output = &CreateSubnetOutput{}
  4133. req = c.newRequest(op, input, output)
  4134. return
  4135. }
  4136. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  4137. //
  4138. // Creates a subnet in an existing VPC.
  4139. //
  4140. // When you create each subnet, you provide the VPC ID and the CIDR block you
  4141. // want for the subnet. After you create a subnet, you can't change its CIDR
  4142. // block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR
  4143. // block (assuming you want only a single subnet in the VPC), or a subset of
  4144. // the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the
  4145. // subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC)
  4146. // you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses
  4147. // a /16 netmask (65,536 IPv4 addresses).
  4148. //
  4149. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  4150. // with an IPv6 CIDR block that uses a /64 prefix length.
  4151. //
  4152. // AWS reserves both the first four and the last IPv4 address in each subnet's
  4153. // CIDR block. They're not available for use.
  4154. //
  4155. // If you add more than one subnet to a VPC, they're set up in a star topology
  4156. // with a logical router in the middle.
  4157. //
  4158. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  4159. // address doesn't change if you stop and restart the instance (unlike a similar
  4160. // instance launched outside a VPC, which gets a new IP address when restarted).
  4161. // It's therefore possible to have a subnet with no running instances (they're
  4162. // all stopped), but no remaining IP addresses available.
  4163. //
  4164. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4165. // in the Amazon Virtual Private Cloud User Guide.
  4166. //
  4167. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4168. // with awserr.Error's Code and Message methods to get detailed information about
  4169. // the error.
  4170. //
  4171. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4172. // API operation CreateSubnet for usage and error information.
  4173. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4174. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  4175. req, out := c.CreateSubnetRequest(input)
  4176. return out, req.Send()
  4177. }
  4178. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  4179. // the ability to pass a context and additional request options.
  4180. //
  4181. // See CreateSubnet for details on how to use this API operation.
  4182. //
  4183. // The context must be non-nil and will be used for request cancellation. If
  4184. // the context is nil a panic will occur. In the future the SDK may create
  4185. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4186. // for more information on using Contexts.
  4187. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  4188. req, out := c.CreateSubnetRequest(input)
  4189. req.SetContext(ctx)
  4190. req.ApplyOptions(opts...)
  4191. return out, req.Send()
  4192. }
  4193. const opCreateTags = "CreateTags"
  4194. // CreateTagsRequest generates a "aws/request.Request" representing the
  4195. // client's request for the CreateTags operation. The "output" return
  4196. // value can be used to capture response data after the request's "Send" method
  4197. // is called.
  4198. //
  4199. // See CreateTags for usage and error information.
  4200. //
  4201. // Creating a request object using this method should be used when you want to inject
  4202. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4203. // access properties on the request object before or after sending the request. If
  4204. // you just want the service response, call the CreateTags method directly
  4205. // instead.
  4206. //
  4207. // Note: You must call the "Send" method on the returned request object in order
  4208. // to execute the request.
  4209. //
  4210. // // Example sending a request using the CreateTagsRequest method.
  4211. // req, resp := client.CreateTagsRequest(params)
  4212. //
  4213. // err := req.Send()
  4214. // if err == nil { // resp is now filled
  4215. // fmt.Println(resp)
  4216. // }
  4217. //
  4218. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4219. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  4220. op := &request.Operation{
  4221. Name: opCreateTags,
  4222. HTTPMethod: "POST",
  4223. HTTPPath: "/",
  4224. }
  4225. if input == nil {
  4226. input = &CreateTagsInput{}
  4227. }
  4228. output = &CreateTagsOutput{}
  4229. req = c.newRequest(op, input, output)
  4230. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4231. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4232. return
  4233. }
  4234. // CreateTags API operation for Amazon Elastic Compute Cloud.
  4235. //
  4236. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  4237. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  4238. // of a key and optional value. Tag keys must be unique per resource.
  4239. //
  4240. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4241. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  4242. // creating IAM policies that control users' access to resources based on tags,
  4243. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  4244. // in the Amazon Elastic Compute Cloud User Guide.
  4245. //
  4246. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4247. // with awserr.Error's Code and Message methods to get detailed information about
  4248. // the error.
  4249. //
  4250. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4251. // API operation CreateTags for usage and error information.
  4252. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4253. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  4254. req, out := c.CreateTagsRequest(input)
  4255. return out, req.Send()
  4256. }
  4257. // CreateTagsWithContext is the same as CreateTags with the addition of
  4258. // the ability to pass a context and additional request options.
  4259. //
  4260. // See CreateTags for details on how to use this API operation.
  4261. //
  4262. // The context must be non-nil and will be used for request cancellation. If
  4263. // the context is nil a panic will occur. In the future the SDK may create
  4264. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4265. // for more information on using Contexts.
  4266. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  4267. req, out := c.CreateTagsRequest(input)
  4268. req.SetContext(ctx)
  4269. req.ApplyOptions(opts...)
  4270. return out, req.Send()
  4271. }
  4272. const opCreateVolume = "CreateVolume"
  4273. // CreateVolumeRequest generates a "aws/request.Request" representing the
  4274. // client's request for the CreateVolume operation. The "output" return
  4275. // value can be used to capture response data after the request's "Send" method
  4276. // is called.
  4277. //
  4278. // See CreateVolume for usage and error information.
  4279. //
  4280. // Creating a request object using this method should be used when you want to inject
  4281. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4282. // access properties on the request object before or after sending the request. If
  4283. // you just want the service response, call the CreateVolume method directly
  4284. // instead.
  4285. //
  4286. // Note: You must call the "Send" method on the returned request object in order
  4287. // to execute the request.
  4288. //
  4289. // // Example sending a request using the CreateVolumeRequest method.
  4290. // req, resp := client.CreateVolumeRequest(params)
  4291. //
  4292. // err := req.Send()
  4293. // if err == nil { // resp is now filled
  4294. // fmt.Println(resp)
  4295. // }
  4296. //
  4297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4298. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  4299. op := &request.Operation{
  4300. Name: opCreateVolume,
  4301. HTTPMethod: "POST",
  4302. HTTPPath: "/",
  4303. }
  4304. if input == nil {
  4305. input = &CreateVolumeInput{}
  4306. }
  4307. output = &Volume{}
  4308. req = c.newRequest(op, input, output)
  4309. return
  4310. }
  4311. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  4312. //
  4313. // Creates an EBS volume that can be attached to an instance in the same Availability
  4314. // Zone. The volume is created in the regional endpoint that you send the HTTP
  4315. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  4316. //
  4317. // You can create a new empty volume or restore a volume from an EBS snapshot.
  4318. // Any AWS Marketplace product codes from the snapshot are propagated to the
  4319. // volume.
  4320. //
  4321. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  4322. // volumes may only be attached to instances that support Amazon EBS encryption.
  4323. // Volumes that are created from encrypted snapshots are also automatically
  4324. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4325. // in the Amazon Elastic Compute Cloud User Guide.
  4326. //
  4327. // You can tag your volumes during creation. For more information, see Tagging
  4328. // Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  4329. //
  4330. // For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  4331. // in the Amazon Elastic Compute Cloud User Guide.
  4332. //
  4333. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4334. // with awserr.Error's Code and Message methods to get detailed information about
  4335. // the error.
  4336. //
  4337. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4338. // API operation CreateVolume for usage and error information.
  4339. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4340. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  4341. req, out := c.CreateVolumeRequest(input)
  4342. return out, req.Send()
  4343. }
  4344. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  4345. // the ability to pass a context and additional request options.
  4346. //
  4347. // See CreateVolume for details on how to use this API operation.
  4348. //
  4349. // The context must be non-nil and will be used for request cancellation. If
  4350. // the context is nil a panic will occur. In the future the SDK may create
  4351. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4352. // for more information on using Contexts.
  4353. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  4354. req, out := c.CreateVolumeRequest(input)
  4355. req.SetContext(ctx)
  4356. req.ApplyOptions(opts...)
  4357. return out, req.Send()
  4358. }
  4359. const opCreateVpc = "CreateVpc"
  4360. // CreateVpcRequest generates a "aws/request.Request" representing the
  4361. // client's request for the CreateVpc operation. The "output" return
  4362. // value can be used to capture response data after the request's "Send" method
  4363. // is called.
  4364. //
  4365. // See CreateVpc for usage and error information.
  4366. //
  4367. // Creating a request object using this method should be used when you want to inject
  4368. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4369. // access properties on the request object before or after sending the request. If
  4370. // you just want the service response, call the CreateVpc method directly
  4371. // instead.
  4372. //
  4373. // Note: You must call the "Send" method on the returned request object in order
  4374. // to execute the request.
  4375. //
  4376. // // Example sending a request using the CreateVpcRequest method.
  4377. // req, resp := client.CreateVpcRequest(params)
  4378. //
  4379. // err := req.Send()
  4380. // if err == nil { // resp is now filled
  4381. // fmt.Println(resp)
  4382. // }
  4383. //
  4384. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4385. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  4386. op := &request.Operation{
  4387. Name: opCreateVpc,
  4388. HTTPMethod: "POST",
  4389. HTTPPath: "/",
  4390. }
  4391. if input == nil {
  4392. input = &CreateVpcInput{}
  4393. }
  4394. output = &CreateVpcOutput{}
  4395. req = c.newRequest(op, input, output)
  4396. return
  4397. }
  4398. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  4399. //
  4400. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  4401. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  4402. // netmask (65,536 IPv4 addresses). To help you decide how big to make your
  4403. // VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4404. // in the Amazon Virtual Private Cloud User Guide.
  4405. //
  4406. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  4407. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  4408. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  4409. //
  4410. // By default, each instance you launch in the VPC has the default DHCP options,
  4411. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  4412. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  4413. // in the Amazon Virtual Private Cloud User Guide.
  4414. //
  4415. // You can specify the instance tenancy value for the VPC when you create it.
  4416. // You can't change this value for the VPC after you create it. For more information,
  4417. // see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  4418. // in the Amazon Elastic Compute Cloud User Guide.
  4419. //
  4420. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4421. // with awserr.Error's Code and Message methods to get detailed information about
  4422. // the error.
  4423. //
  4424. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4425. // API operation CreateVpc for usage and error information.
  4426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4427. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  4428. req, out := c.CreateVpcRequest(input)
  4429. return out, req.Send()
  4430. }
  4431. // CreateVpcWithContext is the same as CreateVpc with the addition of
  4432. // the ability to pass a context and additional request options.
  4433. //
  4434. // See CreateVpc for details on how to use this API operation.
  4435. //
  4436. // The context must be non-nil and will be used for request cancellation. If
  4437. // the context is nil a panic will occur. In the future the SDK may create
  4438. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4439. // for more information on using Contexts.
  4440. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  4441. req, out := c.CreateVpcRequest(input)
  4442. req.SetContext(ctx)
  4443. req.ApplyOptions(opts...)
  4444. return out, req.Send()
  4445. }
  4446. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  4447. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  4448. // client's request for the CreateVpcEndpoint operation. The "output" return
  4449. // value can be used to capture response data after the request's "Send" method
  4450. // is called.
  4451. //
  4452. // See CreateVpcEndpoint for usage and error information.
  4453. //
  4454. // Creating a request object using this method should be used when you want to inject
  4455. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4456. // access properties on the request object before or after sending the request. If
  4457. // you just want the service response, call the CreateVpcEndpoint method directly
  4458. // instead.
  4459. //
  4460. // Note: You must call the "Send" method on the returned request object in order
  4461. // to execute the request.
  4462. //
  4463. // // Example sending a request using the CreateVpcEndpointRequest method.
  4464. // req, resp := client.CreateVpcEndpointRequest(params)
  4465. //
  4466. // err := req.Send()
  4467. // if err == nil { // resp is now filled
  4468. // fmt.Println(resp)
  4469. // }
  4470. //
  4471. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4472. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  4473. op := &request.Operation{
  4474. Name: opCreateVpcEndpoint,
  4475. HTTPMethod: "POST",
  4476. HTTPPath: "/",
  4477. }
  4478. if input == nil {
  4479. input = &CreateVpcEndpointInput{}
  4480. }
  4481. output = &CreateVpcEndpointOutput{}
  4482. req = c.newRequest(op, input, output)
  4483. return
  4484. }
  4485. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  4486. //
  4487. // Creates a VPC endpoint for a specified AWS service. An endpoint enables you
  4488. // to create a private connection between your VPC and another AWS service in
  4489. // your account. You can specify an endpoint policy to attach to the endpoint
  4490. // that will control access to the service from your VPC. You can also specify
  4491. // the VPC route tables that use the endpoint.
  4492. //
  4493. // Use DescribeVpcEndpointServices to get a list of supported AWS services.
  4494. //
  4495. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4496. // with awserr.Error's Code and Message methods to get detailed information about
  4497. // the error.
  4498. //
  4499. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4500. // API operation CreateVpcEndpoint for usage and error information.
  4501. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4502. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  4503. req, out := c.CreateVpcEndpointRequest(input)
  4504. return out, req.Send()
  4505. }
  4506. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  4507. // the ability to pass a context and additional request options.
  4508. //
  4509. // See CreateVpcEndpoint for details on how to use this API operation.
  4510. //
  4511. // The context must be non-nil and will be used for request cancellation. If
  4512. // the context is nil a panic will occur. In the future the SDK may create
  4513. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4514. // for more information on using Contexts.
  4515. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  4516. req, out := c.CreateVpcEndpointRequest(input)
  4517. req.SetContext(ctx)
  4518. req.ApplyOptions(opts...)
  4519. return out, req.Send()
  4520. }
  4521. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  4522. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  4523. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  4524. // value can be used to capture response data after the request's "Send" method
  4525. // is called.
  4526. //
  4527. // See CreateVpcPeeringConnection for usage and error information.
  4528. //
  4529. // Creating a request object using this method should be used when you want to inject
  4530. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4531. // access properties on the request object before or after sending the request. If
  4532. // you just want the service response, call the CreateVpcPeeringConnection method directly
  4533. // instead.
  4534. //
  4535. // Note: You must call the "Send" method on the returned request object in order
  4536. // to execute the request.
  4537. //
  4538. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  4539. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  4540. //
  4541. // err := req.Send()
  4542. // if err == nil { // resp is now filled
  4543. // fmt.Println(resp)
  4544. // }
  4545. //
  4546. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  4547. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  4548. op := &request.Operation{
  4549. Name: opCreateVpcPeeringConnection,
  4550. HTTPMethod: "POST",
  4551. HTTPPath: "/",
  4552. }
  4553. if input == nil {
  4554. input = &CreateVpcPeeringConnectionInput{}
  4555. }
  4556. output = &CreateVpcPeeringConnectionOutput{}
  4557. req = c.newRequest(op, input, output)
  4558. return
  4559. }
  4560. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  4561. //
  4562. // Requests a VPC peering connection between two VPCs: a requester VPC that
  4563. // you own and a peer VPC with which to create the connection. The peer VPC
  4564. // can belong to another AWS account. The requester VPC and peer VPC cannot
  4565. // have overlapping CIDR blocks.
  4566. //
  4567. // The owner of the peer VPC must accept the peering request to activate the
  4568. // peering connection. The VPC peering connection request expires after 7 days,
  4569. // after which it cannot be accepted or rejected.
  4570. //
  4571. // If you try to create a VPC peering connection between VPCs that have overlapping
  4572. // CIDR blocks, the VPC peering connection status goes to failed.
  4573. //
  4574. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4575. // with awserr.Error's Code and Message methods to get detailed information about
  4576. // the error.
  4577. //
  4578. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4579. // API operation CreateVpcPeeringConnection for usage and error information.
  4580. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  4581. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  4582. req, out := c.CreateVpcPeeringConnectionRequest(input)
  4583. return out, req.Send()
  4584. }
  4585. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  4586. // the ability to pass a context and additional request options.
  4587. //
  4588. // See CreateVpcPeeringConnection for details on how to use this API operation.
  4589. //
  4590. // The context must be non-nil and will be used for request cancellation. If
  4591. // the context is nil a panic will occur. In the future the SDK may create
  4592. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4593. // for more information on using Contexts.
  4594. func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  4595. req, out := c.CreateVpcPeeringConnectionRequest(input)
  4596. req.SetContext(ctx)
  4597. req.ApplyOptions(opts...)
  4598. return out, req.Send()
  4599. }
  4600. const opCreateVpnConnection = "CreateVpnConnection"
  4601. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  4602. // client's request for the CreateVpnConnection operation. The "output" return
  4603. // value can be used to capture response data after the request's "Send" method
  4604. // is called.
  4605. //
  4606. // See CreateVpnConnection for usage and error information.
  4607. //
  4608. // Creating a request object using this method should be used when you want to inject
  4609. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4610. // access properties on the request object before or after sending the request. If
  4611. // you just want the service response, call the CreateVpnConnection method directly
  4612. // instead.
  4613. //
  4614. // Note: You must call the "Send" method on the returned request object in order
  4615. // to execute the request.
  4616. //
  4617. // // Example sending a request using the CreateVpnConnectionRequest method.
  4618. // req, resp := client.CreateVpnConnectionRequest(params)
  4619. //
  4620. // err := req.Send()
  4621. // if err == nil { // resp is now filled
  4622. // fmt.Println(resp)
  4623. // }
  4624. //
  4625. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  4626. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  4627. op := &request.Operation{
  4628. Name: opCreateVpnConnection,
  4629. HTTPMethod: "POST",
  4630. HTTPPath: "/",
  4631. }
  4632. if input == nil {
  4633. input = &CreateVpnConnectionInput{}
  4634. }
  4635. output = &CreateVpnConnectionOutput{}
  4636. req = c.newRequest(op, input, output)
  4637. return
  4638. }
  4639. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  4640. //
  4641. // Creates a VPN connection between an existing virtual private gateway and
  4642. // a VPN customer gateway. The only supported connection type is ipsec.1.
  4643. //
  4644. // The response includes information that you need to give to your network administrator
  4645. // to configure your customer gateway.
  4646. //
  4647. // We strongly recommend that you use HTTPS when calling this operation because
  4648. // the response contains sensitive cryptographic information for configuring
  4649. // your customer gateway.
  4650. //
  4651. // If you decide to shut down your VPN connection for any reason and later create
  4652. // a new VPN connection, you must reconfigure your customer gateway with the
  4653. // new information returned from this call.
  4654. //
  4655. // This is an idempotent operation. If you perform the operation more than once,
  4656. // Amazon EC2 doesn't return an error.
  4657. //
  4658. // For more information about VPN connections, see Adding a Hardware Virtual
  4659. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4660. // in the Amazon Virtual Private Cloud User Guide.
  4661. //
  4662. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4663. // with awserr.Error's Code and Message methods to get detailed information about
  4664. // the error.
  4665. //
  4666. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4667. // API operation CreateVpnConnection for usage and error information.
  4668. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  4669. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  4670. req, out := c.CreateVpnConnectionRequest(input)
  4671. return out, req.Send()
  4672. }
  4673. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  4674. // the ability to pass a context and additional request options.
  4675. //
  4676. // See CreateVpnConnection for details on how to use this API operation.
  4677. //
  4678. // The context must be non-nil and will be used for request cancellation. If
  4679. // the context is nil a panic will occur. In the future the SDK may create
  4680. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4681. // for more information on using Contexts.
  4682. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  4683. req, out := c.CreateVpnConnectionRequest(input)
  4684. req.SetContext(ctx)
  4685. req.ApplyOptions(opts...)
  4686. return out, req.Send()
  4687. }
  4688. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  4689. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  4690. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  4691. // value can be used to capture response data after the request's "Send" method
  4692. // is called.
  4693. //
  4694. // See CreateVpnConnectionRoute for usage and error information.
  4695. //
  4696. // Creating a request object using this method should be used when you want to inject
  4697. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4698. // access properties on the request object before or after sending the request. If
  4699. // you just want the service response, call the CreateVpnConnectionRoute method directly
  4700. // instead.
  4701. //
  4702. // Note: You must call the "Send" method on the returned request object in order
  4703. // to execute the request.
  4704. //
  4705. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  4706. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  4707. //
  4708. // err := req.Send()
  4709. // if err == nil { // resp is now filled
  4710. // fmt.Println(resp)
  4711. // }
  4712. //
  4713. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  4714. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  4715. op := &request.Operation{
  4716. Name: opCreateVpnConnectionRoute,
  4717. HTTPMethod: "POST",
  4718. HTTPPath: "/",
  4719. }
  4720. if input == nil {
  4721. input = &CreateVpnConnectionRouteInput{}
  4722. }
  4723. output = &CreateVpnConnectionRouteOutput{}
  4724. req = c.newRequest(op, input, output)
  4725. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4726. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4727. return
  4728. }
  4729. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  4730. //
  4731. // Creates a static route associated with a VPN connection between an existing
  4732. // virtual private gateway and a VPN customer gateway. The static route allows
  4733. // traffic to be routed from the virtual private gateway to the VPN customer
  4734. // gateway.
  4735. //
  4736. // For more information about VPN connections, see Adding a Hardware Virtual
  4737. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4738. // in the Amazon Virtual Private Cloud User Guide.
  4739. //
  4740. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4741. // with awserr.Error's Code and Message methods to get detailed information about
  4742. // the error.
  4743. //
  4744. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4745. // API operation CreateVpnConnectionRoute for usage and error information.
  4746. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  4747. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  4748. req, out := c.CreateVpnConnectionRouteRequest(input)
  4749. return out, req.Send()
  4750. }
  4751. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  4752. // the ability to pass a context and additional request options.
  4753. //
  4754. // See CreateVpnConnectionRoute for details on how to use this API operation.
  4755. //
  4756. // The context must be non-nil and will be used for request cancellation. If
  4757. // the context is nil a panic will occur. In the future the SDK may create
  4758. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4759. // for more information on using Contexts.
  4760. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  4761. req, out := c.CreateVpnConnectionRouteRequest(input)
  4762. req.SetContext(ctx)
  4763. req.ApplyOptions(opts...)
  4764. return out, req.Send()
  4765. }
  4766. const opCreateVpnGateway = "CreateVpnGateway"
  4767. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  4768. // client's request for the CreateVpnGateway operation. The "output" return
  4769. // value can be used to capture response data after the request's "Send" method
  4770. // is called.
  4771. //
  4772. // See CreateVpnGateway for usage and error information.
  4773. //
  4774. // Creating a request object using this method should be used when you want to inject
  4775. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4776. // access properties on the request object before or after sending the request. If
  4777. // you just want the service response, call the CreateVpnGateway method directly
  4778. // instead.
  4779. //
  4780. // Note: You must call the "Send" method on the returned request object in order
  4781. // to execute the request.
  4782. //
  4783. // // Example sending a request using the CreateVpnGatewayRequest method.
  4784. // req, resp := client.CreateVpnGatewayRequest(params)
  4785. //
  4786. // err := req.Send()
  4787. // if err == nil { // resp is now filled
  4788. // fmt.Println(resp)
  4789. // }
  4790. //
  4791. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  4792. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  4793. op := &request.Operation{
  4794. Name: opCreateVpnGateway,
  4795. HTTPMethod: "POST",
  4796. HTTPPath: "/",
  4797. }
  4798. if input == nil {
  4799. input = &CreateVpnGatewayInput{}
  4800. }
  4801. output = &CreateVpnGatewayOutput{}
  4802. req = c.newRequest(op, input, output)
  4803. return
  4804. }
  4805. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  4806. //
  4807. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  4808. // on the VPC side of your VPN connection. You can create a virtual private
  4809. // gateway before creating the VPC itself.
  4810. //
  4811. // For more information about virtual private gateways, see Adding a Hardware
  4812. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4813. // in the Amazon Virtual Private Cloud User Guide.
  4814. //
  4815. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4816. // with awserr.Error's Code and Message methods to get detailed information about
  4817. // the error.
  4818. //
  4819. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4820. // API operation CreateVpnGateway for usage and error information.
  4821. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  4822. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  4823. req, out := c.CreateVpnGatewayRequest(input)
  4824. return out, req.Send()
  4825. }
  4826. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  4827. // the ability to pass a context and additional request options.
  4828. //
  4829. // See CreateVpnGateway for details on how to use this API operation.
  4830. //
  4831. // The context must be non-nil and will be used for request cancellation. If
  4832. // the context is nil a panic will occur. In the future the SDK may create
  4833. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4834. // for more information on using Contexts.
  4835. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  4836. req, out := c.CreateVpnGatewayRequest(input)
  4837. req.SetContext(ctx)
  4838. req.ApplyOptions(opts...)
  4839. return out, req.Send()
  4840. }
  4841. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  4842. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  4843. // client's request for the DeleteCustomerGateway operation. The "output" return
  4844. // value can be used to capture response data after the request's "Send" method
  4845. // is called.
  4846. //
  4847. // See DeleteCustomerGateway for usage and error information.
  4848. //
  4849. // Creating a request object using this method should be used when you want to inject
  4850. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4851. // access properties on the request object before or after sending the request. If
  4852. // you just want the service response, call the DeleteCustomerGateway method directly
  4853. // instead.
  4854. //
  4855. // Note: You must call the "Send" method on the returned request object in order
  4856. // to execute the request.
  4857. //
  4858. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  4859. // req, resp := client.DeleteCustomerGatewayRequest(params)
  4860. //
  4861. // err := req.Send()
  4862. // if err == nil { // resp is now filled
  4863. // fmt.Println(resp)
  4864. // }
  4865. //
  4866. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  4867. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  4868. op := &request.Operation{
  4869. Name: opDeleteCustomerGateway,
  4870. HTTPMethod: "POST",
  4871. HTTPPath: "/",
  4872. }
  4873. if input == nil {
  4874. input = &DeleteCustomerGatewayInput{}
  4875. }
  4876. output = &DeleteCustomerGatewayOutput{}
  4877. req = c.newRequest(op, input, output)
  4878. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4879. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4880. return
  4881. }
  4882. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  4883. //
  4884. // Deletes the specified customer gateway. You must delete the VPN connection
  4885. // before you can delete the customer gateway.
  4886. //
  4887. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4888. // with awserr.Error's Code and Message methods to get detailed information about
  4889. // the error.
  4890. //
  4891. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4892. // API operation DeleteCustomerGateway for usage and error information.
  4893. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  4894. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  4895. req, out := c.DeleteCustomerGatewayRequest(input)
  4896. return out, req.Send()
  4897. }
  4898. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  4899. // the ability to pass a context and additional request options.
  4900. //
  4901. // See DeleteCustomerGateway for details on how to use this API operation.
  4902. //
  4903. // The context must be non-nil and will be used for request cancellation. If
  4904. // the context is nil a panic will occur. In the future the SDK may create
  4905. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4906. // for more information on using Contexts.
  4907. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  4908. req, out := c.DeleteCustomerGatewayRequest(input)
  4909. req.SetContext(ctx)
  4910. req.ApplyOptions(opts...)
  4911. return out, req.Send()
  4912. }
  4913. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  4914. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  4915. // client's request for the DeleteDhcpOptions operation. The "output" return
  4916. // value can be used to capture response data after the request's "Send" method
  4917. // is called.
  4918. //
  4919. // See DeleteDhcpOptions for usage and error information.
  4920. //
  4921. // Creating a request object using this method should be used when you want to inject
  4922. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4923. // access properties on the request object before or after sending the request. If
  4924. // you just want the service response, call the DeleteDhcpOptions method directly
  4925. // instead.
  4926. //
  4927. // Note: You must call the "Send" method on the returned request object in order
  4928. // to execute the request.
  4929. //
  4930. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  4931. // req, resp := client.DeleteDhcpOptionsRequest(params)
  4932. //
  4933. // err := req.Send()
  4934. // if err == nil { // resp is now filled
  4935. // fmt.Println(resp)
  4936. // }
  4937. //
  4938. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  4939. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  4940. op := &request.Operation{
  4941. Name: opDeleteDhcpOptions,
  4942. HTTPMethod: "POST",
  4943. HTTPPath: "/",
  4944. }
  4945. if input == nil {
  4946. input = &DeleteDhcpOptionsInput{}
  4947. }
  4948. output = &DeleteDhcpOptionsOutput{}
  4949. req = c.newRequest(op, input, output)
  4950. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4951. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4952. return
  4953. }
  4954. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  4955. //
  4956. // Deletes the specified set of DHCP options. You must disassociate the set
  4957. // of DHCP options before you can delete it. You can disassociate the set of
  4958. // DHCP options by associating either a new set of options or the default set
  4959. // of options with the VPC.
  4960. //
  4961. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4962. // with awserr.Error's Code and Message methods to get detailed information about
  4963. // the error.
  4964. //
  4965. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4966. // API operation DeleteDhcpOptions for usage and error information.
  4967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  4968. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  4969. req, out := c.DeleteDhcpOptionsRequest(input)
  4970. return out, req.Send()
  4971. }
  4972. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  4973. // the ability to pass a context and additional request options.
  4974. //
  4975. // See DeleteDhcpOptions for details on how to use this API operation.
  4976. //
  4977. // The context must be non-nil and will be used for request cancellation. If
  4978. // the context is nil a panic will occur. In the future the SDK may create
  4979. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4980. // for more information on using Contexts.
  4981. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  4982. req, out := c.DeleteDhcpOptionsRequest(input)
  4983. req.SetContext(ctx)
  4984. req.ApplyOptions(opts...)
  4985. return out, req.Send()
  4986. }
  4987. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  4988. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  4989. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  4990. // value can be used to capture response data after the request's "Send" method
  4991. // is called.
  4992. //
  4993. // See DeleteEgressOnlyInternetGateway for usage and error information.
  4994. //
  4995. // Creating a request object using this method should be used when you want to inject
  4996. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4997. // access properties on the request object before or after sending the request. If
  4998. // you just want the service response, call the DeleteEgressOnlyInternetGateway method directly
  4999. // instead.
  5000. //
  5001. // Note: You must call the "Send" method on the returned request object in order
  5002. // to execute the request.
  5003. //
  5004. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  5005. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  5006. //
  5007. // err := req.Send()
  5008. // if err == nil { // resp is now filled
  5009. // fmt.Println(resp)
  5010. // }
  5011. //
  5012. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  5013. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  5014. op := &request.Operation{
  5015. Name: opDeleteEgressOnlyInternetGateway,
  5016. HTTPMethod: "POST",
  5017. HTTPPath: "/",
  5018. }
  5019. if input == nil {
  5020. input = &DeleteEgressOnlyInternetGatewayInput{}
  5021. }
  5022. output = &DeleteEgressOnlyInternetGatewayOutput{}
  5023. req = c.newRequest(op, input, output)
  5024. return
  5025. }
  5026. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  5027. //
  5028. // Deletes an egress-only Internet gateway.
  5029. //
  5030. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5031. // with awserr.Error's Code and Message methods to get detailed information about
  5032. // the error.
  5033. //
  5034. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5035. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  5036. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  5037. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  5038. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  5039. return out, req.Send()
  5040. }
  5041. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  5042. // the ability to pass a context and additional request options.
  5043. //
  5044. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  5045. //
  5046. // The context must be non-nil and will be used for request cancellation. If
  5047. // the context is nil a panic will occur. In the future the SDK may create
  5048. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5049. // for more information on using Contexts.
  5050. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  5051. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  5052. req.SetContext(ctx)
  5053. req.ApplyOptions(opts...)
  5054. return out, req.Send()
  5055. }
  5056. const opDeleteFlowLogs = "DeleteFlowLogs"
  5057. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  5058. // client's request for the DeleteFlowLogs operation. The "output" return
  5059. // value can be used to capture response data after the request's "Send" method
  5060. // is called.
  5061. //
  5062. // See DeleteFlowLogs for usage and error information.
  5063. //
  5064. // Creating a request object using this method should be used when you want to inject
  5065. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5066. // access properties on the request object before or after sending the request. If
  5067. // you just want the service response, call the DeleteFlowLogs method directly
  5068. // instead.
  5069. //
  5070. // Note: You must call the "Send" method on the returned request object in order
  5071. // to execute the request.
  5072. //
  5073. // // Example sending a request using the DeleteFlowLogsRequest method.
  5074. // req, resp := client.DeleteFlowLogsRequest(params)
  5075. //
  5076. // err := req.Send()
  5077. // if err == nil { // resp is now filled
  5078. // fmt.Println(resp)
  5079. // }
  5080. //
  5081. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  5082. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  5083. op := &request.Operation{
  5084. Name: opDeleteFlowLogs,
  5085. HTTPMethod: "POST",
  5086. HTTPPath: "/",
  5087. }
  5088. if input == nil {
  5089. input = &DeleteFlowLogsInput{}
  5090. }
  5091. output = &DeleteFlowLogsOutput{}
  5092. req = c.newRequest(op, input, output)
  5093. return
  5094. }
  5095. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  5096. //
  5097. // Deletes one or more flow logs.
  5098. //
  5099. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5100. // with awserr.Error's Code and Message methods to get detailed information about
  5101. // the error.
  5102. //
  5103. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5104. // API operation DeleteFlowLogs for usage and error information.
  5105. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  5106. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  5107. req, out := c.DeleteFlowLogsRequest(input)
  5108. return out, req.Send()
  5109. }
  5110. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  5111. // the ability to pass a context and additional request options.
  5112. //
  5113. // See DeleteFlowLogs for details on how to use this API operation.
  5114. //
  5115. // The context must be non-nil and will be used for request cancellation. If
  5116. // the context is nil a panic will occur. In the future the SDK may create
  5117. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5118. // for more information on using Contexts.
  5119. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  5120. req, out := c.DeleteFlowLogsRequest(input)
  5121. req.SetContext(ctx)
  5122. req.ApplyOptions(opts...)
  5123. return out, req.Send()
  5124. }
  5125. const opDeleteInternetGateway = "DeleteInternetGateway"
  5126. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  5127. // client's request for the DeleteInternetGateway operation. The "output" return
  5128. // value can be used to capture response data after the request's "Send" method
  5129. // is called.
  5130. //
  5131. // See DeleteInternetGateway for usage and error information.
  5132. //
  5133. // Creating a request object using this method should be used when you want to inject
  5134. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5135. // access properties on the request object before or after sending the request. If
  5136. // you just want the service response, call the DeleteInternetGateway method directly
  5137. // instead.
  5138. //
  5139. // Note: You must call the "Send" method on the returned request object in order
  5140. // to execute the request.
  5141. //
  5142. // // Example sending a request using the DeleteInternetGatewayRequest method.
  5143. // req, resp := client.DeleteInternetGatewayRequest(params)
  5144. //
  5145. // err := req.Send()
  5146. // if err == nil { // resp is now filled
  5147. // fmt.Println(resp)
  5148. // }
  5149. //
  5150. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5151. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  5152. op := &request.Operation{
  5153. Name: opDeleteInternetGateway,
  5154. HTTPMethod: "POST",
  5155. HTTPPath: "/",
  5156. }
  5157. if input == nil {
  5158. input = &DeleteInternetGatewayInput{}
  5159. }
  5160. output = &DeleteInternetGatewayOutput{}
  5161. req = c.newRequest(op, input, output)
  5162. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5163. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5164. return
  5165. }
  5166. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  5167. //
  5168. // Deletes the specified Internet gateway. You must detach the Internet gateway
  5169. // from the VPC before you can delete it.
  5170. //
  5171. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5172. // with awserr.Error's Code and Message methods to get detailed information about
  5173. // the error.
  5174. //
  5175. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5176. // API operation DeleteInternetGateway for usage and error information.
  5177. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5178. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  5179. req, out := c.DeleteInternetGatewayRequest(input)
  5180. return out, req.Send()
  5181. }
  5182. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  5183. // the ability to pass a context and additional request options.
  5184. //
  5185. // See DeleteInternetGateway for details on how to use this API operation.
  5186. //
  5187. // The context must be non-nil and will be used for request cancellation. If
  5188. // the context is nil a panic will occur. In the future the SDK may create
  5189. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5190. // for more information on using Contexts.
  5191. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  5192. req, out := c.DeleteInternetGatewayRequest(input)
  5193. req.SetContext(ctx)
  5194. req.ApplyOptions(opts...)
  5195. return out, req.Send()
  5196. }
  5197. const opDeleteKeyPair = "DeleteKeyPair"
  5198. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  5199. // client's request for the DeleteKeyPair operation. The "output" return
  5200. // value can be used to capture response data after the request's "Send" method
  5201. // is called.
  5202. //
  5203. // See DeleteKeyPair for usage and error information.
  5204. //
  5205. // Creating a request object using this method should be used when you want to inject
  5206. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5207. // access properties on the request object before or after sending the request. If
  5208. // you just want the service response, call the DeleteKeyPair method directly
  5209. // instead.
  5210. //
  5211. // Note: You must call the "Send" method on the returned request object in order
  5212. // to execute the request.
  5213. //
  5214. // // Example sending a request using the DeleteKeyPairRequest method.
  5215. // req, resp := client.DeleteKeyPairRequest(params)
  5216. //
  5217. // err := req.Send()
  5218. // if err == nil { // resp is now filled
  5219. // fmt.Println(resp)
  5220. // }
  5221. //
  5222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5223. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  5224. op := &request.Operation{
  5225. Name: opDeleteKeyPair,
  5226. HTTPMethod: "POST",
  5227. HTTPPath: "/",
  5228. }
  5229. if input == nil {
  5230. input = &DeleteKeyPairInput{}
  5231. }
  5232. output = &DeleteKeyPairOutput{}
  5233. req = c.newRequest(op, input, output)
  5234. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5235. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5236. return
  5237. }
  5238. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  5239. //
  5240. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  5241. //
  5242. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5243. // with awserr.Error's Code and Message methods to get detailed information about
  5244. // the error.
  5245. //
  5246. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5247. // API operation DeleteKeyPair for usage and error information.
  5248. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5249. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  5250. req, out := c.DeleteKeyPairRequest(input)
  5251. return out, req.Send()
  5252. }
  5253. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  5254. // the ability to pass a context and additional request options.
  5255. //
  5256. // See DeleteKeyPair for details on how to use this API operation.
  5257. //
  5258. // The context must be non-nil and will be used for request cancellation. If
  5259. // the context is nil a panic will occur. In the future the SDK may create
  5260. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5261. // for more information on using Contexts.
  5262. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  5263. req, out := c.DeleteKeyPairRequest(input)
  5264. req.SetContext(ctx)
  5265. req.ApplyOptions(opts...)
  5266. return out, req.Send()
  5267. }
  5268. const opDeleteNatGateway = "DeleteNatGateway"
  5269. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  5270. // client's request for the DeleteNatGateway operation. The "output" return
  5271. // value can be used to capture response data after the request's "Send" method
  5272. // is called.
  5273. //
  5274. // See DeleteNatGateway for usage and error information.
  5275. //
  5276. // Creating a request object using this method should be used when you want to inject
  5277. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5278. // access properties on the request object before or after sending the request. If
  5279. // you just want the service response, call the DeleteNatGateway method directly
  5280. // instead.
  5281. //
  5282. // Note: You must call the "Send" method on the returned request object in order
  5283. // to execute the request.
  5284. //
  5285. // // Example sending a request using the DeleteNatGatewayRequest method.
  5286. // req, resp := client.DeleteNatGatewayRequest(params)
  5287. //
  5288. // err := req.Send()
  5289. // if err == nil { // resp is now filled
  5290. // fmt.Println(resp)
  5291. // }
  5292. //
  5293. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5294. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  5295. op := &request.Operation{
  5296. Name: opDeleteNatGateway,
  5297. HTTPMethod: "POST",
  5298. HTTPPath: "/",
  5299. }
  5300. if input == nil {
  5301. input = &DeleteNatGatewayInput{}
  5302. }
  5303. output = &DeleteNatGatewayOutput{}
  5304. req = c.newRequest(op, input, output)
  5305. return
  5306. }
  5307. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  5308. //
  5309. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  5310. // Elastic IP address, but does not release the address from your account. Deleting
  5311. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  5312. //
  5313. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5314. // with awserr.Error's Code and Message methods to get detailed information about
  5315. // the error.
  5316. //
  5317. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5318. // API operation DeleteNatGateway for usage and error information.
  5319. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5320. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  5321. req, out := c.DeleteNatGatewayRequest(input)
  5322. return out, req.Send()
  5323. }
  5324. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  5325. // the ability to pass a context and additional request options.
  5326. //
  5327. // See DeleteNatGateway for details on how to use this API operation.
  5328. //
  5329. // The context must be non-nil and will be used for request cancellation. If
  5330. // the context is nil a panic will occur. In the future the SDK may create
  5331. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5332. // for more information on using Contexts.
  5333. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  5334. req, out := c.DeleteNatGatewayRequest(input)
  5335. req.SetContext(ctx)
  5336. req.ApplyOptions(opts...)
  5337. return out, req.Send()
  5338. }
  5339. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  5340. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  5341. // client's request for the DeleteNetworkAcl operation. The "output" return
  5342. // value can be used to capture response data after the request's "Send" method
  5343. // is called.
  5344. //
  5345. // See DeleteNetworkAcl for usage and error information.
  5346. //
  5347. // Creating a request object using this method should be used when you want to inject
  5348. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5349. // access properties on the request object before or after sending the request. If
  5350. // you just want the service response, call the DeleteNetworkAcl method directly
  5351. // instead.
  5352. //
  5353. // Note: You must call the "Send" method on the returned request object in order
  5354. // to execute the request.
  5355. //
  5356. // // Example sending a request using the DeleteNetworkAclRequest method.
  5357. // req, resp := client.DeleteNetworkAclRequest(params)
  5358. //
  5359. // err := req.Send()
  5360. // if err == nil { // resp is now filled
  5361. // fmt.Println(resp)
  5362. // }
  5363. //
  5364. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  5365. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  5366. op := &request.Operation{
  5367. Name: opDeleteNetworkAcl,
  5368. HTTPMethod: "POST",
  5369. HTTPPath: "/",
  5370. }
  5371. if input == nil {
  5372. input = &DeleteNetworkAclInput{}
  5373. }
  5374. output = &DeleteNetworkAclOutput{}
  5375. req = c.newRequest(op, input, output)
  5376. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5377. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5378. return
  5379. }
  5380. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  5381. //
  5382. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  5383. // with any subnets. You can't delete the default network ACL.
  5384. //
  5385. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5386. // with awserr.Error's Code and Message methods to get detailed information about
  5387. // the error.
  5388. //
  5389. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5390. // API operation DeleteNetworkAcl for usage and error information.
  5391. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  5392. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  5393. req, out := c.DeleteNetworkAclRequest(input)
  5394. return out, req.Send()
  5395. }
  5396. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  5397. // the ability to pass a context and additional request options.
  5398. //
  5399. // See DeleteNetworkAcl for details on how to use this API operation.
  5400. //
  5401. // The context must be non-nil and will be used for request cancellation. If
  5402. // the context is nil a panic will occur. In the future the SDK may create
  5403. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5404. // for more information on using Contexts.
  5405. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  5406. req, out := c.DeleteNetworkAclRequest(input)
  5407. req.SetContext(ctx)
  5408. req.ApplyOptions(opts...)
  5409. return out, req.Send()
  5410. }
  5411. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  5412. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  5413. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  5414. // value can be used to capture response data after the request's "Send" method
  5415. // is called.
  5416. //
  5417. // See DeleteNetworkAclEntry for usage and error information.
  5418. //
  5419. // Creating a request object using this method should be used when you want to inject
  5420. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5421. // access properties on the request object before or after sending the request. If
  5422. // you just want the service response, call the DeleteNetworkAclEntry method directly
  5423. // instead.
  5424. //
  5425. // Note: You must call the "Send" method on the returned request object in order
  5426. // to execute the request.
  5427. //
  5428. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  5429. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  5430. //
  5431. // err := req.Send()
  5432. // if err == nil { // resp is now filled
  5433. // fmt.Println(resp)
  5434. // }
  5435. //
  5436. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  5437. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  5438. op := &request.Operation{
  5439. Name: opDeleteNetworkAclEntry,
  5440. HTTPMethod: "POST",
  5441. HTTPPath: "/",
  5442. }
  5443. if input == nil {
  5444. input = &DeleteNetworkAclEntryInput{}
  5445. }
  5446. output = &DeleteNetworkAclEntryOutput{}
  5447. req = c.newRequest(op, input, output)
  5448. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5449. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5450. return
  5451. }
  5452. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  5453. //
  5454. // Deletes the specified ingress or egress entry (rule) from the specified network
  5455. // ACL.
  5456. //
  5457. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5458. // with awserr.Error's Code and Message methods to get detailed information about
  5459. // the error.
  5460. //
  5461. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5462. // API operation DeleteNetworkAclEntry for usage and error information.
  5463. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  5464. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  5465. req, out := c.DeleteNetworkAclEntryRequest(input)
  5466. return out, req.Send()
  5467. }
  5468. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  5469. // the ability to pass a context and additional request options.
  5470. //
  5471. // See DeleteNetworkAclEntry for details on how to use this API operation.
  5472. //
  5473. // The context must be non-nil and will be used for request cancellation. If
  5474. // the context is nil a panic will occur. In the future the SDK may create
  5475. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5476. // for more information on using Contexts.
  5477. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  5478. req, out := c.DeleteNetworkAclEntryRequest(input)
  5479. req.SetContext(ctx)
  5480. req.ApplyOptions(opts...)
  5481. return out, req.Send()
  5482. }
  5483. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  5484. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  5485. // client's request for the DeleteNetworkInterface operation. The "output" return
  5486. // value can be used to capture response data after the request's "Send" method
  5487. // is called.
  5488. //
  5489. // See DeleteNetworkInterface for usage and error information.
  5490. //
  5491. // Creating a request object using this method should be used when you want to inject
  5492. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5493. // access properties on the request object before or after sending the request. If
  5494. // you just want the service response, call the DeleteNetworkInterface method directly
  5495. // instead.
  5496. //
  5497. // Note: You must call the "Send" method on the returned request object in order
  5498. // to execute the request.
  5499. //
  5500. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  5501. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  5502. //
  5503. // err := req.Send()
  5504. // if err == nil { // resp is now filled
  5505. // fmt.Println(resp)
  5506. // }
  5507. //
  5508. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  5509. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  5510. op := &request.Operation{
  5511. Name: opDeleteNetworkInterface,
  5512. HTTPMethod: "POST",
  5513. HTTPPath: "/",
  5514. }
  5515. if input == nil {
  5516. input = &DeleteNetworkInterfaceInput{}
  5517. }
  5518. output = &DeleteNetworkInterfaceOutput{}
  5519. req = c.newRequest(op, input, output)
  5520. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5521. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5522. return
  5523. }
  5524. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  5525. //
  5526. // Deletes the specified network interface. You must detach the network interface
  5527. // before you can delete it.
  5528. //
  5529. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5530. // with awserr.Error's Code and Message methods to get detailed information about
  5531. // the error.
  5532. //
  5533. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5534. // API operation DeleteNetworkInterface for usage and error information.
  5535. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  5536. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  5537. req, out := c.DeleteNetworkInterfaceRequest(input)
  5538. return out, req.Send()
  5539. }
  5540. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  5541. // the ability to pass a context and additional request options.
  5542. //
  5543. // See DeleteNetworkInterface for details on how to use this API operation.
  5544. //
  5545. // The context must be non-nil and will be used for request cancellation. If
  5546. // the context is nil a panic will occur. In the future the SDK may create
  5547. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5548. // for more information on using Contexts.
  5549. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  5550. req, out := c.DeleteNetworkInterfaceRequest(input)
  5551. req.SetContext(ctx)
  5552. req.ApplyOptions(opts...)
  5553. return out, req.Send()
  5554. }
  5555. const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
  5556. // DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
  5557. // client's request for the DeleteNetworkInterfacePermission operation. The "output" return
  5558. // value can be used to capture response data after the request's "Send" method
  5559. // is called.
  5560. //
  5561. // See DeleteNetworkInterfacePermission for usage and error information.
  5562. //
  5563. // Creating a request object using this method should be used when you want to inject
  5564. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5565. // access properties on the request object before or after sending the request. If
  5566. // you just want the service response, call the DeleteNetworkInterfacePermission method directly
  5567. // instead.
  5568. //
  5569. // Note: You must call the "Send" method on the returned request object in order
  5570. // to execute the request.
  5571. //
  5572. // // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
  5573. // req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
  5574. //
  5575. // err := req.Send()
  5576. // if err == nil { // resp is now filled
  5577. // fmt.Println(resp)
  5578. // }
  5579. //
  5580. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  5581. func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
  5582. op := &request.Operation{
  5583. Name: opDeleteNetworkInterfacePermission,
  5584. HTTPMethod: "POST",
  5585. HTTPPath: "/",
  5586. }
  5587. if input == nil {
  5588. input = &DeleteNetworkInterfacePermissionInput{}
  5589. }
  5590. output = &DeleteNetworkInterfacePermissionOutput{}
  5591. req = c.newRequest(op, input, output)
  5592. return
  5593. }
  5594. // DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
  5595. //
  5596. // Deletes a permission for a network interface. By default, you cannot delete
  5597. // the permission if the account for which you're removing the permission has
  5598. // attached the network interface to an instance. However, you can force delete
  5599. // the permission, regardless of any attachment.
  5600. //
  5601. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5602. // with awserr.Error's Code and Message methods to get detailed information about
  5603. // the error.
  5604. //
  5605. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5606. // API operation DeleteNetworkInterfacePermission for usage and error information.
  5607. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
  5608. func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
  5609. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  5610. return out, req.Send()
  5611. }
  5612. // DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
  5613. // the ability to pass a context and additional request options.
  5614. //
  5615. // See DeleteNetworkInterfacePermission for details on how to use this API operation.
  5616. //
  5617. // The context must be non-nil and will be used for request cancellation. If
  5618. // the context is nil a panic will occur. In the future the SDK may create
  5619. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5620. // for more information on using Contexts.
  5621. func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
  5622. req, out := c.DeleteNetworkInterfacePermissionRequest(input)
  5623. req.SetContext(ctx)
  5624. req.ApplyOptions(opts...)
  5625. return out, req.Send()
  5626. }
  5627. const opDeletePlacementGroup = "DeletePlacementGroup"
  5628. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  5629. // client's request for the DeletePlacementGroup operation. The "output" return
  5630. // value can be used to capture response data after the request's "Send" method
  5631. // is called.
  5632. //
  5633. // See DeletePlacementGroup for usage and error information.
  5634. //
  5635. // Creating a request object using this method should be used when you want to inject
  5636. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5637. // access properties on the request object before or after sending the request. If
  5638. // you just want the service response, call the DeletePlacementGroup method directly
  5639. // instead.
  5640. //
  5641. // Note: You must call the "Send" method on the returned request object in order
  5642. // to execute the request.
  5643. //
  5644. // // Example sending a request using the DeletePlacementGroupRequest method.
  5645. // req, resp := client.DeletePlacementGroupRequest(params)
  5646. //
  5647. // err := req.Send()
  5648. // if err == nil { // resp is now filled
  5649. // fmt.Println(resp)
  5650. // }
  5651. //
  5652. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  5653. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  5654. op := &request.Operation{
  5655. Name: opDeletePlacementGroup,
  5656. HTTPMethod: "POST",
  5657. HTTPPath: "/",
  5658. }
  5659. if input == nil {
  5660. input = &DeletePlacementGroupInput{}
  5661. }
  5662. output = &DeletePlacementGroupOutput{}
  5663. req = c.newRequest(op, input, output)
  5664. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5665. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5666. return
  5667. }
  5668. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  5669. //
  5670. // Deletes the specified placement group. You must terminate all instances in
  5671. // the placement group before you can delete the placement group. For more information
  5672. // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  5673. // in the Amazon Elastic Compute Cloud User Guide.
  5674. //
  5675. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5676. // with awserr.Error's Code and Message methods to get detailed information about
  5677. // the error.
  5678. //
  5679. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5680. // API operation DeletePlacementGroup for usage and error information.
  5681. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  5682. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  5683. req, out := c.DeletePlacementGroupRequest(input)
  5684. return out, req.Send()
  5685. }
  5686. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  5687. // the ability to pass a context and additional request options.
  5688. //
  5689. // See DeletePlacementGroup for details on how to use this API operation.
  5690. //
  5691. // The context must be non-nil and will be used for request cancellation. If
  5692. // the context is nil a panic will occur. In the future the SDK may create
  5693. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5694. // for more information on using Contexts.
  5695. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  5696. req, out := c.DeletePlacementGroupRequest(input)
  5697. req.SetContext(ctx)
  5698. req.ApplyOptions(opts...)
  5699. return out, req.Send()
  5700. }
  5701. const opDeleteRoute = "DeleteRoute"
  5702. // DeleteRouteRequest generates a "aws/request.Request" representing the
  5703. // client's request for the DeleteRoute operation. The "output" return
  5704. // value can be used to capture response data after the request's "Send" method
  5705. // is called.
  5706. //
  5707. // See DeleteRoute for usage and error information.
  5708. //
  5709. // Creating a request object using this method should be used when you want to inject
  5710. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5711. // access properties on the request object before or after sending the request. If
  5712. // you just want the service response, call the DeleteRoute method directly
  5713. // instead.
  5714. //
  5715. // Note: You must call the "Send" method on the returned request object in order
  5716. // to execute the request.
  5717. //
  5718. // // Example sending a request using the DeleteRouteRequest method.
  5719. // req, resp := client.DeleteRouteRequest(params)
  5720. //
  5721. // err := req.Send()
  5722. // if err == nil { // resp is now filled
  5723. // fmt.Println(resp)
  5724. // }
  5725. //
  5726. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  5727. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  5728. op := &request.Operation{
  5729. Name: opDeleteRoute,
  5730. HTTPMethod: "POST",
  5731. HTTPPath: "/",
  5732. }
  5733. if input == nil {
  5734. input = &DeleteRouteInput{}
  5735. }
  5736. output = &DeleteRouteOutput{}
  5737. req = c.newRequest(op, input, output)
  5738. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5739. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5740. return
  5741. }
  5742. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  5743. //
  5744. // Deletes the specified route from the specified route table.
  5745. //
  5746. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5747. // with awserr.Error's Code and Message methods to get detailed information about
  5748. // the error.
  5749. //
  5750. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5751. // API operation DeleteRoute for usage and error information.
  5752. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  5753. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  5754. req, out := c.DeleteRouteRequest(input)
  5755. return out, req.Send()
  5756. }
  5757. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  5758. // the ability to pass a context and additional request options.
  5759. //
  5760. // See DeleteRoute for details on how to use this API operation.
  5761. //
  5762. // The context must be non-nil and will be used for request cancellation. If
  5763. // the context is nil a panic will occur. In the future the SDK may create
  5764. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5765. // for more information on using Contexts.
  5766. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  5767. req, out := c.DeleteRouteRequest(input)
  5768. req.SetContext(ctx)
  5769. req.ApplyOptions(opts...)
  5770. return out, req.Send()
  5771. }
  5772. const opDeleteRouteTable = "DeleteRouteTable"
  5773. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  5774. // client's request for the DeleteRouteTable operation. The "output" return
  5775. // value can be used to capture response data after the request's "Send" method
  5776. // is called.
  5777. //
  5778. // See DeleteRouteTable for usage and error information.
  5779. //
  5780. // Creating a request object using this method should be used when you want to inject
  5781. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5782. // access properties on the request object before or after sending the request. If
  5783. // you just want the service response, call the DeleteRouteTable method directly
  5784. // instead.
  5785. //
  5786. // Note: You must call the "Send" method on the returned request object in order
  5787. // to execute the request.
  5788. //
  5789. // // Example sending a request using the DeleteRouteTableRequest method.
  5790. // req, resp := client.DeleteRouteTableRequest(params)
  5791. //
  5792. // err := req.Send()
  5793. // if err == nil { // resp is now filled
  5794. // fmt.Println(resp)
  5795. // }
  5796. //
  5797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  5798. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  5799. op := &request.Operation{
  5800. Name: opDeleteRouteTable,
  5801. HTTPMethod: "POST",
  5802. HTTPPath: "/",
  5803. }
  5804. if input == nil {
  5805. input = &DeleteRouteTableInput{}
  5806. }
  5807. output = &DeleteRouteTableOutput{}
  5808. req = c.newRequest(op, input, output)
  5809. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5810. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5811. return
  5812. }
  5813. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  5814. //
  5815. // Deletes the specified route table. You must disassociate the route table
  5816. // from any subnets before you can delete it. You can't delete the main route
  5817. // table.
  5818. //
  5819. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5820. // with awserr.Error's Code and Message methods to get detailed information about
  5821. // the error.
  5822. //
  5823. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5824. // API operation DeleteRouteTable for usage and error information.
  5825. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  5826. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  5827. req, out := c.DeleteRouteTableRequest(input)
  5828. return out, req.Send()
  5829. }
  5830. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  5831. // the ability to pass a context and additional request options.
  5832. //
  5833. // See DeleteRouteTable for details on how to use this API operation.
  5834. //
  5835. // The context must be non-nil and will be used for request cancellation. If
  5836. // the context is nil a panic will occur. In the future the SDK may create
  5837. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5838. // for more information on using Contexts.
  5839. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  5840. req, out := c.DeleteRouteTableRequest(input)
  5841. req.SetContext(ctx)
  5842. req.ApplyOptions(opts...)
  5843. return out, req.Send()
  5844. }
  5845. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  5846. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  5847. // client's request for the DeleteSecurityGroup operation. The "output" return
  5848. // value can be used to capture response data after the request's "Send" method
  5849. // is called.
  5850. //
  5851. // See DeleteSecurityGroup for usage and error information.
  5852. //
  5853. // Creating a request object using this method should be used when you want to inject
  5854. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5855. // access properties on the request object before or after sending the request. If
  5856. // you just want the service response, call the DeleteSecurityGroup method directly
  5857. // instead.
  5858. //
  5859. // Note: You must call the "Send" method on the returned request object in order
  5860. // to execute the request.
  5861. //
  5862. // // Example sending a request using the DeleteSecurityGroupRequest method.
  5863. // req, resp := client.DeleteSecurityGroupRequest(params)
  5864. //
  5865. // err := req.Send()
  5866. // if err == nil { // resp is now filled
  5867. // fmt.Println(resp)
  5868. // }
  5869. //
  5870. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  5871. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  5872. op := &request.Operation{
  5873. Name: opDeleteSecurityGroup,
  5874. HTTPMethod: "POST",
  5875. HTTPPath: "/",
  5876. }
  5877. if input == nil {
  5878. input = &DeleteSecurityGroupInput{}
  5879. }
  5880. output = &DeleteSecurityGroupOutput{}
  5881. req = c.newRequest(op, input, output)
  5882. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5883. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5884. return
  5885. }
  5886. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  5887. //
  5888. // Deletes a security group.
  5889. //
  5890. // If you attempt to delete a security group that is associated with an instance,
  5891. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  5892. // in EC2-Classic or DependencyViolation in EC2-VPC.
  5893. //
  5894. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5895. // with awserr.Error's Code and Message methods to get detailed information about
  5896. // the error.
  5897. //
  5898. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5899. // API operation DeleteSecurityGroup for usage and error information.
  5900. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  5901. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  5902. req, out := c.DeleteSecurityGroupRequest(input)
  5903. return out, req.Send()
  5904. }
  5905. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  5906. // the ability to pass a context and additional request options.
  5907. //
  5908. // See DeleteSecurityGroup for details on how to use this API operation.
  5909. //
  5910. // The context must be non-nil and will be used for request cancellation. If
  5911. // the context is nil a panic will occur. In the future the SDK may create
  5912. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5913. // for more information on using Contexts.
  5914. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  5915. req, out := c.DeleteSecurityGroupRequest(input)
  5916. req.SetContext(ctx)
  5917. req.ApplyOptions(opts...)
  5918. return out, req.Send()
  5919. }
  5920. const opDeleteSnapshot = "DeleteSnapshot"
  5921. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  5922. // client's request for the DeleteSnapshot operation. The "output" return
  5923. // value can be used to capture response data after the request's "Send" method
  5924. // is called.
  5925. //
  5926. // See DeleteSnapshot for usage and error information.
  5927. //
  5928. // Creating a request object using this method should be used when you want to inject
  5929. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5930. // access properties on the request object before or after sending the request. If
  5931. // you just want the service response, call the DeleteSnapshot method directly
  5932. // instead.
  5933. //
  5934. // Note: You must call the "Send" method on the returned request object in order
  5935. // to execute the request.
  5936. //
  5937. // // Example sending a request using the DeleteSnapshotRequest method.
  5938. // req, resp := client.DeleteSnapshotRequest(params)
  5939. //
  5940. // err := req.Send()
  5941. // if err == nil { // resp is now filled
  5942. // fmt.Println(resp)
  5943. // }
  5944. //
  5945. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  5946. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  5947. op := &request.Operation{
  5948. Name: opDeleteSnapshot,
  5949. HTTPMethod: "POST",
  5950. HTTPPath: "/",
  5951. }
  5952. if input == nil {
  5953. input = &DeleteSnapshotInput{}
  5954. }
  5955. output = &DeleteSnapshotOutput{}
  5956. req = c.newRequest(op, input, output)
  5957. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5958. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5959. return
  5960. }
  5961. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  5962. //
  5963. // Deletes the specified snapshot.
  5964. //
  5965. // When you make periodic snapshots of a volume, the snapshots are incremental,
  5966. // and only the blocks on the device that have changed since your last snapshot
  5967. // are saved in the new snapshot. When you delete a snapshot, only the data
  5968. // not needed for any other snapshot is removed. So regardless of which prior
  5969. // snapshots have been deleted, all active snapshots will have access to all
  5970. // the information needed to restore the volume.
  5971. //
  5972. // You cannot delete a snapshot of the root device of an EBS volume used by
  5973. // a registered AMI. You must first de-register the AMI before you can delete
  5974. // the snapshot.
  5975. //
  5976. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  5977. // in the Amazon Elastic Compute Cloud User Guide.
  5978. //
  5979. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5980. // with awserr.Error's Code and Message methods to get detailed information about
  5981. // the error.
  5982. //
  5983. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5984. // API operation DeleteSnapshot for usage and error information.
  5985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  5986. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  5987. req, out := c.DeleteSnapshotRequest(input)
  5988. return out, req.Send()
  5989. }
  5990. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  5991. // the ability to pass a context and additional request options.
  5992. //
  5993. // See DeleteSnapshot for details on how to use this API operation.
  5994. //
  5995. // The context must be non-nil and will be used for request cancellation. If
  5996. // the context is nil a panic will occur. In the future the SDK may create
  5997. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5998. // for more information on using Contexts.
  5999. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  6000. req, out := c.DeleteSnapshotRequest(input)
  6001. req.SetContext(ctx)
  6002. req.ApplyOptions(opts...)
  6003. return out, req.Send()
  6004. }
  6005. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  6006. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  6007. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  6008. // value can be used to capture response data after the request's "Send" method
  6009. // is called.
  6010. //
  6011. // See DeleteSpotDatafeedSubscription for usage and error information.
  6012. //
  6013. // Creating a request object using this method should be used when you want to inject
  6014. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6015. // access properties on the request object before or after sending the request. If
  6016. // you just want the service response, call the DeleteSpotDatafeedSubscription method directly
  6017. // instead.
  6018. //
  6019. // Note: You must call the "Send" method on the returned request object in order
  6020. // to execute the request.
  6021. //
  6022. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  6023. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  6024. //
  6025. // err := req.Send()
  6026. // if err == nil { // resp is now filled
  6027. // fmt.Println(resp)
  6028. // }
  6029. //
  6030. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  6031. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  6032. op := &request.Operation{
  6033. Name: opDeleteSpotDatafeedSubscription,
  6034. HTTPMethod: "POST",
  6035. HTTPPath: "/",
  6036. }
  6037. if input == nil {
  6038. input = &DeleteSpotDatafeedSubscriptionInput{}
  6039. }
  6040. output = &DeleteSpotDatafeedSubscriptionOutput{}
  6041. req = c.newRequest(op, input, output)
  6042. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6043. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6044. return
  6045. }
  6046. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  6047. //
  6048. // Deletes the data feed for Spot instances.
  6049. //
  6050. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6051. // with awserr.Error's Code and Message methods to get detailed information about
  6052. // the error.
  6053. //
  6054. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6055. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  6056. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  6057. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  6058. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  6059. return out, req.Send()
  6060. }
  6061. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  6062. // the ability to pass a context and additional request options.
  6063. //
  6064. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  6065. //
  6066. // The context must be non-nil and will be used for request cancellation. If
  6067. // the context is nil a panic will occur. In the future the SDK may create
  6068. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6069. // for more information on using Contexts.
  6070. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  6071. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  6072. req.SetContext(ctx)
  6073. req.ApplyOptions(opts...)
  6074. return out, req.Send()
  6075. }
  6076. const opDeleteSubnet = "DeleteSubnet"
  6077. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  6078. // client's request for the DeleteSubnet operation. The "output" return
  6079. // value can be used to capture response data after the request's "Send" method
  6080. // is called.
  6081. //
  6082. // See DeleteSubnet for usage and error information.
  6083. //
  6084. // Creating a request object using this method should be used when you want to inject
  6085. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6086. // access properties on the request object before or after sending the request. If
  6087. // you just want the service response, call the DeleteSubnet method directly
  6088. // instead.
  6089. //
  6090. // Note: You must call the "Send" method on the returned request object in order
  6091. // to execute the request.
  6092. //
  6093. // // Example sending a request using the DeleteSubnetRequest method.
  6094. // req, resp := client.DeleteSubnetRequest(params)
  6095. //
  6096. // err := req.Send()
  6097. // if err == nil { // resp is now filled
  6098. // fmt.Println(resp)
  6099. // }
  6100. //
  6101. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  6102. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  6103. op := &request.Operation{
  6104. Name: opDeleteSubnet,
  6105. HTTPMethod: "POST",
  6106. HTTPPath: "/",
  6107. }
  6108. if input == nil {
  6109. input = &DeleteSubnetInput{}
  6110. }
  6111. output = &DeleteSubnetOutput{}
  6112. req = c.newRequest(op, input, output)
  6113. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6114. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6115. return
  6116. }
  6117. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  6118. //
  6119. // Deletes the specified subnet. You must terminate all running instances in
  6120. // the subnet before you can delete the subnet.
  6121. //
  6122. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6123. // with awserr.Error's Code and Message methods to get detailed information about
  6124. // the error.
  6125. //
  6126. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6127. // API operation DeleteSubnet for usage and error information.
  6128. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  6129. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  6130. req, out := c.DeleteSubnetRequest(input)
  6131. return out, req.Send()
  6132. }
  6133. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  6134. // the ability to pass a context and additional request options.
  6135. //
  6136. // See DeleteSubnet for details on how to use this API operation.
  6137. //
  6138. // The context must be non-nil and will be used for request cancellation. If
  6139. // the context is nil a panic will occur. In the future the SDK may create
  6140. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6141. // for more information on using Contexts.
  6142. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  6143. req, out := c.DeleteSubnetRequest(input)
  6144. req.SetContext(ctx)
  6145. req.ApplyOptions(opts...)
  6146. return out, req.Send()
  6147. }
  6148. const opDeleteTags = "DeleteTags"
  6149. // DeleteTagsRequest generates a "aws/request.Request" representing the
  6150. // client's request for the DeleteTags operation. The "output" return
  6151. // value can be used to capture response data after the request's "Send" method
  6152. // is called.
  6153. //
  6154. // See DeleteTags for usage and error information.
  6155. //
  6156. // Creating a request object using this method should be used when you want to inject
  6157. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6158. // access properties on the request object before or after sending the request. If
  6159. // you just want the service response, call the DeleteTags method directly
  6160. // instead.
  6161. //
  6162. // Note: You must call the "Send" method on the returned request object in order
  6163. // to execute the request.
  6164. //
  6165. // // Example sending a request using the DeleteTagsRequest method.
  6166. // req, resp := client.DeleteTagsRequest(params)
  6167. //
  6168. // err := req.Send()
  6169. // if err == nil { // resp is now filled
  6170. // fmt.Println(resp)
  6171. // }
  6172. //
  6173. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  6174. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  6175. op := &request.Operation{
  6176. Name: opDeleteTags,
  6177. HTTPMethod: "POST",
  6178. HTTPPath: "/",
  6179. }
  6180. if input == nil {
  6181. input = &DeleteTagsInput{}
  6182. }
  6183. output = &DeleteTagsOutput{}
  6184. req = c.newRequest(op, input, output)
  6185. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6186. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6187. return
  6188. }
  6189. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  6190. //
  6191. // Deletes the specified set of tags from the specified set of resources. This
  6192. // call is designed to follow a DescribeTags request.
  6193. //
  6194. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  6195. // in the Amazon Elastic Compute Cloud User Guide.
  6196. //
  6197. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6198. // with awserr.Error's Code and Message methods to get detailed information about
  6199. // the error.
  6200. //
  6201. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6202. // API operation DeleteTags for usage and error information.
  6203. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  6204. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  6205. req, out := c.DeleteTagsRequest(input)
  6206. return out, req.Send()
  6207. }
  6208. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  6209. // the ability to pass a context and additional request options.
  6210. //
  6211. // See DeleteTags for details on how to use this API operation.
  6212. //
  6213. // The context must be non-nil and will be used for request cancellation. If
  6214. // the context is nil a panic will occur. In the future the SDK may create
  6215. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6216. // for more information on using Contexts.
  6217. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  6218. req, out := c.DeleteTagsRequest(input)
  6219. req.SetContext(ctx)
  6220. req.ApplyOptions(opts...)
  6221. return out, req.Send()
  6222. }
  6223. const opDeleteVolume = "DeleteVolume"
  6224. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  6225. // client's request for the DeleteVolume operation. The "output" return
  6226. // value can be used to capture response data after the request's "Send" method
  6227. // is called.
  6228. //
  6229. // See DeleteVolume for usage and error information.
  6230. //
  6231. // Creating a request object using this method should be used when you want to inject
  6232. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6233. // access properties on the request object before or after sending the request. If
  6234. // you just want the service response, call the DeleteVolume method directly
  6235. // instead.
  6236. //
  6237. // Note: You must call the "Send" method on the returned request object in order
  6238. // to execute the request.
  6239. //
  6240. // // Example sending a request using the DeleteVolumeRequest method.
  6241. // req, resp := client.DeleteVolumeRequest(params)
  6242. //
  6243. // err := req.Send()
  6244. // if err == nil { // resp is now filled
  6245. // fmt.Println(resp)
  6246. // }
  6247. //
  6248. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  6249. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  6250. op := &request.Operation{
  6251. Name: opDeleteVolume,
  6252. HTTPMethod: "POST",
  6253. HTTPPath: "/",
  6254. }
  6255. if input == nil {
  6256. input = &DeleteVolumeInput{}
  6257. }
  6258. output = &DeleteVolumeOutput{}
  6259. req = c.newRequest(op, input, output)
  6260. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6261. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6262. return
  6263. }
  6264. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  6265. //
  6266. // Deletes the specified EBS volume. The volume must be in the available state
  6267. // (not attached to an instance).
  6268. //
  6269. // The volume may remain in the deleting state for several minutes.
  6270. //
  6271. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  6272. // in the Amazon Elastic Compute Cloud User Guide.
  6273. //
  6274. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6275. // with awserr.Error's Code and Message methods to get detailed information about
  6276. // the error.
  6277. //
  6278. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6279. // API operation DeleteVolume for usage and error information.
  6280. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  6281. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  6282. req, out := c.DeleteVolumeRequest(input)
  6283. return out, req.Send()
  6284. }
  6285. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  6286. // the ability to pass a context and additional request options.
  6287. //
  6288. // See DeleteVolume for details on how to use this API operation.
  6289. //
  6290. // The context must be non-nil and will be used for request cancellation. If
  6291. // the context is nil a panic will occur. In the future the SDK may create
  6292. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6293. // for more information on using Contexts.
  6294. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  6295. req, out := c.DeleteVolumeRequest(input)
  6296. req.SetContext(ctx)
  6297. req.ApplyOptions(opts...)
  6298. return out, req.Send()
  6299. }
  6300. const opDeleteVpc = "DeleteVpc"
  6301. // DeleteVpcRequest generates a "aws/request.Request" representing the
  6302. // client's request for the DeleteVpc operation. The "output" return
  6303. // value can be used to capture response data after the request's "Send" method
  6304. // is called.
  6305. //
  6306. // See DeleteVpc for usage and error information.
  6307. //
  6308. // Creating a request object using this method should be used when you want to inject
  6309. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6310. // access properties on the request object before or after sending the request. If
  6311. // you just want the service response, call the DeleteVpc method directly
  6312. // instead.
  6313. //
  6314. // Note: You must call the "Send" method on the returned request object in order
  6315. // to execute the request.
  6316. //
  6317. // // Example sending a request using the DeleteVpcRequest method.
  6318. // req, resp := client.DeleteVpcRequest(params)
  6319. //
  6320. // err := req.Send()
  6321. // if err == nil { // resp is now filled
  6322. // fmt.Println(resp)
  6323. // }
  6324. //
  6325. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6326. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  6327. op := &request.Operation{
  6328. Name: opDeleteVpc,
  6329. HTTPMethod: "POST",
  6330. HTTPPath: "/",
  6331. }
  6332. if input == nil {
  6333. input = &DeleteVpcInput{}
  6334. }
  6335. output = &DeleteVpcOutput{}
  6336. req = c.newRequest(op, input, output)
  6337. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6338. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6339. return
  6340. }
  6341. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  6342. //
  6343. // Deletes the specified VPC. You must detach or delete all gateways and resources
  6344. // that are associated with the VPC before you can delete it. For example, you
  6345. // must terminate all instances running in the VPC, delete all security groups
  6346. // associated with the VPC (except the default one), delete all route tables
  6347. // associated with the VPC (except the default one), and so on.
  6348. //
  6349. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6350. // with awserr.Error's Code and Message methods to get detailed information about
  6351. // the error.
  6352. //
  6353. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6354. // API operation DeleteVpc for usage and error information.
  6355. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6356. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  6357. req, out := c.DeleteVpcRequest(input)
  6358. return out, req.Send()
  6359. }
  6360. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  6361. // the ability to pass a context and additional request options.
  6362. //
  6363. // See DeleteVpc for details on how to use this API operation.
  6364. //
  6365. // The context must be non-nil and will be used for request cancellation. If
  6366. // the context is nil a panic will occur. In the future the SDK may create
  6367. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6368. // for more information on using Contexts.
  6369. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  6370. req, out := c.DeleteVpcRequest(input)
  6371. req.SetContext(ctx)
  6372. req.ApplyOptions(opts...)
  6373. return out, req.Send()
  6374. }
  6375. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  6376. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  6377. // client's request for the DeleteVpcEndpoints operation. The "output" return
  6378. // value can be used to capture response data after the request's "Send" method
  6379. // is called.
  6380. //
  6381. // See DeleteVpcEndpoints for usage and error information.
  6382. //
  6383. // Creating a request object using this method should be used when you want to inject
  6384. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6385. // access properties on the request object before or after sending the request. If
  6386. // you just want the service response, call the DeleteVpcEndpoints method directly
  6387. // instead.
  6388. //
  6389. // Note: You must call the "Send" method on the returned request object in order
  6390. // to execute the request.
  6391. //
  6392. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  6393. // req, resp := client.DeleteVpcEndpointsRequest(params)
  6394. //
  6395. // err := req.Send()
  6396. // if err == nil { // resp is now filled
  6397. // fmt.Println(resp)
  6398. // }
  6399. //
  6400. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  6401. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  6402. op := &request.Operation{
  6403. Name: opDeleteVpcEndpoints,
  6404. HTTPMethod: "POST",
  6405. HTTPPath: "/",
  6406. }
  6407. if input == nil {
  6408. input = &DeleteVpcEndpointsInput{}
  6409. }
  6410. output = &DeleteVpcEndpointsOutput{}
  6411. req = c.newRequest(op, input, output)
  6412. return
  6413. }
  6414. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  6415. //
  6416. // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
  6417. // the endpoint routes in the route tables that were associated with the endpoint.
  6418. //
  6419. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6420. // with awserr.Error's Code and Message methods to get detailed information about
  6421. // the error.
  6422. //
  6423. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6424. // API operation DeleteVpcEndpoints for usage and error information.
  6425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  6426. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  6427. req, out := c.DeleteVpcEndpointsRequest(input)
  6428. return out, req.Send()
  6429. }
  6430. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  6431. // the ability to pass a context and additional request options.
  6432. //
  6433. // See DeleteVpcEndpoints for details on how to use this API operation.
  6434. //
  6435. // The context must be non-nil and will be used for request cancellation. If
  6436. // the context is nil a panic will occur. In the future the SDK may create
  6437. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6438. // for more information on using Contexts.
  6439. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  6440. req, out := c.DeleteVpcEndpointsRequest(input)
  6441. req.SetContext(ctx)
  6442. req.ApplyOptions(opts...)
  6443. return out, req.Send()
  6444. }
  6445. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  6446. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  6447. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  6448. // value can be used to capture response data after the request's "Send" method
  6449. // is called.
  6450. //
  6451. // See DeleteVpcPeeringConnection for usage and error information.
  6452. //
  6453. // Creating a request object using this method should be used when you want to inject
  6454. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6455. // access properties on the request object before or after sending the request. If
  6456. // you just want the service response, call the DeleteVpcPeeringConnection method directly
  6457. // instead.
  6458. //
  6459. // Note: You must call the "Send" method on the returned request object in order
  6460. // to execute the request.
  6461. //
  6462. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  6463. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  6464. //
  6465. // err := req.Send()
  6466. // if err == nil { // resp is now filled
  6467. // fmt.Println(resp)
  6468. // }
  6469. //
  6470. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  6471. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  6472. op := &request.Operation{
  6473. Name: opDeleteVpcPeeringConnection,
  6474. HTTPMethod: "POST",
  6475. HTTPPath: "/",
  6476. }
  6477. if input == nil {
  6478. input = &DeleteVpcPeeringConnectionInput{}
  6479. }
  6480. output = &DeleteVpcPeeringConnectionOutput{}
  6481. req = c.newRequest(op, input, output)
  6482. return
  6483. }
  6484. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  6485. //
  6486. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  6487. // the owner of the peer VPC can delete the VPC peering connection if it's in
  6488. // the active state. The owner of the requester VPC can delete a VPC peering
  6489. // connection in the pending-acceptance state.
  6490. //
  6491. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6492. // with awserr.Error's Code and Message methods to get detailed information about
  6493. // the error.
  6494. //
  6495. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6496. // API operation DeleteVpcPeeringConnection for usage and error information.
  6497. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  6498. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  6499. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  6500. return out, req.Send()
  6501. }
  6502. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  6503. // the ability to pass a context and additional request options.
  6504. //
  6505. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  6506. //
  6507. // The context must be non-nil and will be used for request cancellation. If
  6508. // the context is nil a panic will occur. In the future the SDK may create
  6509. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6510. // for more information on using Contexts.
  6511. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  6512. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  6513. req.SetContext(ctx)
  6514. req.ApplyOptions(opts...)
  6515. return out, req.Send()
  6516. }
  6517. const opDeleteVpnConnection = "DeleteVpnConnection"
  6518. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  6519. // client's request for the DeleteVpnConnection operation. The "output" return
  6520. // value can be used to capture response data after the request's "Send" method
  6521. // is called.
  6522. //
  6523. // See DeleteVpnConnection for usage and error information.
  6524. //
  6525. // Creating a request object using this method should be used when you want to inject
  6526. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6527. // access properties on the request object before or after sending the request. If
  6528. // you just want the service response, call the DeleteVpnConnection method directly
  6529. // instead.
  6530. //
  6531. // Note: You must call the "Send" method on the returned request object in order
  6532. // to execute the request.
  6533. //
  6534. // // Example sending a request using the DeleteVpnConnectionRequest method.
  6535. // req, resp := client.DeleteVpnConnectionRequest(params)
  6536. //
  6537. // err := req.Send()
  6538. // if err == nil { // resp is now filled
  6539. // fmt.Println(resp)
  6540. // }
  6541. //
  6542. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  6543. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  6544. op := &request.Operation{
  6545. Name: opDeleteVpnConnection,
  6546. HTTPMethod: "POST",
  6547. HTTPPath: "/",
  6548. }
  6549. if input == nil {
  6550. input = &DeleteVpnConnectionInput{}
  6551. }
  6552. output = &DeleteVpnConnectionOutput{}
  6553. req = c.newRequest(op, input, output)
  6554. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6555. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6556. return
  6557. }
  6558. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  6559. //
  6560. // Deletes the specified VPN connection.
  6561. //
  6562. // If you're deleting the VPC and its associated components, we recommend that
  6563. // you detach the virtual private gateway from the VPC and delete the VPC before
  6564. // deleting the VPN connection. If you believe that the tunnel credentials for
  6565. // your VPN connection have been compromised, you can delete the VPN connection
  6566. // and create a new one that has new keys, without needing to delete the VPC
  6567. // or virtual private gateway. If you create a new VPN connection, you must
  6568. // reconfigure the customer gateway using the new configuration information
  6569. // returned with the new VPN connection ID.
  6570. //
  6571. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6572. // with awserr.Error's Code and Message methods to get detailed information about
  6573. // the error.
  6574. //
  6575. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6576. // API operation DeleteVpnConnection for usage and error information.
  6577. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  6578. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  6579. req, out := c.DeleteVpnConnectionRequest(input)
  6580. return out, req.Send()
  6581. }
  6582. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  6583. // the ability to pass a context and additional request options.
  6584. //
  6585. // See DeleteVpnConnection for details on how to use this API operation.
  6586. //
  6587. // The context must be non-nil and will be used for request cancellation. If
  6588. // the context is nil a panic will occur. In the future the SDK may create
  6589. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6590. // for more information on using Contexts.
  6591. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  6592. req, out := c.DeleteVpnConnectionRequest(input)
  6593. req.SetContext(ctx)
  6594. req.ApplyOptions(opts...)
  6595. return out, req.Send()
  6596. }
  6597. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  6598. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  6599. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  6600. // value can be used to capture response data after the request's "Send" method
  6601. // is called.
  6602. //
  6603. // See DeleteVpnConnectionRoute for usage and error information.
  6604. //
  6605. // Creating a request object using this method should be used when you want to inject
  6606. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6607. // access properties on the request object before or after sending the request. If
  6608. // you just want the service response, call the DeleteVpnConnectionRoute method directly
  6609. // instead.
  6610. //
  6611. // Note: You must call the "Send" method on the returned request object in order
  6612. // to execute the request.
  6613. //
  6614. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  6615. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  6616. //
  6617. // err := req.Send()
  6618. // if err == nil { // resp is now filled
  6619. // fmt.Println(resp)
  6620. // }
  6621. //
  6622. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  6623. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  6624. op := &request.Operation{
  6625. Name: opDeleteVpnConnectionRoute,
  6626. HTTPMethod: "POST",
  6627. HTTPPath: "/",
  6628. }
  6629. if input == nil {
  6630. input = &DeleteVpnConnectionRouteInput{}
  6631. }
  6632. output = &DeleteVpnConnectionRouteOutput{}
  6633. req = c.newRequest(op, input, output)
  6634. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6635. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6636. return
  6637. }
  6638. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  6639. //
  6640. // Deletes the specified static route associated with a VPN connection between
  6641. // an existing virtual private gateway and a VPN customer gateway. The static
  6642. // route allows traffic to be routed from the virtual private gateway to the
  6643. // VPN customer gateway.
  6644. //
  6645. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6646. // with awserr.Error's Code and Message methods to get detailed information about
  6647. // the error.
  6648. //
  6649. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6650. // API operation DeleteVpnConnectionRoute for usage and error information.
  6651. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  6652. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  6653. req, out := c.DeleteVpnConnectionRouteRequest(input)
  6654. return out, req.Send()
  6655. }
  6656. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  6657. // the ability to pass a context and additional request options.
  6658. //
  6659. // See DeleteVpnConnectionRoute for details on how to use this API operation.
  6660. //
  6661. // The context must be non-nil and will be used for request cancellation. If
  6662. // the context is nil a panic will occur. In the future the SDK may create
  6663. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6664. // for more information on using Contexts.
  6665. func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  6666. req, out := c.DeleteVpnConnectionRouteRequest(input)
  6667. req.SetContext(ctx)
  6668. req.ApplyOptions(opts...)
  6669. return out, req.Send()
  6670. }
  6671. const opDeleteVpnGateway = "DeleteVpnGateway"
  6672. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  6673. // client's request for the DeleteVpnGateway operation. The "output" return
  6674. // value can be used to capture response data after the request's "Send" method
  6675. // is called.
  6676. //
  6677. // See DeleteVpnGateway for usage and error information.
  6678. //
  6679. // Creating a request object using this method should be used when you want to inject
  6680. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6681. // access properties on the request object before or after sending the request. If
  6682. // you just want the service response, call the DeleteVpnGateway method directly
  6683. // instead.
  6684. //
  6685. // Note: You must call the "Send" method on the returned request object in order
  6686. // to execute the request.
  6687. //
  6688. // // Example sending a request using the DeleteVpnGatewayRequest method.
  6689. // req, resp := client.DeleteVpnGatewayRequest(params)
  6690. //
  6691. // err := req.Send()
  6692. // if err == nil { // resp is now filled
  6693. // fmt.Println(resp)
  6694. // }
  6695. //
  6696. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  6697. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  6698. op := &request.Operation{
  6699. Name: opDeleteVpnGateway,
  6700. HTTPMethod: "POST",
  6701. HTTPPath: "/",
  6702. }
  6703. if input == nil {
  6704. input = &DeleteVpnGatewayInput{}
  6705. }
  6706. output = &DeleteVpnGatewayOutput{}
  6707. req = c.newRequest(op, input, output)
  6708. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6709. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6710. return
  6711. }
  6712. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  6713. //
  6714. // Deletes the specified virtual private gateway. We recommend that before you
  6715. // delete a virtual private gateway, you detach it from the VPC and delete the
  6716. // VPN connection. Note that you don't need to delete the virtual private gateway
  6717. // if you plan to delete and recreate the VPN connection between your VPC and
  6718. // your network.
  6719. //
  6720. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6721. // with awserr.Error's Code and Message methods to get detailed information about
  6722. // the error.
  6723. //
  6724. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6725. // API operation DeleteVpnGateway for usage and error information.
  6726. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  6727. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  6728. req, out := c.DeleteVpnGatewayRequest(input)
  6729. return out, req.Send()
  6730. }
  6731. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  6732. // the ability to pass a context and additional request options.
  6733. //
  6734. // See DeleteVpnGateway for details on how to use this API operation.
  6735. //
  6736. // The context must be non-nil and will be used for request cancellation. If
  6737. // the context is nil a panic will occur. In the future the SDK may create
  6738. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6739. // for more information on using Contexts.
  6740. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  6741. req, out := c.DeleteVpnGatewayRequest(input)
  6742. req.SetContext(ctx)
  6743. req.ApplyOptions(opts...)
  6744. return out, req.Send()
  6745. }
  6746. const opDeregisterImage = "DeregisterImage"
  6747. // DeregisterImageRequest generates a "aws/request.Request" representing the
  6748. // client's request for the DeregisterImage operation. The "output" return
  6749. // value can be used to capture response data after the request's "Send" method
  6750. // is called.
  6751. //
  6752. // See DeregisterImage for usage and error information.
  6753. //
  6754. // Creating a request object using this method should be used when you want to inject
  6755. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6756. // access properties on the request object before or after sending the request. If
  6757. // you just want the service response, call the DeregisterImage method directly
  6758. // instead.
  6759. //
  6760. // Note: You must call the "Send" method on the returned request object in order
  6761. // to execute the request.
  6762. //
  6763. // // Example sending a request using the DeregisterImageRequest method.
  6764. // req, resp := client.DeregisterImageRequest(params)
  6765. //
  6766. // err := req.Send()
  6767. // if err == nil { // resp is now filled
  6768. // fmt.Println(resp)
  6769. // }
  6770. //
  6771. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  6772. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  6773. op := &request.Operation{
  6774. Name: opDeregisterImage,
  6775. HTTPMethod: "POST",
  6776. HTTPPath: "/",
  6777. }
  6778. if input == nil {
  6779. input = &DeregisterImageInput{}
  6780. }
  6781. output = &DeregisterImageOutput{}
  6782. req = c.newRequest(op, input, output)
  6783. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6784. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6785. return
  6786. }
  6787. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  6788. //
  6789. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  6790. // to launch new instances.
  6791. //
  6792. // This command does not delete the AMI.
  6793. //
  6794. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6795. // with awserr.Error's Code and Message methods to get detailed information about
  6796. // the error.
  6797. //
  6798. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6799. // API operation DeregisterImage for usage and error information.
  6800. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  6801. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  6802. req, out := c.DeregisterImageRequest(input)
  6803. return out, req.Send()
  6804. }
  6805. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  6806. // the ability to pass a context and additional request options.
  6807. //
  6808. // See DeregisterImage for details on how to use this API operation.
  6809. //
  6810. // The context must be non-nil and will be used for request cancellation. If
  6811. // the context is nil a panic will occur. In the future the SDK may create
  6812. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6813. // for more information on using Contexts.
  6814. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  6815. req, out := c.DeregisterImageRequest(input)
  6816. req.SetContext(ctx)
  6817. req.ApplyOptions(opts...)
  6818. return out, req.Send()
  6819. }
  6820. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  6821. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  6822. // client's request for the DescribeAccountAttributes operation. The "output" return
  6823. // value can be used to capture response data after the request's "Send" method
  6824. // is called.
  6825. //
  6826. // See DescribeAccountAttributes for usage and error information.
  6827. //
  6828. // Creating a request object using this method should be used when you want to inject
  6829. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6830. // access properties on the request object before or after sending the request. If
  6831. // you just want the service response, call the DescribeAccountAttributes method directly
  6832. // instead.
  6833. //
  6834. // Note: You must call the "Send" method on the returned request object in order
  6835. // to execute the request.
  6836. //
  6837. // // Example sending a request using the DescribeAccountAttributesRequest method.
  6838. // req, resp := client.DescribeAccountAttributesRequest(params)
  6839. //
  6840. // err := req.Send()
  6841. // if err == nil { // resp is now filled
  6842. // fmt.Println(resp)
  6843. // }
  6844. //
  6845. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  6846. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  6847. op := &request.Operation{
  6848. Name: opDescribeAccountAttributes,
  6849. HTTPMethod: "POST",
  6850. HTTPPath: "/",
  6851. }
  6852. if input == nil {
  6853. input = &DescribeAccountAttributesInput{}
  6854. }
  6855. output = &DescribeAccountAttributesOutput{}
  6856. req = c.newRequest(op, input, output)
  6857. return
  6858. }
  6859. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  6860. //
  6861. // Describes attributes of your AWS account. The following are the supported
  6862. // account attributes:
  6863. //
  6864. // * supported-platforms: Indicates whether your account can launch instances
  6865. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  6866. //
  6867. // * default-vpc: The ID of the default VPC for your account, or none.
  6868. //
  6869. // * max-instances: The maximum number of On-Demand instances that you can
  6870. // run.
  6871. //
  6872. // * vpc-max-security-groups-per-interface: The maximum number of security
  6873. // groups that you can assign to a network interface.
  6874. //
  6875. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  6876. // can allocate for use with EC2-Classic.
  6877. //
  6878. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  6879. // you can allocate for use with EC2-VPC.
  6880. //
  6881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6882. // with awserr.Error's Code and Message methods to get detailed information about
  6883. // the error.
  6884. //
  6885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6886. // API operation DescribeAccountAttributes for usage and error information.
  6887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  6888. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  6889. req, out := c.DescribeAccountAttributesRequest(input)
  6890. return out, req.Send()
  6891. }
  6892. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  6893. // the ability to pass a context and additional request options.
  6894. //
  6895. // See DescribeAccountAttributes for details on how to use this API operation.
  6896. //
  6897. // The context must be non-nil and will be used for request cancellation. If
  6898. // the context is nil a panic will occur. In the future the SDK may create
  6899. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6900. // for more information on using Contexts.
  6901. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  6902. req, out := c.DescribeAccountAttributesRequest(input)
  6903. req.SetContext(ctx)
  6904. req.ApplyOptions(opts...)
  6905. return out, req.Send()
  6906. }
  6907. const opDescribeAddresses = "DescribeAddresses"
  6908. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  6909. // client's request for the DescribeAddresses operation. The "output" return
  6910. // value can be used to capture response data after the request's "Send" method
  6911. // is called.
  6912. //
  6913. // See DescribeAddresses for usage and error information.
  6914. //
  6915. // Creating a request object using this method should be used when you want to inject
  6916. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6917. // access properties on the request object before or after sending the request. If
  6918. // you just want the service response, call the DescribeAddresses method directly
  6919. // instead.
  6920. //
  6921. // Note: You must call the "Send" method on the returned request object in order
  6922. // to execute the request.
  6923. //
  6924. // // Example sending a request using the DescribeAddressesRequest method.
  6925. // req, resp := client.DescribeAddressesRequest(params)
  6926. //
  6927. // err := req.Send()
  6928. // if err == nil { // resp is now filled
  6929. // fmt.Println(resp)
  6930. // }
  6931. //
  6932. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  6933. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  6934. op := &request.Operation{
  6935. Name: opDescribeAddresses,
  6936. HTTPMethod: "POST",
  6937. HTTPPath: "/",
  6938. }
  6939. if input == nil {
  6940. input = &DescribeAddressesInput{}
  6941. }
  6942. output = &DescribeAddressesOutput{}
  6943. req = c.newRequest(op, input, output)
  6944. return
  6945. }
  6946. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  6947. //
  6948. // Describes one or more of your Elastic IP addresses.
  6949. //
  6950. // An Elastic IP address is for use in either the EC2-Classic platform or in
  6951. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  6952. // in the Amazon Elastic Compute Cloud User Guide.
  6953. //
  6954. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6955. // with awserr.Error's Code and Message methods to get detailed information about
  6956. // the error.
  6957. //
  6958. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6959. // API operation DescribeAddresses for usage and error information.
  6960. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  6961. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  6962. req, out := c.DescribeAddressesRequest(input)
  6963. return out, req.Send()
  6964. }
  6965. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  6966. // the ability to pass a context and additional request options.
  6967. //
  6968. // See DescribeAddresses for details on how to use this API operation.
  6969. //
  6970. // The context must be non-nil and will be used for request cancellation. If
  6971. // the context is nil a panic will occur. In the future the SDK may create
  6972. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6973. // for more information on using Contexts.
  6974. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  6975. req, out := c.DescribeAddressesRequest(input)
  6976. req.SetContext(ctx)
  6977. req.ApplyOptions(opts...)
  6978. return out, req.Send()
  6979. }
  6980. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  6981. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  6982. // client's request for the DescribeAvailabilityZones operation. The "output" return
  6983. // value can be used to capture response data after the request's "Send" method
  6984. // is called.
  6985. //
  6986. // See DescribeAvailabilityZones for usage and error information.
  6987. //
  6988. // Creating a request object using this method should be used when you want to inject
  6989. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6990. // access properties on the request object before or after sending the request. If
  6991. // you just want the service response, call the DescribeAvailabilityZones method directly
  6992. // instead.
  6993. //
  6994. // Note: You must call the "Send" method on the returned request object in order
  6995. // to execute the request.
  6996. //
  6997. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  6998. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  6999. //
  7000. // err := req.Send()
  7001. // if err == nil { // resp is now filled
  7002. // fmt.Println(resp)
  7003. // }
  7004. //
  7005. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  7006. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  7007. op := &request.Operation{
  7008. Name: opDescribeAvailabilityZones,
  7009. HTTPMethod: "POST",
  7010. HTTPPath: "/",
  7011. }
  7012. if input == nil {
  7013. input = &DescribeAvailabilityZonesInput{}
  7014. }
  7015. output = &DescribeAvailabilityZonesOutput{}
  7016. req = c.newRequest(op, input, output)
  7017. return
  7018. }
  7019. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  7020. //
  7021. // Describes one or more of the Availability Zones that are available to you.
  7022. // The results include zones only for the region you're currently using. If
  7023. // there is an event impacting an Availability Zone, you can use this request
  7024. // to view the state and any provided message for that Availability Zone.
  7025. //
  7026. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  7027. // in the Amazon Elastic Compute Cloud User Guide.
  7028. //
  7029. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7030. // with awserr.Error's Code and Message methods to get detailed information about
  7031. // the error.
  7032. //
  7033. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7034. // API operation DescribeAvailabilityZones for usage and error information.
  7035. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  7036. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  7037. req, out := c.DescribeAvailabilityZonesRequest(input)
  7038. return out, req.Send()
  7039. }
  7040. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  7041. // the ability to pass a context and additional request options.
  7042. //
  7043. // See DescribeAvailabilityZones for details on how to use this API operation.
  7044. //
  7045. // The context must be non-nil and will be used for request cancellation. If
  7046. // the context is nil a panic will occur. In the future the SDK may create
  7047. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7048. // for more information on using Contexts.
  7049. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  7050. req, out := c.DescribeAvailabilityZonesRequest(input)
  7051. req.SetContext(ctx)
  7052. req.ApplyOptions(opts...)
  7053. return out, req.Send()
  7054. }
  7055. const opDescribeBundleTasks = "DescribeBundleTasks"
  7056. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  7057. // client's request for the DescribeBundleTasks operation. The "output" return
  7058. // value can be used to capture response data after the request's "Send" method
  7059. // is called.
  7060. //
  7061. // See DescribeBundleTasks for usage and error information.
  7062. //
  7063. // Creating a request object using this method should be used when you want to inject
  7064. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7065. // access properties on the request object before or after sending the request. If
  7066. // you just want the service response, call the DescribeBundleTasks method directly
  7067. // instead.
  7068. //
  7069. // Note: You must call the "Send" method on the returned request object in order
  7070. // to execute the request.
  7071. //
  7072. // // Example sending a request using the DescribeBundleTasksRequest method.
  7073. // req, resp := client.DescribeBundleTasksRequest(params)
  7074. //
  7075. // err := req.Send()
  7076. // if err == nil { // resp is now filled
  7077. // fmt.Println(resp)
  7078. // }
  7079. //
  7080. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  7081. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  7082. op := &request.Operation{
  7083. Name: opDescribeBundleTasks,
  7084. HTTPMethod: "POST",
  7085. HTTPPath: "/",
  7086. }
  7087. if input == nil {
  7088. input = &DescribeBundleTasksInput{}
  7089. }
  7090. output = &DescribeBundleTasksOutput{}
  7091. req = c.newRequest(op, input, output)
  7092. return
  7093. }
  7094. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  7095. //
  7096. // Describes one or more of your bundling tasks.
  7097. //
  7098. // Completed bundle tasks are listed for only a limited time. If your bundle
  7099. // task is no longer in the list, you can still register an AMI from it. Just
  7100. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  7101. // you provided to the bundle task.
  7102. //
  7103. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7104. // with awserr.Error's Code and Message methods to get detailed information about
  7105. // the error.
  7106. //
  7107. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7108. // API operation DescribeBundleTasks for usage and error information.
  7109. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  7110. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  7111. req, out := c.DescribeBundleTasksRequest(input)
  7112. return out, req.Send()
  7113. }
  7114. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  7115. // the ability to pass a context and additional request options.
  7116. //
  7117. // See DescribeBundleTasks for details on how to use this API operation.
  7118. //
  7119. // The context must be non-nil and will be used for request cancellation. If
  7120. // the context is nil a panic will occur. In the future the SDK may create
  7121. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7122. // for more information on using Contexts.
  7123. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  7124. req, out := c.DescribeBundleTasksRequest(input)
  7125. req.SetContext(ctx)
  7126. req.ApplyOptions(opts...)
  7127. return out, req.Send()
  7128. }
  7129. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  7130. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  7131. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  7132. // value can be used to capture response data after the request's "Send" method
  7133. // is called.
  7134. //
  7135. // See DescribeClassicLinkInstances for usage and error information.
  7136. //
  7137. // Creating a request object using this method should be used when you want to inject
  7138. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7139. // access properties on the request object before or after sending the request. If
  7140. // you just want the service response, call the DescribeClassicLinkInstances method directly
  7141. // instead.
  7142. //
  7143. // Note: You must call the "Send" method on the returned request object in order
  7144. // to execute the request.
  7145. //
  7146. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  7147. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  7148. //
  7149. // err := req.Send()
  7150. // if err == nil { // resp is now filled
  7151. // fmt.Println(resp)
  7152. // }
  7153. //
  7154. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  7155. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  7156. op := &request.Operation{
  7157. Name: opDescribeClassicLinkInstances,
  7158. HTTPMethod: "POST",
  7159. HTTPPath: "/",
  7160. }
  7161. if input == nil {
  7162. input = &DescribeClassicLinkInstancesInput{}
  7163. }
  7164. output = &DescribeClassicLinkInstancesOutput{}
  7165. req = c.newRequest(op, input, output)
  7166. return
  7167. }
  7168. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  7169. //
  7170. // Describes one or more of your linked EC2-Classic instances. This request
  7171. // only returns information about EC2-Classic instances linked to a VPC through
  7172. // ClassicLink; you cannot use this request to return information about other
  7173. // instances.
  7174. //
  7175. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7176. // with awserr.Error's Code and Message methods to get detailed information about
  7177. // the error.
  7178. //
  7179. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7180. // API operation DescribeClassicLinkInstances for usage and error information.
  7181. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  7182. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  7183. req, out := c.DescribeClassicLinkInstancesRequest(input)
  7184. return out, req.Send()
  7185. }
  7186. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  7187. // the ability to pass a context and additional request options.
  7188. //
  7189. // See DescribeClassicLinkInstances for details on how to use this API operation.
  7190. //
  7191. // The context must be non-nil and will be used for request cancellation. If
  7192. // the context is nil a panic will occur. In the future the SDK may create
  7193. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7194. // for more information on using Contexts.
  7195. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  7196. req, out := c.DescribeClassicLinkInstancesRequest(input)
  7197. req.SetContext(ctx)
  7198. req.ApplyOptions(opts...)
  7199. return out, req.Send()
  7200. }
  7201. const opDescribeConversionTasks = "DescribeConversionTasks"
  7202. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  7203. // client's request for the DescribeConversionTasks operation. The "output" return
  7204. // value can be used to capture response data after the request's "Send" method
  7205. // is called.
  7206. //
  7207. // See DescribeConversionTasks for usage and error information.
  7208. //
  7209. // Creating a request object using this method should be used when you want to inject
  7210. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7211. // access properties on the request object before or after sending the request. If
  7212. // you just want the service response, call the DescribeConversionTasks method directly
  7213. // instead.
  7214. //
  7215. // Note: You must call the "Send" method on the returned request object in order
  7216. // to execute the request.
  7217. //
  7218. // // Example sending a request using the DescribeConversionTasksRequest method.
  7219. // req, resp := client.DescribeConversionTasksRequest(params)
  7220. //
  7221. // err := req.Send()
  7222. // if err == nil { // resp is now filled
  7223. // fmt.Println(resp)
  7224. // }
  7225. //
  7226. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  7227. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  7228. op := &request.Operation{
  7229. Name: opDescribeConversionTasks,
  7230. HTTPMethod: "POST",
  7231. HTTPPath: "/",
  7232. }
  7233. if input == nil {
  7234. input = &DescribeConversionTasksInput{}
  7235. }
  7236. output = &DescribeConversionTasksOutput{}
  7237. req = c.newRequest(op, input, output)
  7238. return
  7239. }
  7240. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  7241. //
  7242. // Describes one or more of your conversion tasks. For more information, see
  7243. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  7244. //
  7245. // For information about the import manifest referenced by this API action,
  7246. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  7247. //
  7248. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7249. // with awserr.Error's Code and Message methods to get detailed information about
  7250. // the error.
  7251. //
  7252. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7253. // API operation DescribeConversionTasks for usage and error information.
  7254. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  7255. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  7256. req, out := c.DescribeConversionTasksRequest(input)
  7257. return out, req.Send()
  7258. }
  7259. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  7260. // the ability to pass a context and additional request options.
  7261. //
  7262. // See DescribeConversionTasks for details on how to use this API operation.
  7263. //
  7264. // The context must be non-nil and will be used for request cancellation. If
  7265. // the context is nil a panic will occur. In the future the SDK may create
  7266. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7267. // for more information on using Contexts.
  7268. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  7269. req, out := c.DescribeConversionTasksRequest(input)
  7270. req.SetContext(ctx)
  7271. req.ApplyOptions(opts...)
  7272. return out, req.Send()
  7273. }
  7274. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  7275. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  7276. // client's request for the DescribeCustomerGateways operation. The "output" return
  7277. // value can be used to capture response data after the request's "Send" method
  7278. // is called.
  7279. //
  7280. // See DescribeCustomerGateways for usage and error information.
  7281. //
  7282. // Creating a request object using this method should be used when you want to inject
  7283. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7284. // access properties on the request object before or after sending the request. If
  7285. // you just want the service response, call the DescribeCustomerGateways method directly
  7286. // instead.
  7287. //
  7288. // Note: You must call the "Send" method on the returned request object in order
  7289. // to execute the request.
  7290. //
  7291. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  7292. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  7293. //
  7294. // err := req.Send()
  7295. // if err == nil { // resp is now filled
  7296. // fmt.Println(resp)
  7297. // }
  7298. //
  7299. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  7300. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  7301. op := &request.Operation{
  7302. Name: opDescribeCustomerGateways,
  7303. HTTPMethod: "POST",
  7304. HTTPPath: "/",
  7305. }
  7306. if input == nil {
  7307. input = &DescribeCustomerGatewaysInput{}
  7308. }
  7309. output = &DescribeCustomerGatewaysOutput{}
  7310. req = c.newRequest(op, input, output)
  7311. return
  7312. }
  7313. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  7314. //
  7315. // Describes one or more of your VPN customer gateways.
  7316. //
  7317. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  7318. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  7319. // in the Amazon Virtual Private Cloud User Guide.
  7320. //
  7321. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7322. // with awserr.Error's Code and Message methods to get detailed information about
  7323. // the error.
  7324. //
  7325. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7326. // API operation DescribeCustomerGateways for usage and error information.
  7327. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  7328. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  7329. req, out := c.DescribeCustomerGatewaysRequest(input)
  7330. return out, req.Send()
  7331. }
  7332. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  7333. // the ability to pass a context and additional request options.
  7334. //
  7335. // See DescribeCustomerGateways for details on how to use this API operation.
  7336. //
  7337. // The context must be non-nil and will be used for request cancellation. If
  7338. // the context is nil a panic will occur. In the future the SDK may create
  7339. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7340. // for more information on using Contexts.
  7341. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  7342. req, out := c.DescribeCustomerGatewaysRequest(input)
  7343. req.SetContext(ctx)
  7344. req.ApplyOptions(opts...)
  7345. return out, req.Send()
  7346. }
  7347. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  7348. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  7349. // client's request for the DescribeDhcpOptions operation. The "output" return
  7350. // value can be used to capture response data after the request's "Send" method
  7351. // is called.
  7352. //
  7353. // See DescribeDhcpOptions for usage and error information.
  7354. //
  7355. // Creating a request object using this method should be used when you want to inject
  7356. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7357. // access properties on the request object before or after sending the request. If
  7358. // you just want the service response, call the DescribeDhcpOptions method directly
  7359. // instead.
  7360. //
  7361. // Note: You must call the "Send" method on the returned request object in order
  7362. // to execute the request.
  7363. //
  7364. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  7365. // req, resp := client.DescribeDhcpOptionsRequest(params)
  7366. //
  7367. // err := req.Send()
  7368. // if err == nil { // resp is now filled
  7369. // fmt.Println(resp)
  7370. // }
  7371. //
  7372. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  7373. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  7374. op := &request.Operation{
  7375. Name: opDescribeDhcpOptions,
  7376. HTTPMethod: "POST",
  7377. HTTPPath: "/",
  7378. }
  7379. if input == nil {
  7380. input = &DescribeDhcpOptionsInput{}
  7381. }
  7382. output = &DescribeDhcpOptionsOutput{}
  7383. req = c.newRequest(op, input, output)
  7384. return
  7385. }
  7386. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  7387. //
  7388. // Describes one or more of your DHCP options sets.
  7389. //
  7390. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  7391. // in the Amazon Virtual Private Cloud User Guide.
  7392. //
  7393. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7394. // with awserr.Error's Code and Message methods to get detailed information about
  7395. // the error.
  7396. //
  7397. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7398. // API operation DescribeDhcpOptions for usage and error information.
  7399. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  7400. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  7401. req, out := c.DescribeDhcpOptionsRequest(input)
  7402. return out, req.Send()
  7403. }
  7404. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  7405. // the ability to pass a context and additional request options.
  7406. //
  7407. // See DescribeDhcpOptions for details on how to use this API operation.
  7408. //
  7409. // The context must be non-nil and will be used for request cancellation. If
  7410. // the context is nil a panic will occur. In the future the SDK may create
  7411. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7412. // for more information on using Contexts.
  7413. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  7414. req, out := c.DescribeDhcpOptionsRequest(input)
  7415. req.SetContext(ctx)
  7416. req.ApplyOptions(opts...)
  7417. return out, req.Send()
  7418. }
  7419. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  7420. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  7421. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  7422. // value can be used to capture response data after the request's "Send" method
  7423. // is called.
  7424. //
  7425. // See DescribeEgressOnlyInternetGateways for usage and error information.
  7426. //
  7427. // Creating a request object using this method should be used when you want to inject
  7428. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7429. // access properties on the request object before or after sending the request. If
  7430. // you just want the service response, call the DescribeEgressOnlyInternetGateways method directly
  7431. // instead.
  7432. //
  7433. // Note: You must call the "Send" method on the returned request object in order
  7434. // to execute the request.
  7435. //
  7436. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  7437. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  7438. //
  7439. // err := req.Send()
  7440. // if err == nil { // resp is now filled
  7441. // fmt.Println(resp)
  7442. // }
  7443. //
  7444. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  7445. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  7446. op := &request.Operation{
  7447. Name: opDescribeEgressOnlyInternetGateways,
  7448. HTTPMethod: "POST",
  7449. HTTPPath: "/",
  7450. }
  7451. if input == nil {
  7452. input = &DescribeEgressOnlyInternetGatewaysInput{}
  7453. }
  7454. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  7455. req = c.newRequest(op, input, output)
  7456. return
  7457. }
  7458. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  7459. //
  7460. // Describes one or more of your egress-only Internet gateways.
  7461. //
  7462. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7463. // with awserr.Error's Code and Message methods to get detailed information about
  7464. // the error.
  7465. //
  7466. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7467. // API operation DescribeEgressOnlyInternetGateways for usage and error information.
  7468. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  7469. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  7470. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  7471. return out, req.Send()
  7472. }
  7473. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  7474. // the ability to pass a context and additional request options.
  7475. //
  7476. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  7477. //
  7478. // The context must be non-nil and will be used for request cancellation. If
  7479. // the context is nil a panic will occur. In the future the SDK may create
  7480. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7481. // for more information on using Contexts.
  7482. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  7483. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  7484. req.SetContext(ctx)
  7485. req.ApplyOptions(opts...)
  7486. return out, req.Send()
  7487. }
  7488. const opDescribeElasticGpus = "DescribeElasticGpus"
  7489. // DescribeElasticGpusRequest generates a "aws/request.Request" representing the
  7490. // client's request for the DescribeElasticGpus operation. The "output" return
  7491. // value can be used to capture response data after the request's "Send" method
  7492. // is called.
  7493. //
  7494. // See DescribeElasticGpus for usage and error information.
  7495. //
  7496. // Creating a request object using this method should be used when you want to inject
  7497. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7498. // access properties on the request object before or after sending the request. If
  7499. // you just want the service response, call the DescribeElasticGpus method directly
  7500. // instead.
  7501. //
  7502. // Note: You must call the "Send" method on the returned request object in order
  7503. // to execute the request.
  7504. //
  7505. // // Example sending a request using the DescribeElasticGpusRequest method.
  7506. // req, resp := client.DescribeElasticGpusRequest(params)
  7507. //
  7508. // err := req.Send()
  7509. // if err == nil { // resp is now filled
  7510. // fmt.Println(resp)
  7511. // }
  7512. //
  7513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  7514. func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
  7515. op := &request.Operation{
  7516. Name: opDescribeElasticGpus,
  7517. HTTPMethod: "POST",
  7518. HTTPPath: "/",
  7519. }
  7520. if input == nil {
  7521. input = &DescribeElasticGpusInput{}
  7522. }
  7523. output = &DescribeElasticGpusOutput{}
  7524. req = c.newRequest(op, input, output)
  7525. return
  7526. }
  7527. // DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
  7528. //
  7529. // Describes the Elastic GPUs associated with your instances. For more information
  7530. // about Elastic GPUs, see Amazon EC2 Elastic GPUs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-gpus.html).
  7531. //
  7532. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7533. // with awserr.Error's Code and Message methods to get detailed information about
  7534. // the error.
  7535. //
  7536. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7537. // API operation DescribeElasticGpus for usage and error information.
  7538. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
  7539. func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
  7540. req, out := c.DescribeElasticGpusRequest(input)
  7541. return out, req.Send()
  7542. }
  7543. // DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
  7544. // the ability to pass a context and additional request options.
  7545. //
  7546. // See DescribeElasticGpus for details on how to use this API operation.
  7547. //
  7548. // The context must be non-nil and will be used for request cancellation. If
  7549. // the context is nil a panic will occur. In the future the SDK may create
  7550. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7551. // for more information on using Contexts.
  7552. func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
  7553. req, out := c.DescribeElasticGpusRequest(input)
  7554. req.SetContext(ctx)
  7555. req.ApplyOptions(opts...)
  7556. return out, req.Send()
  7557. }
  7558. const opDescribeExportTasks = "DescribeExportTasks"
  7559. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  7560. // client's request for the DescribeExportTasks operation. The "output" return
  7561. // value can be used to capture response data after the request's "Send" method
  7562. // is called.
  7563. //
  7564. // See DescribeExportTasks for usage and error information.
  7565. //
  7566. // Creating a request object using this method should be used when you want to inject
  7567. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7568. // access properties on the request object before or after sending the request. If
  7569. // you just want the service response, call the DescribeExportTasks method directly
  7570. // instead.
  7571. //
  7572. // Note: You must call the "Send" method on the returned request object in order
  7573. // to execute the request.
  7574. //
  7575. // // Example sending a request using the DescribeExportTasksRequest method.
  7576. // req, resp := client.DescribeExportTasksRequest(params)
  7577. //
  7578. // err := req.Send()
  7579. // if err == nil { // resp is now filled
  7580. // fmt.Println(resp)
  7581. // }
  7582. //
  7583. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  7584. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  7585. op := &request.Operation{
  7586. Name: opDescribeExportTasks,
  7587. HTTPMethod: "POST",
  7588. HTTPPath: "/",
  7589. }
  7590. if input == nil {
  7591. input = &DescribeExportTasksInput{}
  7592. }
  7593. output = &DescribeExportTasksOutput{}
  7594. req = c.newRequest(op, input, output)
  7595. return
  7596. }
  7597. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  7598. //
  7599. // Describes one or more of your export tasks.
  7600. //
  7601. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7602. // with awserr.Error's Code and Message methods to get detailed information about
  7603. // the error.
  7604. //
  7605. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7606. // API operation DescribeExportTasks for usage and error information.
  7607. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  7608. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  7609. req, out := c.DescribeExportTasksRequest(input)
  7610. return out, req.Send()
  7611. }
  7612. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  7613. // the ability to pass a context and additional request options.
  7614. //
  7615. // See DescribeExportTasks for details on how to use this API operation.
  7616. //
  7617. // The context must be non-nil and will be used for request cancellation. If
  7618. // the context is nil a panic will occur. In the future the SDK may create
  7619. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7620. // for more information on using Contexts.
  7621. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  7622. req, out := c.DescribeExportTasksRequest(input)
  7623. req.SetContext(ctx)
  7624. req.ApplyOptions(opts...)
  7625. return out, req.Send()
  7626. }
  7627. const opDescribeFlowLogs = "DescribeFlowLogs"
  7628. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  7629. // client's request for the DescribeFlowLogs operation. The "output" return
  7630. // value can be used to capture response data after the request's "Send" method
  7631. // is called.
  7632. //
  7633. // See DescribeFlowLogs for usage and error information.
  7634. //
  7635. // Creating a request object using this method should be used when you want to inject
  7636. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7637. // access properties on the request object before or after sending the request. If
  7638. // you just want the service response, call the DescribeFlowLogs method directly
  7639. // instead.
  7640. //
  7641. // Note: You must call the "Send" method on the returned request object in order
  7642. // to execute the request.
  7643. //
  7644. // // Example sending a request using the DescribeFlowLogsRequest method.
  7645. // req, resp := client.DescribeFlowLogsRequest(params)
  7646. //
  7647. // err := req.Send()
  7648. // if err == nil { // resp is now filled
  7649. // fmt.Println(resp)
  7650. // }
  7651. //
  7652. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  7653. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  7654. op := &request.Operation{
  7655. Name: opDescribeFlowLogs,
  7656. HTTPMethod: "POST",
  7657. HTTPPath: "/",
  7658. }
  7659. if input == nil {
  7660. input = &DescribeFlowLogsInput{}
  7661. }
  7662. output = &DescribeFlowLogsOutput{}
  7663. req = c.newRequest(op, input, output)
  7664. return
  7665. }
  7666. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  7667. //
  7668. // Describes one or more flow logs. To view the information in your flow logs
  7669. // (the log streams for the network interfaces), you must use the CloudWatch
  7670. // Logs console or the CloudWatch Logs API.
  7671. //
  7672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7673. // with awserr.Error's Code and Message methods to get detailed information about
  7674. // the error.
  7675. //
  7676. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7677. // API operation DescribeFlowLogs for usage and error information.
  7678. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  7679. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  7680. req, out := c.DescribeFlowLogsRequest(input)
  7681. return out, req.Send()
  7682. }
  7683. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  7684. // the ability to pass a context and additional request options.
  7685. //
  7686. // See DescribeFlowLogs for details on how to use this API operation.
  7687. //
  7688. // The context must be non-nil and will be used for request cancellation. If
  7689. // the context is nil a panic will occur. In the future the SDK may create
  7690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7691. // for more information on using Contexts.
  7692. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  7693. req, out := c.DescribeFlowLogsRequest(input)
  7694. req.SetContext(ctx)
  7695. req.ApplyOptions(opts...)
  7696. return out, req.Send()
  7697. }
  7698. const opDescribeFpgaImages = "DescribeFpgaImages"
  7699. // DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
  7700. // client's request for the DescribeFpgaImages operation. The "output" return
  7701. // value can be used to capture response data after the request's "Send" method
  7702. // is called.
  7703. //
  7704. // See DescribeFpgaImages for usage and error information.
  7705. //
  7706. // Creating a request object using this method should be used when you want to inject
  7707. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7708. // access properties on the request object before or after sending the request. If
  7709. // you just want the service response, call the DescribeFpgaImages method directly
  7710. // instead.
  7711. //
  7712. // Note: You must call the "Send" method on the returned request object in order
  7713. // to execute the request.
  7714. //
  7715. // // Example sending a request using the DescribeFpgaImagesRequest method.
  7716. // req, resp := client.DescribeFpgaImagesRequest(params)
  7717. //
  7718. // err := req.Send()
  7719. // if err == nil { // resp is now filled
  7720. // fmt.Println(resp)
  7721. // }
  7722. //
  7723. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  7724. func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
  7725. op := &request.Operation{
  7726. Name: opDescribeFpgaImages,
  7727. HTTPMethod: "POST",
  7728. HTTPPath: "/",
  7729. }
  7730. if input == nil {
  7731. input = &DescribeFpgaImagesInput{}
  7732. }
  7733. output = &DescribeFpgaImagesOutput{}
  7734. req = c.newRequest(op, input, output)
  7735. return
  7736. }
  7737. // DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
  7738. //
  7739. // Describes one or more available Amazon FPGA Images (AFIs). These include
  7740. // public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts
  7741. // for which you have load permissions.
  7742. //
  7743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7744. // with awserr.Error's Code and Message methods to get detailed information about
  7745. // the error.
  7746. //
  7747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7748. // API operation DescribeFpgaImages for usage and error information.
  7749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
  7750. func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
  7751. req, out := c.DescribeFpgaImagesRequest(input)
  7752. return out, req.Send()
  7753. }
  7754. // DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
  7755. // the ability to pass a context and additional request options.
  7756. //
  7757. // See DescribeFpgaImages for details on how to use this API operation.
  7758. //
  7759. // The context must be non-nil and will be used for request cancellation. If
  7760. // the context is nil a panic will occur. In the future the SDK may create
  7761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7762. // for more information on using Contexts.
  7763. func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
  7764. req, out := c.DescribeFpgaImagesRequest(input)
  7765. req.SetContext(ctx)
  7766. req.ApplyOptions(opts...)
  7767. return out, req.Send()
  7768. }
  7769. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  7770. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  7771. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  7772. // value can be used to capture response data after the request's "Send" method
  7773. // is called.
  7774. //
  7775. // See DescribeHostReservationOfferings for usage and error information.
  7776. //
  7777. // Creating a request object using this method should be used when you want to inject
  7778. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7779. // access properties on the request object before or after sending the request. If
  7780. // you just want the service response, call the DescribeHostReservationOfferings method directly
  7781. // instead.
  7782. //
  7783. // Note: You must call the "Send" method on the returned request object in order
  7784. // to execute the request.
  7785. //
  7786. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  7787. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  7788. //
  7789. // err := req.Send()
  7790. // if err == nil { // resp is now filled
  7791. // fmt.Println(resp)
  7792. // }
  7793. //
  7794. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  7795. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  7796. op := &request.Operation{
  7797. Name: opDescribeHostReservationOfferings,
  7798. HTTPMethod: "POST",
  7799. HTTPPath: "/",
  7800. }
  7801. if input == nil {
  7802. input = &DescribeHostReservationOfferingsInput{}
  7803. }
  7804. output = &DescribeHostReservationOfferingsOutput{}
  7805. req = c.newRequest(op, input, output)
  7806. return
  7807. }
  7808. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  7809. //
  7810. // Describes the Dedicated Host Reservations that are available to purchase.
  7811. //
  7812. // The results describe all the Dedicated Host Reservation offerings, including
  7813. // offerings that may not match the instance family and region of your Dedicated
  7814. // Hosts. When purchasing an offering, ensure that the the instance family and
  7815. // region of the offering matches that of the Dedicated Host/s it will be associated
  7816. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  7817. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  7818. // in the Amazon Elastic Compute Cloud User Guide.
  7819. //
  7820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7821. // with awserr.Error's Code and Message methods to get detailed information about
  7822. // the error.
  7823. //
  7824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7825. // API operation DescribeHostReservationOfferings for usage and error information.
  7826. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  7827. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  7828. req, out := c.DescribeHostReservationOfferingsRequest(input)
  7829. return out, req.Send()
  7830. }
  7831. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  7832. // the ability to pass a context and additional request options.
  7833. //
  7834. // See DescribeHostReservationOfferings for details on how to use this API operation.
  7835. //
  7836. // The context must be non-nil and will be used for request cancellation. If
  7837. // the context is nil a panic will occur. In the future the SDK may create
  7838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7839. // for more information on using Contexts.
  7840. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  7841. req, out := c.DescribeHostReservationOfferingsRequest(input)
  7842. req.SetContext(ctx)
  7843. req.ApplyOptions(opts...)
  7844. return out, req.Send()
  7845. }
  7846. const opDescribeHostReservations = "DescribeHostReservations"
  7847. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  7848. // client's request for the DescribeHostReservations operation. The "output" return
  7849. // value can be used to capture response data after the request's "Send" method
  7850. // is called.
  7851. //
  7852. // See DescribeHostReservations for usage and error information.
  7853. //
  7854. // Creating a request object using this method should be used when you want to inject
  7855. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7856. // access properties on the request object before or after sending the request. If
  7857. // you just want the service response, call the DescribeHostReservations method directly
  7858. // instead.
  7859. //
  7860. // Note: You must call the "Send" method on the returned request object in order
  7861. // to execute the request.
  7862. //
  7863. // // Example sending a request using the DescribeHostReservationsRequest method.
  7864. // req, resp := client.DescribeHostReservationsRequest(params)
  7865. //
  7866. // err := req.Send()
  7867. // if err == nil { // resp is now filled
  7868. // fmt.Println(resp)
  7869. // }
  7870. //
  7871. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  7872. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  7873. op := &request.Operation{
  7874. Name: opDescribeHostReservations,
  7875. HTTPMethod: "POST",
  7876. HTTPPath: "/",
  7877. }
  7878. if input == nil {
  7879. input = &DescribeHostReservationsInput{}
  7880. }
  7881. output = &DescribeHostReservationsOutput{}
  7882. req = c.newRequest(op, input, output)
  7883. return
  7884. }
  7885. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  7886. //
  7887. // Describes Dedicated Host Reservations which are associated with Dedicated
  7888. // Hosts in your account.
  7889. //
  7890. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7891. // with awserr.Error's Code and Message methods to get detailed information about
  7892. // the error.
  7893. //
  7894. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7895. // API operation DescribeHostReservations for usage and error information.
  7896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  7897. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  7898. req, out := c.DescribeHostReservationsRequest(input)
  7899. return out, req.Send()
  7900. }
  7901. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  7902. // the ability to pass a context and additional request options.
  7903. //
  7904. // See DescribeHostReservations for details on how to use this API operation.
  7905. //
  7906. // The context must be non-nil and will be used for request cancellation. If
  7907. // the context is nil a panic will occur. In the future the SDK may create
  7908. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7909. // for more information on using Contexts.
  7910. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  7911. req, out := c.DescribeHostReservationsRequest(input)
  7912. req.SetContext(ctx)
  7913. req.ApplyOptions(opts...)
  7914. return out, req.Send()
  7915. }
  7916. const opDescribeHosts = "DescribeHosts"
  7917. // DescribeHostsRequest generates a "aws/request.Request" representing the
  7918. // client's request for the DescribeHosts operation. The "output" return
  7919. // value can be used to capture response data after the request's "Send" method
  7920. // is called.
  7921. //
  7922. // See DescribeHosts for usage and error information.
  7923. //
  7924. // Creating a request object using this method should be used when you want to inject
  7925. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7926. // access properties on the request object before or after sending the request. If
  7927. // you just want the service response, call the DescribeHosts method directly
  7928. // instead.
  7929. //
  7930. // Note: You must call the "Send" method on the returned request object in order
  7931. // to execute the request.
  7932. //
  7933. // // Example sending a request using the DescribeHostsRequest method.
  7934. // req, resp := client.DescribeHostsRequest(params)
  7935. //
  7936. // err := req.Send()
  7937. // if err == nil { // resp is now filled
  7938. // fmt.Println(resp)
  7939. // }
  7940. //
  7941. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  7942. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  7943. op := &request.Operation{
  7944. Name: opDescribeHosts,
  7945. HTTPMethod: "POST",
  7946. HTTPPath: "/",
  7947. }
  7948. if input == nil {
  7949. input = &DescribeHostsInput{}
  7950. }
  7951. output = &DescribeHostsOutput{}
  7952. req = c.newRequest(op, input, output)
  7953. return
  7954. }
  7955. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  7956. //
  7957. // Describes one or more of your Dedicated Hosts.
  7958. //
  7959. // The results describe only the Dedicated Hosts in the region you're currently
  7960. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  7961. // Hosts that have recently been released will be listed with the state released.
  7962. //
  7963. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7964. // with awserr.Error's Code and Message methods to get detailed information about
  7965. // the error.
  7966. //
  7967. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7968. // API operation DescribeHosts for usage and error information.
  7969. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  7970. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  7971. req, out := c.DescribeHostsRequest(input)
  7972. return out, req.Send()
  7973. }
  7974. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  7975. // the ability to pass a context and additional request options.
  7976. //
  7977. // See DescribeHosts for details on how to use this API operation.
  7978. //
  7979. // The context must be non-nil and will be used for request cancellation. If
  7980. // the context is nil a panic will occur. In the future the SDK may create
  7981. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7982. // for more information on using Contexts.
  7983. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  7984. req, out := c.DescribeHostsRequest(input)
  7985. req.SetContext(ctx)
  7986. req.ApplyOptions(opts...)
  7987. return out, req.Send()
  7988. }
  7989. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  7990. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  7991. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  7992. // value can be used to capture response data after the request's "Send" method
  7993. // is called.
  7994. //
  7995. // See DescribeIamInstanceProfileAssociations for usage and error information.
  7996. //
  7997. // Creating a request object using this method should be used when you want to inject
  7998. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7999. // access properties on the request object before or after sending the request. If
  8000. // you just want the service response, call the DescribeIamInstanceProfileAssociations method directly
  8001. // instead.
  8002. //
  8003. // Note: You must call the "Send" method on the returned request object in order
  8004. // to execute the request.
  8005. //
  8006. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  8007. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  8008. //
  8009. // err := req.Send()
  8010. // if err == nil { // resp is now filled
  8011. // fmt.Println(resp)
  8012. // }
  8013. //
  8014. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  8015. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  8016. op := &request.Operation{
  8017. Name: opDescribeIamInstanceProfileAssociations,
  8018. HTTPMethod: "POST",
  8019. HTTPPath: "/",
  8020. }
  8021. if input == nil {
  8022. input = &DescribeIamInstanceProfileAssociationsInput{}
  8023. }
  8024. output = &DescribeIamInstanceProfileAssociationsOutput{}
  8025. req = c.newRequest(op, input, output)
  8026. return
  8027. }
  8028. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  8029. //
  8030. // Describes your IAM instance profile associations.
  8031. //
  8032. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8033. // with awserr.Error's Code and Message methods to get detailed information about
  8034. // the error.
  8035. //
  8036. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8037. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  8038. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  8039. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  8040. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  8041. return out, req.Send()
  8042. }
  8043. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  8044. // the ability to pass a context and additional request options.
  8045. //
  8046. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  8047. //
  8048. // The context must be non-nil and will be used for request cancellation. If
  8049. // the context is nil a panic will occur. In the future the SDK may create
  8050. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8051. // for more information on using Contexts.
  8052. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  8053. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  8054. req.SetContext(ctx)
  8055. req.ApplyOptions(opts...)
  8056. return out, req.Send()
  8057. }
  8058. const opDescribeIdFormat = "DescribeIdFormat"
  8059. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  8060. // client's request for the DescribeIdFormat operation. The "output" return
  8061. // value can be used to capture response data after the request's "Send" method
  8062. // is called.
  8063. //
  8064. // See DescribeIdFormat for usage and error information.
  8065. //
  8066. // Creating a request object using this method should be used when you want to inject
  8067. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8068. // access properties on the request object before or after sending the request. If
  8069. // you just want the service response, call the DescribeIdFormat method directly
  8070. // instead.
  8071. //
  8072. // Note: You must call the "Send" method on the returned request object in order
  8073. // to execute the request.
  8074. //
  8075. // // Example sending a request using the DescribeIdFormatRequest method.
  8076. // req, resp := client.DescribeIdFormatRequest(params)
  8077. //
  8078. // err := req.Send()
  8079. // if err == nil { // resp is now filled
  8080. // fmt.Println(resp)
  8081. // }
  8082. //
  8083. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  8084. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  8085. op := &request.Operation{
  8086. Name: opDescribeIdFormat,
  8087. HTTPMethod: "POST",
  8088. HTTPPath: "/",
  8089. }
  8090. if input == nil {
  8091. input = &DescribeIdFormatInput{}
  8092. }
  8093. output = &DescribeIdFormatOutput{}
  8094. req = c.newRequest(op, input, output)
  8095. return
  8096. }
  8097. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  8098. //
  8099. // Describes the ID format settings for your resources on a per-region basis,
  8100. // for example, to view which resource types are enabled for longer IDs. This
  8101. // request only returns information about resource types whose ID formats can
  8102. // be modified; it does not return information about other resource types.
  8103. //
  8104. // The following resource types support longer IDs: instance | reservation |
  8105. // snapshot | volume.
  8106. //
  8107. // These settings apply to the IAM user who makes the request; they do not apply
  8108. // to the entire AWS account. By default, an IAM user defaults to the same settings
  8109. // as the root user, unless they explicitly override the settings by running
  8110. // the ModifyIdFormat command. Resources created with longer IDs are visible
  8111. // to all IAM users, regardless of these settings and provided that they have
  8112. // permission to use the relevant Describe command for the resource type.
  8113. //
  8114. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8115. // with awserr.Error's Code and Message methods to get detailed information about
  8116. // the error.
  8117. //
  8118. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8119. // API operation DescribeIdFormat for usage and error information.
  8120. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  8121. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  8122. req, out := c.DescribeIdFormatRequest(input)
  8123. return out, req.Send()
  8124. }
  8125. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  8126. // the ability to pass a context and additional request options.
  8127. //
  8128. // See DescribeIdFormat for details on how to use this API operation.
  8129. //
  8130. // The context must be non-nil and will be used for request cancellation. If
  8131. // the context is nil a panic will occur. In the future the SDK may create
  8132. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8133. // for more information on using Contexts.
  8134. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  8135. req, out := c.DescribeIdFormatRequest(input)
  8136. req.SetContext(ctx)
  8137. req.ApplyOptions(opts...)
  8138. return out, req.Send()
  8139. }
  8140. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  8141. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  8142. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  8143. // value can be used to capture response data after the request's "Send" method
  8144. // is called.
  8145. //
  8146. // See DescribeIdentityIdFormat for usage and error information.
  8147. //
  8148. // Creating a request object using this method should be used when you want to inject
  8149. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8150. // access properties on the request object before or after sending the request. If
  8151. // you just want the service response, call the DescribeIdentityIdFormat method directly
  8152. // instead.
  8153. //
  8154. // Note: You must call the "Send" method on the returned request object in order
  8155. // to execute the request.
  8156. //
  8157. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  8158. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  8159. //
  8160. // err := req.Send()
  8161. // if err == nil { // resp is now filled
  8162. // fmt.Println(resp)
  8163. // }
  8164. //
  8165. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  8166. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  8167. op := &request.Operation{
  8168. Name: opDescribeIdentityIdFormat,
  8169. HTTPMethod: "POST",
  8170. HTTPPath: "/",
  8171. }
  8172. if input == nil {
  8173. input = &DescribeIdentityIdFormatInput{}
  8174. }
  8175. output = &DescribeIdentityIdFormatOutput{}
  8176. req = c.newRequest(op, input, output)
  8177. return
  8178. }
  8179. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  8180. //
  8181. // Describes the ID format settings for resources for the specified IAM user,
  8182. // IAM role, or root user. For example, you can view the resource types that
  8183. // are enabled for longer IDs. This request only returns information about resource
  8184. // types whose ID formats can be modified; it does not return information about
  8185. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  8186. // in the Amazon Elastic Compute Cloud User Guide.
  8187. //
  8188. // The following resource types support longer IDs: instance | reservation |
  8189. // snapshot | volume.
  8190. //
  8191. // These settings apply to the principal specified in the request. They do not
  8192. // apply to the principal that makes the request.
  8193. //
  8194. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8195. // with awserr.Error's Code and Message methods to get detailed information about
  8196. // the error.
  8197. //
  8198. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8199. // API operation DescribeIdentityIdFormat for usage and error information.
  8200. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  8201. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  8202. req, out := c.DescribeIdentityIdFormatRequest(input)
  8203. return out, req.Send()
  8204. }
  8205. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  8206. // the ability to pass a context and additional request options.
  8207. //
  8208. // See DescribeIdentityIdFormat for details on how to use this API operation.
  8209. //
  8210. // The context must be non-nil and will be used for request cancellation. If
  8211. // the context is nil a panic will occur. In the future the SDK may create
  8212. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8213. // for more information on using Contexts.
  8214. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  8215. req, out := c.DescribeIdentityIdFormatRequest(input)
  8216. req.SetContext(ctx)
  8217. req.ApplyOptions(opts...)
  8218. return out, req.Send()
  8219. }
  8220. const opDescribeImageAttribute = "DescribeImageAttribute"
  8221. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  8222. // client's request for the DescribeImageAttribute operation. The "output" return
  8223. // value can be used to capture response data after the request's "Send" method
  8224. // is called.
  8225. //
  8226. // See DescribeImageAttribute for usage and error information.
  8227. //
  8228. // Creating a request object using this method should be used when you want to inject
  8229. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8230. // access properties on the request object before or after sending the request. If
  8231. // you just want the service response, call the DescribeImageAttribute method directly
  8232. // instead.
  8233. //
  8234. // Note: You must call the "Send" method on the returned request object in order
  8235. // to execute the request.
  8236. //
  8237. // // Example sending a request using the DescribeImageAttributeRequest method.
  8238. // req, resp := client.DescribeImageAttributeRequest(params)
  8239. //
  8240. // err := req.Send()
  8241. // if err == nil { // resp is now filled
  8242. // fmt.Println(resp)
  8243. // }
  8244. //
  8245. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  8246. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  8247. op := &request.Operation{
  8248. Name: opDescribeImageAttribute,
  8249. HTTPMethod: "POST",
  8250. HTTPPath: "/",
  8251. }
  8252. if input == nil {
  8253. input = &DescribeImageAttributeInput{}
  8254. }
  8255. output = &DescribeImageAttributeOutput{}
  8256. req = c.newRequest(op, input, output)
  8257. return
  8258. }
  8259. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  8260. //
  8261. // Describes the specified attribute of the specified AMI. You can specify only
  8262. // one attribute at a time.
  8263. //
  8264. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8265. // with awserr.Error's Code and Message methods to get detailed information about
  8266. // the error.
  8267. //
  8268. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8269. // API operation DescribeImageAttribute for usage and error information.
  8270. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  8271. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  8272. req, out := c.DescribeImageAttributeRequest(input)
  8273. return out, req.Send()
  8274. }
  8275. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  8276. // the ability to pass a context and additional request options.
  8277. //
  8278. // See DescribeImageAttribute for details on how to use this API operation.
  8279. //
  8280. // The context must be non-nil and will be used for request cancellation. If
  8281. // the context is nil a panic will occur. In the future the SDK may create
  8282. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8283. // for more information on using Contexts.
  8284. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  8285. req, out := c.DescribeImageAttributeRequest(input)
  8286. req.SetContext(ctx)
  8287. req.ApplyOptions(opts...)
  8288. return out, req.Send()
  8289. }
  8290. const opDescribeImages = "DescribeImages"
  8291. // DescribeImagesRequest generates a "aws/request.Request" representing the
  8292. // client's request for the DescribeImages operation. The "output" return
  8293. // value can be used to capture response data after the request's "Send" method
  8294. // is called.
  8295. //
  8296. // See DescribeImages for usage and error information.
  8297. //
  8298. // Creating a request object using this method should be used when you want to inject
  8299. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8300. // access properties on the request object before or after sending the request. If
  8301. // you just want the service response, call the DescribeImages method directly
  8302. // instead.
  8303. //
  8304. // Note: You must call the "Send" method on the returned request object in order
  8305. // to execute the request.
  8306. //
  8307. // // Example sending a request using the DescribeImagesRequest method.
  8308. // req, resp := client.DescribeImagesRequest(params)
  8309. //
  8310. // err := req.Send()
  8311. // if err == nil { // resp is now filled
  8312. // fmt.Println(resp)
  8313. // }
  8314. //
  8315. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  8316. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  8317. op := &request.Operation{
  8318. Name: opDescribeImages,
  8319. HTTPMethod: "POST",
  8320. HTTPPath: "/",
  8321. }
  8322. if input == nil {
  8323. input = &DescribeImagesInput{}
  8324. }
  8325. output = &DescribeImagesOutput{}
  8326. req = c.newRequest(op, input, output)
  8327. return
  8328. }
  8329. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  8330. //
  8331. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  8332. // Images available to you include public images, private images that you own,
  8333. // and private images owned by other AWS accounts but for which you have explicit
  8334. // launch permissions.
  8335. //
  8336. // Deregistered images are included in the returned results for an unspecified
  8337. // interval after deregistration.
  8338. //
  8339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8340. // with awserr.Error's Code and Message methods to get detailed information about
  8341. // the error.
  8342. //
  8343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8344. // API operation DescribeImages for usage and error information.
  8345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  8346. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  8347. req, out := c.DescribeImagesRequest(input)
  8348. return out, req.Send()
  8349. }
  8350. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  8351. // the ability to pass a context and additional request options.
  8352. //
  8353. // See DescribeImages for details on how to use this API operation.
  8354. //
  8355. // The context must be non-nil and will be used for request cancellation. If
  8356. // the context is nil a panic will occur. In the future the SDK may create
  8357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8358. // for more information on using Contexts.
  8359. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  8360. req, out := c.DescribeImagesRequest(input)
  8361. req.SetContext(ctx)
  8362. req.ApplyOptions(opts...)
  8363. return out, req.Send()
  8364. }
  8365. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  8366. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  8367. // client's request for the DescribeImportImageTasks operation. The "output" return
  8368. // value can be used to capture response data after the request's "Send" method
  8369. // is called.
  8370. //
  8371. // See DescribeImportImageTasks for usage and error information.
  8372. //
  8373. // Creating a request object using this method should be used when you want to inject
  8374. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8375. // access properties on the request object before or after sending the request. If
  8376. // you just want the service response, call the DescribeImportImageTasks method directly
  8377. // instead.
  8378. //
  8379. // Note: You must call the "Send" method on the returned request object in order
  8380. // to execute the request.
  8381. //
  8382. // // Example sending a request using the DescribeImportImageTasksRequest method.
  8383. // req, resp := client.DescribeImportImageTasksRequest(params)
  8384. //
  8385. // err := req.Send()
  8386. // if err == nil { // resp is now filled
  8387. // fmt.Println(resp)
  8388. // }
  8389. //
  8390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  8391. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  8392. op := &request.Operation{
  8393. Name: opDescribeImportImageTasks,
  8394. HTTPMethod: "POST",
  8395. HTTPPath: "/",
  8396. }
  8397. if input == nil {
  8398. input = &DescribeImportImageTasksInput{}
  8399. }
  8400. output = &DescribeImportImageTasksOutput{}
  8401. req = c.newRequest(op, input, output)
  8402. return
  8403. }
  8404. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  8405. //
  8406. // Displays details about an import virtual machine or import snapshot tasks
  8407. // that are already created.
  8408. //
  8409. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8410. // with awserr.Error's Code and Message methods to get detailed information about
  8411. // the error.
  8412. //
  8413. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8414. // API operation DescribeImportImageTasks for usage and error information.
  8415. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  8416. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  8417. req, out := c.DescribeImportImageTasksRequest(input)
  8418. return out, req.Send()
  8419. }
  8420. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  8421. // the ability to pass a context and additional request options.
  8422. //
  8423. // See DescribeImportImageTasks for details on how to use this API operation.
  8424. //
  8425. // The context must be non-nil and will be used for request cancellation. If
  8426. // the context is nil a panic will occur. In the future the SDK may create
  8427. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8428. // for more information on using Contexts.
  8429. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  8430. req, out := c.DescribeImportImageTasksRequest(input)
  8431. req.SetContext(ctx)
  8432. req.ApplyOptions(opts...)
  8433. return out, req.Send()
  8434. }
  8435. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  8436. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  8437. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  8438. // value can be used to capture response data after the request's "Send" method
  8439. // is called.
  8440. //
  8441. // See DescribeImportSnapshotTasks for usage and error information.
  8442. //
  8443. // Creating a request object using this method should be used when you want to inject
  8444. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8445. // access properties on the request object before or after sending the request. If
  8446. // you just want the service response, call the DescribeImportSnapshotTasks method directly
  8447. // instead.
  8448. //
  8449. // Note: You must call the "Send" method on the returned request object in order
  8450. // to execute the request.
  8451. //
  8452. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  8453. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  8454. //
  8455. // err := req.Send()
  8456. // if err == nil { // resp is now filled
  8457. // fmt.Println(resp)
  8458. // }
  8459. //
  8460. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  8461. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  8462. op := &request.Operation{
  8463. Name: opDescribeImportSnapshotTasks,
  8464. HTTPMethod: "POST",
  8465. HTTPPath: "/",
  8466. }
  8467. if input == nil {
  8468. input = &DescribeImportSnapshotTasksInput{}
  8469. }
  8470. output = &DescribeImportSnapshotTasksOutput{}
  8471. req = c.newRequest(op, input, output)
  8472. return
  8473. }
  8474. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  8475. //
  8476. // Describes your import snapshot tasks.
  8477. //
  8478. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8479. // with awserr.Error's Code and Message methods to get detailed information about
  8480. // the error.
  8481. //
  8482. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8483. // API operation DescribeImportSnapshotTasks for usage and error information.
  8484. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  8485. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  8486. req, out := c.DescribeImportSnapshotTasksRequest(input)
  8487. return out, req.Send()
  8488. }
  8489. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  8490. // the ability to pass a context and additional request options.
  8491. //
  8492. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  8493. //
  8494. // The context must be non-nil and will be used for request cancellation. If
  8495. // the context is nil a panic will occur. In the future the SDK may create
  8496. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8497. // for more information on using Contexts.
  8498. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  8499. req, out := c.DescribeImportSnapshotTasksRequest(input)
  8500. req.SetContext(ctx)
  8501. req.ApplyOptions(opts...)
  8502. return out, req.Send()
  8503. }
  8504. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  8505. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  8506. // client's request for the DescribeInstanceAttribute operation. The "output" return
  8507. // value can be used to capture response data after the request's "Send" method
  8508. // is called.
  8509. //
  8510. // See DescribeInstanceAttribute for usage and error information.
  8511. //
  8512. // Creating a request object using this method should be used when you want to inject
  8513. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8514. // access properties on the request object before or after sending the request. If
  8515. // you just want the service response, call the DescribeInstanceAttribute method directly
  8516. // instead.
  8517. //
  8518. // Note: You must call the "Send" method on the returned request object in order
  8519. // to execute the request.
  8520. //
  8521. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  8522. // req, resp := client.DescribeInstanceAttributeRequest(params)
  8523. //
  8524. // err := req.Send()
  8525. // if err == nil { // resp is now filled
  8526. // fmt.Println(resp)
  8527. // }
  8528. //
  8529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  8530. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  8531. op := &request.Operation{
  8532. Name: opDescribeInstanceAttribute,
  8533. HTTPMethod: "POST",
  8534. HTTPPath: "/",
  8535. }
  8536. if input == nil {
  8537. input = &DescribeInstanceAttributeInput{}
  8538. }
  8539. output = &DescribeInstanceAttributeOutput{}
  8540. req = c.newRequest(op, input, output)
  8541. return
  8542. }
  8543. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  8544. //
  8545. // Describes the specified attribute of the specified instance. You can specify
  8546. // only one attribute at a time. Valid attribute values are: instanceType |
  8547. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  8548. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  8549. // groupSet | ebsOptimized | sriovNetSupport
  8550. //
  8551. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8552. // with awserr.Error's Code and Message methods to get detailed information about
  8553. // the error.
  8554. //
  8555. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8556. // API operation DescribeInstanceAttribute for usage and error information.
  8557. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  8558. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  8559. req, out := c.DescribeInstanceAttributeRequest(input)
  8560. return out, req.Send()
  8561. }
  8562. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  8563. // the ability to pass a context and additional request options.
  8564. //
  8565. // See DescribeInstanceAttribute for details on how to use this API operation.
  8566. //
  8567. // The context must be non-nil and will be used for request cancellation. If
  8568. // the context is nil a panic will occur. In the future the SDK may create
  8569. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8570. // for more information on using Contexts.
  8571. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  8572. req, out := c.DescribeInstanceAttributeRequest(input)
  8573. req.SetContext(ctx)
  8574. req.ApplyOptions(opts...)
  8575. return out, req.Send()
  8576. }
  8577. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  8578. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  8579. // client's request for the DescribeInstanceStatus operation. The "output" return
  8580. // value can be used to capture response data after the request's "Send" method
  8581. // is called.
  8582. //
  8583. // See DescribeInstanceStatus for usage and error information.
  8584. //
  8585. // Creating a request object using this method should be used when you want to inject
  8586. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8587. // access properties on the request object before or after sending the request. If
  8588. // you just want the service response, call the DescribeInstanceStatus method directly
  8589. // instead.
  8590. //
  8591. // Note: You must call the "Send" method on the returned request object in order
  8592. // to execute the request.
  8593. //
  8594. // // Example sending a request using the DescribeInstanceStatusRequest method.
  8595. // req, resp := client.DescribeInstanceStatusRequest(params)
  8596. //
  8597. // err := req.Send()
  8598. // if err == nil { // resp is now filled
  8599. // fmt.Println(resp)
  8600. // }
  8601. //
  8602. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  8603. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  8604. op := &request.Operation{
  8605. Name: opDescribeInstanceStatus,
  8606. HTTPMethod: "POST",
  8607. HTTPPath: "/",
  8608. Paginator: &request.Paginator{
  8609. InputTokens: []string{"NextToken"},
  8610. OutputTokens: []string{"NextToken"},
  8611. LimitToken: "MaxResults",
  8612. TruncationToken: "",
  8613. },
  8614. }
  8615. if input == nil {
  8616. input = &DescribeInstanceStatusInput{}
  8617. }
  8618. output = &DescribeInstanceStatusOutput{}
  8619. req = c.newRequest(op, input, output)
  8620. return
  8621. }
  8622. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  8623. //
  8624. // Describes the status of one or more instances. By default, only running instances
  8625. // are described, unless you specifically indicate to return the status of all
  8626. // instances.
  8627. //
  8628. // Instance status includes the following components:
  8629. //
  8630. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  8631. // to identify hardware and software issues. For more information, see Status
  8632. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  8633. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  8634. // in the Amazon Elastic Compute Cloud User Guide.
  8635. //
  8636. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  8637. // or terminate) for your instances related to hardware issues, software
  8638. // updates, or system maintenance. For more information, see Scheduled Events
  8639. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  8640. // in the Amazon Elastic Compute Cloud User Guide.
  8641. //
  8642. // * Instance state - You can manage your instances from the moment you launch
  8643. // them through their termination. For more information, see Instance Lifecycle
  8644. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  8645. // in the Amazon Elastic Compute Cloud User Guide.
  8646. //
  8647. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8648. // with awserr.Error's Code and Message methods to get detailed information about
  8649. // the error.
  8650. //
  8651. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8652. // API operation DescribeInstanceStatus for usage and error information.
  8653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  8654. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  8655. req, out := c.DescribeInstanceStatusRequest(input)
  8656. return out, req.Send()
  8657. }
  8658. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  8659. // the ability to pass a context and additional request options.
  8660. //
  8661. // See DescribeInstanceStatus for details on how to use this API operation.
  8662. //
  8663. // The context must be non-nil and will be used for request cancellation. If
  8664. // the context is nil a panic will occur. In the future the SDK may create
  8665. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8666. // for more information on using Contexts.
  8667. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  8668. req, out := c.DescribeInstanceStatusRequest(input)
  8669. req.SetContext(ctx)
  8670. req.ApplyOptions(opts...)
  8671. return out, req.Send()
  8672. }
  8673. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  8674. // calling the "fn" function with the response data for each page. To stop
  8675. // iterating, return false from the fn function.
  8676. //
  8677. // See DescribeInstanceStatus method for more information on how to use this operation.
  8678. //
  8679. // Note: This operation can generate multiple requests to a service.
  8680. //
  8681. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  8682. // pageNum := 0
  8683. // err := client.DescribeInstanceStatusPages(params,
  8684. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  8685. // pageNum++
  8686. // fmt.Println(page)
  8687. // return pageNum <= 3
  8688. // })
  8689. //
  8690. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  8691. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  8692. }
  8693. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  8694. // it takes a Context and allows setting request options on the pages.
  8695. //
  8696. // The context must be non-nil and will be used for request cancellation. If
  8697. // the context is nil a panic will occur. In the future the SDK may create
  8698. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8699. // for more information on using Contexts.
  8700. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  8701. p := request.Pagination{
  8702. NewRequest: func() (*request.Request, error) {
  8703. var inCpy *DescribeInstanceStatusInput
  8704. if input != nil {
  8705. tmp := *input
  8706. inCpy = &tmp
  8707. }
  8708. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  8709. req.SetContext(ctx)
  8710. req.ApplyOptions(opts...)
  8711. return req, nil
  8712. },
  8713. }
  8714. cont := true
  8715. for p.Next() && cont {
  8716. cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
  8717. }
  8718. return p.Err()
  8719. }
  8720. const opDescribeInstances = "DescribeInstances"
  8721. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  8722. // client's request for the DescribeInstances operation. The "output" return
  8723. // value can be used to capture response data after the request's "Send" method
  8724. // is called.
  8725. //
  8726. // See DescribeInstances for usage and error information.
  8727. //
  8728. // Creating a request object using this method should be used when you want to inject
  8729. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8730. // access properties on the request object before or after sending the request. If
  8731. // you just want the service response, call the DescribeInstances method directly
  8732. // instead.
  8733. //
  8734. // Note: You must call the "Send" method on the returned request object in order
  8735. // to execute the request.
  8736. //
  8737. // // Example sending a request using the DescribeInstancesRequest method.
  8738. // req, resp := client.DescribeInstancesRequest(params)
  8739. //
  8740. // err := req.Send()
  8741. // if err == nil { // resp is now filled
  8742. // fmt.Println(resp)
  8743. // }
  8744. //
  8745. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  8746. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  8747. op := &request.Operation{
  8748. Name: opDescribeInstances,
  8749. HTTPMethod: "POST",
  8750. HTTPPath: "/",
  8751. Paginator: &request.Paginator{
  8752. InputTokens: []string{"NextToken"},
  8753. OutputTokens: []string{"NextToken"},
  8754. LimitToken: "MaxResults",
  8755. TruncationToken: "",
  8756. },
  8757. }
  8758. if input == nil {
  8759. input = &DescribeInstancesInput{}
  8760. }
  8761. output = &DescribeInstancesOutput{}
  8762. req = c.newRequest(op, input, output)
  8763. return
  8764. }
  8765. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  8766. //
  8767. // Describes one or more of your instances.
  8768. //
  8769. // If you specify one or more instance IDs, Amazon EC2 returns information for
  8770. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  8771. // for all relevant instances. If you specify an instance ID that is not valid,
  8772. // an error is returned. If you specify an instance that you do not own, it
  8773. // is not included in the returned results.
  8774. //
  8775. // Recently terminated instances might appear in the returned results. This
  8776. // interval is usually less than one hour.
  8777. //
  8778. // If you describe instances in the rare case where an Availability Zone is
  8779. // experiencing a service disruption and you specify instance IDs that are in
  8780. // the affected zone, or do not specify any instance IDs at all, the call fails.
  8781. // If you describe instances and specify only instance IDs that are in an unaffected
  8782. // zone, the call works normally.
  8783. //
  8784. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8785. // with awserr.Error's Code and Message methods to get detailed information about
  8786. // the error.
  8787. //
  8788. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8789. // API operation DescribeInstances for usage and error information.
  8790. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  8791. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  8792. req, out := c.DescribeInstancesRequest(input)
  8793. return out, req.Send()
  8794. }
  8795. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  8796. // the ability to pass a context and additional request options.
  8797. //
  8798. // See DescribeInstances for details on how to use this API operation.
  8799. //
  8800. // The context must be non-nil and will be used for request cancellation. If
  8801. // the context is nil a panic will occur. In the future the SDK may create
  8802. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8803. // for more information on using Contexts.
  8804. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  8805. req, out := c.DescribeInstancesRequest(input)
  8806. req.SetContext(ctx)
  8807. req.ApplyOptions(opts...)
  8808. return out, req.Send()
  8809. }
  8810. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  8811. // calling the "fn" function with the response data for each page. To stop
  8812. // iterating, return false from the fn function.
  8813. //
  8814. // See DescribeInstances method for more information on how to use this operation.
  8815. //
  8816. // Note: This operation can generate multiple requests to a service.
  8817. //
  8818. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  8819. // pageNum := 0
  8820. // err := client.DescribeInstancesPages(params,
  8821. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  8822. // pageNum++
  8823. // fmt.Println(page)
  8824. // return pageNum <= 3
  8825. // })
  8826. //
  8827. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  8828. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  8829. }
  8830. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  8831. // it takes a Context and allows setting request options on the pages.
  8832. //
  8833. // The context must be non-nil and will be used for request cancellation. If
  8834. // the context is nil a panic will occur. In the future the SDK may create
  8835. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8836. // for more information on using Contexts.
  8837. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  8838. p := request.Pagination{
  8839. NewRequest: func() (*request.Request, error) {
  8840. var inCpy *DescribeInstancesInput
  8841. if input != nil {
  8842. tmp := *input
  8843. inCpy = &tmp
  8844. }
  8845. req, _ := c.DescribeInstancesRequest(inCpy)
  8846. req.SetContext(ctx)
  8847. req.ApplyOptions(opts...)
  8848. return req, nil
  8849. },
  8850. }
  8851. cont := true
  8852. for p.Next() && cont {
  8853. cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
  8854. }
  8855. return p.Err()
  8856. }
  8857. const opDescribeInternetGateways = "DescribeInternetGateways"
  8858. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  8859. // client's request for the DescribeInternetGateways operation. The "output" return
  8860. // value can be used to capture response data after the request's "Send" method
  8861. // is called.
  8862. //
  8863. // See DescribeInternetGateways for usage and error information.
  8864. //
  8865. // Creating a request object using this method should be used when you want to inject
  8866. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8867. // access properties on the request object before or after sending the request. If
  8868. // you just want the service response, call the DescribeInternetGateways method directly
  8869. // instead.
  8870. //
  8871. // Note: You must call the "Send" method on the returned request object in order
  8872. // to execute the request.
  8873. //
  8874. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  8875. // req, resp := client.DescribeInternetGatewaysRequest(params)
  8876. //
  8877. // err := req.Send()
  8878. // if err == nil { // resp is now filled
  8879. // fmt.Println(resp)
  8880. // }
  8881. //
  8882. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  8883. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  8884. op := &request.Operation{
  8885. Name: opDescribeInternetGateways,
  8886. HTTPMethod: "POST",
  8887. HTTPPath: "/",
  8888. }
  8889. if input == nil {
  8890. input = &DescribeInternetGatewaysInput{}
  8891. }
  8892. output = &DescribeInternetGatewaysOutput{}
  8893. req = c.newRequest(op, input, output)
  8894. return
  8895. }
  8896. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  8897. //
  8898. // Describes one or more of your Internet gateways.
  8899. //
  8900. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8901. // with awserr.Error's Code and Message methods to get detailed information about
  8902. // the error.
  8903. //
  8904. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8905. // API operation DescribeInternetGateways for usage and error information.
  8906. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  8907. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  8908. req, out := c.DescribeInternetGatewaysRequest(input)
  8909. return out, req.Send()
  8910. }
  8911. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  8912. // the ability to pass a context and additional request options.
  8913. //
  8914. // See DescribeInternetGateways for details on how to use this API operation.
  8915. //
  8916. // The context must be non-nil and will be used for request cancellation. If
  8917. // the context is nil a panic will occur. In the future the SDK may create
  8918. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8919. // for more information on using Contexts.
  8920. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  8921. req, out := c.DescribeInternetGatewaysRequest(input)
  8922. req.SetContext(ctx)
  8923. req.ApplyOptions(opts...)
  8924. return out, req.Send()
  8925. }
  8926. const opDescribeKeyPairs = "DescribeKeyPairs"
  8927. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  8928. // client's request for the DescribeKeyPairs operation. The "output" return
  8929. // value can be used to capture response data after the request's "Send" method
  8930. // is called.
  8931. //
  8932. // See DescribeKeyPairs for usage and error information.
  8933. //
  8934. // Creating a request object using this method should be used when you want to inject
  8935. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8936. // access properties on the request object before or after sending the request. If
  8937. // you just want the service response, call the DescribeKeyPairs method directly
  8938. // instead.
  8939. //
  8940. // Note: You must call the "Send" method on the returned request object in order
  8941. // to execute the request.
  8942. //
  8943. // // Example sending a request using the DescribeKeyPairsRequest method.
  8944. // req, resp := client.DescribeKeyPairsRequest(params)
  8945. //
  8946. // err := req.Send()
  8947. // if err == nil { // resp is now filled
  8948. // fmt.Println(resp)
  8949. // }
  8950. //
  8951. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  8952. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  8953. op := &request.Operation{
  8954. Name: opDescribeKeyPairs,
  8955. HTTPMethod: "POST",
  8956. HTTPPath: "/",
  8957. }
  8958. if input == nil {
  8959. input = &DescribeKeyPairsInput{}
  8960. }
  8961. output = &DescribeKeyPairsOutput{}
  8962. req = c.newRequest(op, input, output)
  8963. return
  8964. }
  8965. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  8966. //
  8967. // Describes one or more of your key pairs.
  8968. //
  8969. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  8970. // in the Amazon Elastic Compute Cloud User Guide.
  8971. //
  8972. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8973. // with awserr.Error's Code and Message methods to get detailed information about
  8974. // the error.
  8975. //
  8976. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8977. // API operation DescribeKeyPairs for usage and error information.
  8978. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  8979. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  8980. req, out := c.DescribeKeyPairsRequest(input)
  8981. return out, req.Send()
  8982. }
  8983. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  8984. // the ability to pass a context and additional request options.
  8985. //
  8986. // See DescribeKeyPairs for details on how to use this API operation.
  8987. //
  8988. // The context must be non-nil and will be used for request cancellation. If
  8989. // the context is nil a panic will occur. In the future the SDK may create
  8990. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8991. // for more information on using Contexts.
  8992. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  8993. req, out := c.DescribeKeyPairsRequest(input)
  8994. req.SetContext(ctx)
  8995. req.ApplyOptions(opts...)
  8996. return out, req.Send()
  8997. }
  8998. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  8999. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  9000. // client's request for the DescribeMovingAddresses operation. The "output" return
  9001. // value can be used to capture response data after the request's "Send" method
  9002. // is called.
  9003. //
  9004. // See DescribeMovingAddresses for usage and error information.
  9005. //
  9006. // Creating a request object using this method should be used when you want to inject
  9007. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9008. // access properties on the request object before or after sending the request. If
  9009. // you just want the service response, call the DescribeMovingAddresses method directly
  9010. // instead.
  9011. //
  9012. // Note: You must call the "Send" method on the returned request object in order
  9013. // to execute the request.
  9014. //
  9015. // // Example sending a request using the DescribeMovingAddressesRequest method.
  9016. // req, resp := client.DescribeMovingAddressesRequest(params)
  9017. //
  9018. // err := req.Send()
  9019. // if err == nil { // resp is now filled
  9020. // fmt.Println(resp)
  9021. // }
  9022. //
  9023. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  9024. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  9025. op := &request.Operation{
  9026. Name: opDescribeMovingAddresses,
  9027. HTTPMethod: "POST",
  9028. HTTPPath: "/",
  9029. }
  9030. if input == nil {
  9031. input = &DescribeMovingAddressesInput{}
  9032. }
  9033. output = &DescribeMovingAddressesOutput{}
  9034. req = c.newRequest(op, input, output)
  9035. return
  9036. }
  9037. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  9038. //
  9039. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  9040. // or that are being restored to the EC2-Classic platform. This request does
  9041. // not return information about any other Elastic IP addresses in your account.
  9042. //
  9043. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9044. // with awserr.Error's Code and Message methods to get detailed information about
  9045. // the error.
  9046. //
  9047. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9048. // API operation DescribeMovingAddresses for usage and error information.
  9049. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  9050. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  9051. req, out := c.DescribeMovingAddressesRequest(input)
  9052. return out, req.Send()
  9053. }
  9054. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  9055. // the ability to pass a context and additional request options.
  9056. //
  9057. // See DescribeMovingAddresses for details on how to use this API operation.
  9058. //
  9059. // The context must be non-nil and will be used for request cancellation. If
  9060. // the context is nil a panic will occur. In the future the SDK may create
  9061. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9062. // for more information on using Contexts.
  9063. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  9064. req, out := c.DescribeMovingAddressesRequest(input)
  9065. req.SetContext(ctx)
  9066. req.ApplyOptions(opts...)
  9067. return out, req.Send()
  9068. }
  9069. const opDescribeNatGateways = "DescribeNatGateways"
  9070. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  9071. // client's request for the DescribeNatGateways operation. The "output" return
  9072. // value can be used to capture response data after the request's "Send" method
  9073. // is called.
  9074. //
  9075. // See DescribeNatGateways for usage and error information.
  9076. //
  9077. // Creating a request object using this method should be used when you want to inject
  9078. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9079. // access properties on the request object before or after sending the request. If
  9080. // you just want the service response, call the DescribeNatGateways method directly
  9081. // instead.
  9082. //
  9083. // Note: You must call the "Send" method on the returned request object in order
  9084. // to execute the request.
  9085. //
  9086. // // Example sending a request using the DescribeNatGatewaysRequest method.
  9087. // req, resp := client.DescribeNatGatewaysRequest(params)
  9088. //
  9089. // err := req.Send()
  9090. // if err == nil { // resp is now filled
  9091. // fmt.Println(resp)
  9092. // }
  9093. //
  9094. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  9095. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  9096. op := &request.Operation{
  9097. Name: opDescribeNatGateways,
  9098. HTTPMethod: "POST",
  9099. HTTPPath: "/",
  9100. Paginator: &request.Paginator{
  9101. InputTokens: []string{"NextToken"},
  9102. OutputTokens: []string{"NextToken"},
  9103. LimitToken: "MaxResults",
  9104. TruncationToken: "",
  9105. },
  9106. }
  9107. if input == nil {
  9108. input = &DescribeNatGatewaysInput{}
  9109. }
  9110. output = &DescribeNatGatewaysOutput{}
  9111. req = c.newRequest(op, input, output)
  9112. return
  9113. }
  9114. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  9115. //
  9116. // Describes one or more of the your NAT gateways.
  9117. //
  9118. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9119. // with awserr.Error's Code and Message methods to get detailed information about
  9120. // the error.
  9121. //
  9122. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9123. // API operation DescribeNatGateways for usage and error information.
  9124. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  9125. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  9126. req, out := c.DescribeNatGatewaysRequest(input)
  9127. return out, req.Send()
  9128. }
  9129. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  9130. // the ability to pass a context and additional request options.
  9131. //
  9132. // See DescribeNatGateways for details on how to use this API operation.
  9133. //
  9134. // The context must be non-nil and will be used for request cancellation. If
  9135. // the context is nil a panic will occur. In the future the SDK may create
  9136. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9137. // for more information on using Contexts.
  9138. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  9139. req, out := c.DescribeNatGatewaysRequest(input)
  9140. req.SetContext(ctx)
  9141. req.ApplyOptions(opts...)
  9142. return out, req.Send()
  9143. }
  9144. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  9145. // calling the "fn" function with the response data for each page. To stop
  9146. // iterating, return false from the fn function.
  9147. //
  9148. // See DescribeNatGateways method for more information on how to use this operation.
  9149. //
  9150. // Note: This operation can generate multiple requests to a service.
  9151. //
  9152. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  9153. // pageNum := 0
  9154. // err := client.DescribeNatGatewaysPages(params,
  9155. // func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
  9156. // pageNum++
  9157. // fmt.Println(page)
  9158. // return pageNum <= 3
  9159. // })
  9160. //
  9161. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  9162. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  9163. }
  9164. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  9165. // it takes a Context and allows setting request options on the pages.
  9166. //
  9167. // The context must be non-nil and will be used for request cancellation. If
  9168. // the context is nil a panic will occur. In the future the SDK may create
  9169. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9170. // for more information on using Contexts.
  9171. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  9172. p := request.Pagination{
  9173. NewRequest: func() (*request.Request, error) {
  9174. var inCpy *DescribeNatGatewaysInput
  9175. if input != nil {
  9176. tmp := *input
  9177. inCpy = &tmp
  9178. }
  9179. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  9180. req.SetContext(ctx)
  9181. req.ApplyOptions(opts...)
  9182. return req, nil
  9183. },
  9184. }
  9185. cont := true
  9186. for p.Next() && cont {
  9187. cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
  9188. }
  9189. return p.Err()
  9190. }
  9191. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  9192. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  9193. // client's request for the DescribeNetworkAcls operation. The "output" return
  9194. // value can be used to capture response data after the request's "Send" method
  9195. // is called.
  9196. //
  9197. // See DescribeNetworkAcls for usage and error information.
  9198. //
  9199. // Creating a request object using this method should be used when you want to inject
  9200. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9201. // access properties on the request object before or after sending the request. If
  9202. // you just want the service response, call the DescribeNetworkAcls method directly
  9203. // instead.
  9204. //
  9205. // Note: You must call the "Send" method on the returned request object in order
  9206. // to execute the request.
  9207. //
  9208. // // Example sending a request using the DescribeNetworkAclsRequest method.
  9209. // req, resp := client.DescribeNetworkAclsRequest(params)
  9210. //
  9211. // err := req.Send()
  9212. // if err == nil { // resp is now filled
  9213. // fmt.Println(resp)
  9214. // }
  9215. //
  9216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  9217. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  9218. op := &request.Operation{
  9219. Name: opDescribeNetworkAcls,
  9220. HTTPMethod: "POST",
  9221. HTTPPath: "/",
  9222. }
  9223. if input == nil {
  9224. input = &DescribeNetworkAclsInput{}
  9225. }
  9226. output = &DescribeNetworkAclsOutput{}
  9227. req = c.newRequest(op, input, output)
  9228. return
  9229. }
  9230. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  9231. //
  9232. // Describes one or more of your network ACLs.
  9233. //
  9234. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  9235. // in the Amazon Virtual Private Cloud User Guide.
  9236. //
  9237. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9238. // with awserr.Error's Code and Message methods to get detailed information about
  9239. // the error.
  9240. //
  9241. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9242. // API operation DescribeNetworkAcls for usage and error information.
  9243. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  9244. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  9245. req, out := c.DescribeNetworkAclsRequest(input)
  9246. return out, req.Send()
  9247. }
  9248. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  9249. // the ability to pass a context and additional request options.
  9250. //
  9251. // See DescribeNetworkAcls for details on how to use this API operation.
  9252. //
  9253. // The context must be non-nil and will be used for request cancellation. If
  9254. // the context is nil a panic will occur. In the future the SDK may create
  9255. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9256. // for more information on using Contexts.
  9257. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  9258. req, out := c.DescribeNetworkAclsRequest(input)
  9259. req.SetContext(ctx)
  9260. req.ApplyOptions(opts...)
  9261. return out, req.Send()
  9262. }
  9263. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  9264. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  9265. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  9266. // value can be used to capture response data after the request's "Send" method
  9267. // is called.
  9268. //
  9269. // See DescribeNetworkInterfaceAttribute for usage and error information.
  9270. //
  9271. // Creating a request object using this method should be used when you want to inject
  9272. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9273. // access properties on the request object before or after sending the request. If
  9274. // you just want the service response, call the DescribeNetworkInterfaceAttribute method directly
  9275. // instead.
  9276. //
  9277. // Note: You must call the "Send" method on the returned request object in order
  9278. // to execute the request.
  9279. //
  9280. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  9281. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  9282. //
  9283. // err := req.Send()
  9284. // if err == nil { // resp is now filled
  9285. // fmt.Println(resp)
  9286. // }
  9287. //
  9288. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  9289. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  9290. op := &request.Operation{
  9291. Name: opDescribeNetworkInterfaceAttribute,
  9292. HTTPMethod: "POST",
  9293. HTTPPath: "/",
  9294. }
  9295. if input == nil {
  9296. input = &DescribeNetworkInterfaceAttributeInput{}
  9297. }
  9298. output = &DescribeNetworkInterfaceAttributeOutput{}
  9299. req = c.newRequest(op, input, output)
  9300. return
  9301. }
  9302. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  9303. //
  9304. // Describes a network interface attribute. You can specify only one attribute
  9305. // at a time.
  9306. //
  9307. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9308. // with awserr.Error's Code and Message methods to get detailed information about
  9309. // the error.
  9310. //
  9311. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9312. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  9313. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  9314. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  9315. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  9316. return out, req.Send()
  9317. }
  9318. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  9319. // the ability to pass a context and additional request options.
  9320. //
  9321. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  9322. //
  9323. // The context must be non-nil and will be used for request cancellation. If
  9324. // the context is nil a panic will occur. In the future the SDK may create
  9325. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9326. // for more information on using Contexts.
  9327. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  9328. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  9329. req.SetContext(ctx)
  9330. req.ApplyOptions(opts...)
  9331. return out, req.Send()
  9332. }
  9333. const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
  9334. // DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
  9335. // client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
  9336. // value can be used to capture response data after the request's "Send" method
  9337. // is called.
  9338. //
  9339. // See DescribeNetworkInterfacePermissions for usage and error information.
  9340. //
  9341. // Creating a request object using this method should be used when you want to inject
  9342. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9343. // access properties on the request object before or after sending the request. If
  9344. // you just want the service response, call the DescribeNetworkInterfacePermissions method directly
  9345. // instead.
  9346. //
  9347. // Note: You must call the "Send" method on the returned request object in order
  9348. // to execute the request.
  9349. //
  9350. // // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
  9351. // req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
  9352. //
  9353. // err := req.Send()
  9354. // if err == nil { // resp is now filled
  9355. // fmt.Println(resp)
  9356. // }
  9357. //
  9358. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  9359. func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
  9360. op := &request.Operation{
  9361. Name: opDescribeNetworkInterfacePermissions,
  9362. HTTPMethod: "POST",
  9363. HTTPPath: "/",
  9364. }
  9365. if input == nil {
  9366. input = &DescribeNetworkInterfacePermissionsInput{}
  9367. }
  9368. output = &DescribeNetworkInterfacePermissionsOutput{}
  9369. req = c.newRequest(op, input, output)
  9370. return
  9371. }
  9372. // DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
  9373. //
  9374. // Describes the permissions for your network interfaces.
  9375. //
  9376. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9377. // with awserr.Error's Code and Message methods to get detailed information about
  9378. // the error.
  9379. //
  9380. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9381. // API operation DescribeNetworkInterfacePermissions for usage and error information.
  9382. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
  9383. func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
  9384. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  9385. return out, req.Send()
  9386. }
  9387. // DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
  9388. // the ability to pass a context and additional request options.
  9389. //
  9390. // See DescribeNetworkInterfacePermissions for details on how to use this API operation.
  9391. //
  9392. // The context must be non-nil and will be used for request cancellation. If
  9393. // the context is nil a panic will occur. In the future the SDK may create
  9394. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9395. // for more information on using Contexts.
  9396. func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
  9397. req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
  9398. req.SetContext(ctx)
  9399. req.ApplyOptions(opts...)
  9400. return out, req.Send()
  9401. }
  9402. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  9403. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  9404. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  9405. // value can be used to capture response data after the request's "Send" method
  9406. // is called.
  9407. //
  9408. // See DescribeNetworkInterfaces for usage and error information.
  9409. //
  9410. // Creating a request object using this method should be used when you want to inject
  9411. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9412. // access properties on the request object before or after sending the request. If
  9413. // you just want the service response, call the DescribeNetworkInterfaces method directly
  9414. // instead.
  9415. //
  9416. // Note: You must call the "Send" method on the returned request object in order
  9417. // to execute the request.
  9418. //
  9419. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  9420. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  9421. //
  9422. // err := req.Send()
  9423. // if err == nil { // resp is now filled
  9424. // fmt.Println(resp)
  9425. // }
  9426. //
  9427. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  9428. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  9429. op := &request.Operation{
  9430. Name: opDescribeNetworkInterfaces,
  9431. HTTPMethod: "POST",
  9432. HTTPPath: "/",
  9433. }
  9434. if input == nil {
  9435. input = &DescribeNetworkInterfacesInput{}
  9436. }
  9437. output = &DescribeNetworkInterfacesOutput{}
  9438. req = c.newRequest(op, input, output)
  9439. return
  9440. }
  9441. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  9442. //
  9443. // Describes one or more of your network interfaces.
  9444. //
  9445. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9446. // with awserr.Error's Code and Message methods to get detailed information about
  9447. // the error.
  9448. //
  9449. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9450. // API operation DescribeNetworkInterfaces for usage and error information.
  9451. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  9452. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  9453. req, out := c.DescribeNetworkInterfacesRequest(input)
  9454. return out, req.Send()
  9455. }
  9456. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  9457. // the ability to pass a context and additional request options.
  9458. //
  9459. // See DescribeNetworkInterfaces for details on how to use this API operation.
  9460. //
  9461. // The context must be non-nil and will be used for request cancellation. If
  9462. // the context is nil a panic will occur. In the future the SDK may create
  9463. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9464. // for more information on using Contexts.
  9465. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  9466. req, out := c.DescribeNetworkInterfacesRequest(input)
  9467. req.SetContext(ctx)
  9468. req.ApplyOptions(opts...)
  9469. return out, req.Send()
  9470. }
  9471. const opDescribePlacementGroups = "DescribePlacementGroups"
  9472. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  9473. // client's request for the DescribePlacementGroups operation. The "output" return
  9474. // value can be used to capture response data after the request's "Send" method
  9475. // is called.
  9476. //
  9477. // See DescribePlacementGroups for usage and error information.
  9478. //
  9479. // Creating a request object using this method should be used when you want to inject
  9480. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9481. // access properties on the request object before or after sending the request. If
  9482. // you just want the service response, call the DescribePlacementGroups method directly
  9483. // instead.
  9484. //
  9485. // Note: You must call the "Send" method on the returned request object in order
  9486. // to execute the request.
  9487. //
  9488. // // Example sending a request using the DescribePlacementGroupsRequest method.
  9489. // req, resp := client.DescribePlacementGroupsRequest(params)
  9490. //
  9491. // err := req.Send()
  9492. // if err == nil { // resp is now filled
  9493. // fmt.Println(resp)
  9494. // }
  9495. //
  9496. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  9497. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  9498. op := &request.Operation{
  9499. Name: opDescribePlacementGroups,
  9500. HTTPMethod: "POST",
  9501. HTTPPath: "/",
  9502. }
  9503. if input == nil {
  9504. input = &DescribePlacementGroupsInput{}
  9505. }
  9506. output = &DescribePlacementGroupsOutput{}
  9507. req = c.newRequest(op, input, output)
  9508. return
  9509. }
  9510. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  9511. //
  9512. // Describes one or more of your placement groups. For more information about
  9513. // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  9514. // in the Amazon Elastic Compute Cloud User Guide.
  9515. //
  9516. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9517. // with awserr.Error's Code and Message methods to get detailed information about
  9518. // the error.
  9519. //
  9520. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9521. // API operation DescribePlacementGroups for usage and error information.
  9522. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  9523. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  9524. req, out := c.DescribePlacementGroupsRequest(input)
  9525. return out, req.Send()
  9526. }
  9527. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  9528. // the ability to pass a context and additional request options.
  9529. //
  9530. // See DescribePlacementGroups for details on how to use this API operation.
  9531. //
  9532. // The context must be non-nil and will be used for request cancellation. If
  9533. // the context is nil a panic will occur. In the future the SDK may create
  9534. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9535. // for more information on using Contexts.
  9536. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  9537. req, out := c.DescribePlacementGroupsRequest(input)
  9538. req.SetContext(ctx)
  9539. req.ApplyOptions(opts...)
  9540. return out, req.Send()
  9541. }
  9542. const opDescribePrefixLists = "DescribePrefixLists"
  9543. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  9544. // client's request for the DescribePrefixLists operation. The "output" return
  9545. // value can be used to capture response data after the request's "Send" method
  9546. // is called.
  9547. //
  9548. // See DescribePrefixLists for usage and error information.
  9549. //
  9550. // Creating a request object using this method should be used when you want to inject
  9551. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9552. // access properties on the request object before or after sending the request. If
  9553. // you just want the service response, call the DescribePrefixLists method directly
  9554. // instead.
  9555. //
  9556. // Note: You must call the "Send" method on the returned request object in order
  9557. // to execute the request.
  9558. //
  9559. // // Example sending a request using the DescribePrefixListsRequest method.
  9560. // req, resp := client.DescribePrefixListsRequest(params)
  9561. //
  9562. // err := req.Send()
  9563. // if err == nil { // resp is now filled
  9564. // fmt.Println(resp)
  9565. // }
  9566. //
  9567. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  9568. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  9569. op := &request.Operation{
  9570. Name: opDescribePrefixLists,
  9571. HTTPMethod: "POST",
  9572. HTTPPath: "/",
  9573. }
  9574. if input == nil {
  9575. input = &DescribePrefixListsInput{}
  9576. }
  9577. output = &DescribePrefixListsOutput{}
  9578. req = c.newRequest(op, input, output)
  9579. return
  9580. }
  9581. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  9582. //
  9583. // Describes available AWS services in a prefix list format, which includes
  9584. // the prefix list name and prefix list ID of the service and the IP address
  9585. // range for the service. A prefix list ID is required for creating an outbound
  9586. // security group rule that allows traffic from a VPC to access an AWS service
  9587. // through a VPC endpoint.
  9588. //
  9589. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9590. // with awserr.Error's Code and Message methods to get detailed information about
  9591. // the error.
  9592. //
  9593. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9594. // API operation DescribePrefixLists for usage and error information.
  9595. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  9596. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  9597. req, out := c.DescribePrefixListsRequest(input)
  9598. return out, req.Send()
  9599. }
  9600. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  9601. // the ability to pass a context and additional request options.
  9602. //
  9603. // See DescribePrefixLists for details on how to use this API operation.
  9604. //
  9605. // The context must be non-nil and will be used for request cancellation. If
  9606. // the context is nil a panic will occur. In the future the SDK may create
  9607. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9608. // for more information on using Contexts.
  9609. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  9610. req, out := c.DescribePrefixListsRequest(input)
  9611. req.SetContext(ctx)
  9612. req.ApplyOptions(opts...)
  9613. return out, req.Send()
  9614. }
  9615. const opDescribeRegions = "DescribeRegions"
  9616. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  9617. // client's request for the DescribeRegions operation. The "output" return
  9618. // value can be used to capture response data after the request's "Send" method
  9619. // is called.
  9620. //
  9621. // See DescribeRegions for usage and error information.
  9622. //
  9623. // Creating a request object using this method should be used when you want to inject
  9624. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9625. // access properties on the request object before or after sending the request. If
  9626. // you just want the service response, call the DescribeRegions method directly
  9627. // instead.
  9628. //
  9629. // Note: You must call the "Send" method on the returned request object in order
  9630. // to execute the request.
  9631. //
  9632. // // Example sending a request using the DescribeRegionsRequest method.
  9633. // req, resp := client.DescribeRegionsRequest(params)
  9634. //
  9635. // err := req.Send()
  9636. // if err == nil { // resp is now filled
  9637. // fmt.Println(resp)
  9638. // }
  9639. //
  9640. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  9641. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  9642. op := &request.Operation{
  9643. Name: opDescribeRegions,
  9644. HTTPMethod: "POST",
  9645. HTTPPath: "/",
  9646. }
  9647. if input == nil {
  9648. input = &DescribeRegionsInput{}
  9649. }
  9650. output = &DescribeRegionsOutput{}
  9651. req = c.newRequest(op, input, output)
  9652. return
  9653. }
  9654. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  9655. //
  9656. // Describes one or more regions that are currently available to you.
  9657. //
  9658. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  9659. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  9660. //
  9661. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9662. // with awserr.Error's Code and Message methods to get detailed information about
  9663. // the error.
  9664. //
  9665. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9666. // API operation DescribeRegions for usage and error information.
  9667. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  9668. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  9669. req, out := c.DescribeRegionsRequest(input)
  9670. return out, req.Send()
  9671. }
  9672. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  9673. // the ability to pass a context and additional request options.
  9674. //
  9675. // See DescribeRegions for details on how to use this API operation.
  9676. //
  9677. // The context must be non-nil and will be used for request cancellation. If
  9678. // the context is nil a panic will occur. In the future the SDK may create
  9679. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9680. // for more information on using Contexts.
  9681. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  9682. req, out := c.DescribeRegionsRequest(input)
  9683. req.SetContext(ctx)
  9684. req.ApplyOptions(opts...)
  9685. return out, req.Send()
  9686. }
  9687. const opDescribeReservedInstances = "DescribeReservedInstances"
  9688. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  9689. // client's request for the DescribeReservedInstances operation. The "output" return
  9690. // value can be used to capture response data after the request's "Send" method
  9691. // is called.
  9692. //
  9693. // See DescribeReservedInstances for usage and error information.
  9694. //
  9695. // Creating a request object using this method should be used when you want to inject
  9696. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9697. // access properties on the request object before or after sending the request. If
  9698. // you just want the service response, call the DescribeReservedInstances method directly
  9699. // instead.
  9700. //
  9701. // Note: You must call the "Send" method on the returned request object in order
  9702. // to execute the request.
  9703. //
  9704. // // Example sending a request using the DescribeReservedInstancesRequest method.
  9705. // req, resp := client.DescribeReservedInstancesRequest(params)
  9706. //
  9707. // err := req.Send()
  9708. // if err == nil { // resp is now filled
  9709. // fmt.Println(resp)
  9710. // }
  9711. //
  9712. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  9713. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  9714. op := &request.Operation{
  9715. Name: opDescribeReservedInstances,
  9716. HTTPMethod: "POST",
  9717. HTTPPath: "/",
  9718. }
  9719. if input == nil {
  9720. input = &DescribeReservedInstancesInput{}
  9721. }
  9722. output = &DescribeReservedInstancesOutput{}
  9723. req = c.newRequest(op, input, output)
  9724. return
  9725. }
  9726. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  9727. //
  9728. // Describes one or more of the Reserved Instances that you purchased.
  9729. //
  9730. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  9731. // in the Amazon Elastic Compute Cloud User Guide.
  9732. //
  9733. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9734. // with awserr.Error's Code and Message methods to get detailed information about
  9735. // the error.
  9736. //
  9737. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9738. // API operation DescribeReservedInstances for usage and error information.
  9739. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  9740. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  9741. req, out := c.DescribeReservedInstancesRequest(input)
  9742. return out, req.Send()
  9743. }
  9744. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  9745. // the ability to pass a context and additional request options.
  9746. //
  9747. // See DescribeReservedInstances for details on how to use this API operation.
  9748. //
  9749. // The context must be non-nil and will be used for request cancellation. If
  9750. // the context is nil a panic will occur. In the future the SDK may create
  9751. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9752. // for more information on using Contexts.
  9753. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  9754. req, out := c.DescribeReservedInstancesRequest(input)
  9755. req.SetContext(ctx)
  9756. req.ApplyOptions(opts...)
  9757. return out, req.Send()
  9758. }
  9759. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  9760. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  9761. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  9762. // value can be used to capture response data after the request's "Send" method
  9763. // is called.
  9764. //
  9765. // See DescribeReservedInstancesListings for usage and error information.
  9766. //
  9767. // Creating a request object using this method should be used when you want to inject
  9768. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9769. // access properties on the request object before or after sending the request. If
  9770. // you just want the service response, call the DescribeReservedInstancesListings method directly
  9771. // instead.
  9772. //
  9773. // Note: You must call the "Send" method on the returned request object in order
  9774. // to execute the request.
  9775. //
  9776. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  9777. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  9778. //
  9779. // err := req.Send()
  9780. // if err == nil { // resp is now filled
  9781. // fmt.Println(resp)
  9782. // }
  9783. //
  9784. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  9785. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  9786. op := &request.Operation{
  9787. Name: opDescribeReservedInstancesListings,
  9788. HTTPMethod: "POST",
  9789. HTTPPath: "/",
  9790. }
  9791. if input == nil {
  9792. input = &DescribeReservedInstancesListingsInput{}
  9793. }
  9794. output = &DescribeReservedInstancesListingsOutput{}
  9795. req = c.newRequest(op, input, output)
  9796. return
  9797. }
  9798. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  9799. //
  9800. // Describes your account's Reserved Instance listings in the Reserved Instance
  9801. // Marketplace.
  9802. //
  9803. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  9804. // Instance capacity that they no longer need with buyers who want to purchase
  9805. // additional capacity. Reserved Instances bought and sold through the Reserved
  9806. // Instance Marketplace work like any other Reserved Instances.
  9807. //
  9808. // As a seller, you choose to list some or all of your Reserved Instances, and
  9809. // you specify the upfront price to receive for them. Your Reserved Instances
  9810. // are then listed in the Reserved Instance Marketplace and are available for
  9811. // purchase.
  9812. //
  9813. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  9814. // and the Marketplace matches what you're searching for with what's available.
  9815. // The Marketplace first sells the lowest priced Reserved Instances to you,
  9816. // and continues to sell available Reserved Instance listings to you until your
  9817. // demand is met. You are charged based on the total price of all of the listings
  9818. // that you purchase.
  9819. //
  9820. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  9821. // in the Amazon Elastic Compute Cloud User Guide.
  9822. //
  9823. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9824. // with awserr.Error's Code and Message methods to get detailed information about
  9825. // the error.
  9826. //
  9827. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9828. // API operation DescribeReservedInstancesListings for usage and error information.
  9829. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  9830. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  9831. req, out := c.DescribeReservedInstancesListingsRequest(input)
  9832. return out, req.Send()
  9833. }
  9834. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  9835. // the ability to pass a context and additional request options.
  9836. //
  9837. // See DescribeReservedInstancesListings for details on how to use this API operation.
  9838. //
  9839. // The context must be non-nil and will be used for request cancellation. If
  9840. // the context is nil a panic will occur. In the future the SDK may create
  9841. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9842. // for more information on using Contexts.
  9843. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  9844. req, out := c.DescribeReservedInstancesListingsRequest(input)
  9845. req.SetContext(ctx)
  9846. req.ApplyOptions(opts...)
  9847. return out, req.Send()
  9848. }
  9849. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  9850. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  9851. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  9852. // value can be used to capture response data after the request's "Send" method
  9853. // is called.
  9854. //
  9855. // See DescribeReservedInstancesModifications for usage and error information.
  9856. //
  9857. // Creating a request object using this method should be used when you want to inject
  9858. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9859. // access properties on the request object before or after sending the request. If
  9860. // you just want the service response, call the DescribeReservedInstancesModifications method directly
  9861. // instead.
  9862. //
  9863. // Note: You must call the "Send" method on the returned request object in order
  9864. // to execute the request.
  9865. //
  9866. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  9867. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  9868. //
  9869. // err := req.Send()
  9870. // if err == nil { // resp is now filled
  9871. // fmt.Println(resp)
  9872. // }
  9873. //
  9874. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  9875. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  9876. op := &request.Operation{
  9877. Name: opDescribeReservedInstancesModifications,
  9878. HTTPMethod: "POST",
  9879. HTTPPath: "/",
  9880. Paginator: &request.Paginator{
  9881. InputTokens: []string{"NextToken"},
  9882. OutputTokens: []string{"NextToken"},
  9883. LimitToken: "",
  9884. TruncationToken: "",
  9885. },
  9886. }
  9887. if input == nil {
  9888. input = &DescribeReservedInstancesModificationsInput{}
  9889. }
  9890. output = &DescribeReservedInstancesModificationsOutput{}
  9891. req = c.newRequest(op, input, output)
  9892. return
  9893. }
  9894. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  9895. //
  9896. // Describes the modifications made to your Reserved Instances. If no parameter
  9897. // is specified, information about all your Reserved Instances modification
  9898. // requests is returned. If a modification ID is specified, only information
  9899. // about the specific modification is returned.
  9900. //
  9901. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  9902. // in the Amazon Elastic Compute Cloud User Guide.
  9903. //
  9904. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9905. // with awserr.Error's Code and Message methods to get detailed information about
  9906. // the error.
  9907. //
  9908. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9909. // API operation DescribeReservedInstancesModifications for usage and error information.
  9910. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  9911. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  9912. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  9913. return out, req.Send()
  9914. }
  9915. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  9916. // the ability to pass a context and additional request options.
  9917. //
  9918. // See DescribeReservedInstancesModifications for details on how to use this API operation.
  9919. //
  9920. // The context must be non-nil and will be used for request cancellation. If
  9921. // the context is nil a panic will occur. In the future the SDK may create
  9922. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9923. // for more information on using Contexts.
  9924. func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  9925. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  9926. req.SetContext(ctx)
  9927. req.ApplyOptions(opts...)
  9928. return out, req.Send()
  9929. }
  9930. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  9931. // calling the "fn" function with the response data for each page. To stop
  9932. // iterating, return false from the fn function.
  9933. //
  9934. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  9935. //
  9936. // Note: This operation can generate multiple requests to a service.
  9937. //
  9938. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  9939. // pageNum := 0
  9940. // err := client.DescribeReservedInstancesModificationsPages(params,
  9941. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  9942. // pageNum++
  9943. // fmt.Println(page)
  9944. // return pageNum <= 3
  9945. // })
  9946. //
  9947. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  9948. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  9949. }
  9950. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  9951. // it takes a Context and allows setting request options on the pages.
  9952. //
  9953. // The context must be non-nil and will be used for request cancellation. If
  9954. // the context is nil a panic will occur. In the future the SDK may create
  9955. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9956. // for more information on using Contexts.
  9957. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  9958. p := request.Pagination{
  9959. NewRequest: func() (*request.Request, error) {
  9960. var inCpy *DescribeReservedInstancesModificationsInput
  9961. if input != nil {
  9962. tmp := *input
  9963. inCpy = &tmp
  9964. }
  9965. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  9966. req.SetContext(ctx)
  9967. req.ApplyOptions(opts...)
  9968. return req, nil
  9969. },
  9970. }
  9971. cont := true
  9972. for p.Next() && cont {
  9973. cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
  9974. }
  9975. return p.Err()
  9976. }
  9977. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  9978. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  9979. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  9980. // value can be used to capture response data after the request's "Send" method
  9981. // is called.
  9982. //
  9983. // See DescribeReservedInstancesOfferings for usage and error information.
  9984. //
  9985. // Creating a request object using this method should be used when you want to inject
  9986. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9987. // access properties on the request object before or after sending the request. If
  9988. // you just want the service response, call the DescribeReservedInstancesOfferings method directly
  9989. // instead.
  9990. //
  9991. // Note: You must call the "Send" method on the returned request object in order
  9992. // to execute the request.
  9993. //
  9994. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  9995. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  9996. //
  9997. // err := req.Send()
  9998. // if err == nil { // resp is now filled
  9999. // fmt.Println(resp)
  10000. // }
  10001. //
  10002. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  10003. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  10004. op := &request.Operation{
  10005. Name: opDescribeReservedInstancesOfferings,
  10006. HTTPMethod: "POST",
  10007. HTTPPath: "/",
  10008. Paginator: &request.Paginator{
  10009. InputTokens: []string{"NextToken"},
  10010. OutputTokens: []string{"NextToken"},
  10011. LimitToken: "MaxResults",
  10012. TruncationToken: "",
  10013. },
  10014. }
  10015. if input == nil {
  10016. input = &DescribeReservedInstancesOfferingsInput{}
  10017. }
  10018. output = &DescribeReservedInstancesOfferingsOutput{}
  10019. req = c.newRequest(op, input, output)
  10020. return
  10021. }
  10022. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  10023. //
  10024. // Describes Reserved Instance offerings that are available for purchase. With
  10025. // Reserved Instances, you purchase the right to launch instances for a period
  10026. // of time. During that time period, you do not receive insufficient capacity
  10027. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  10028. // instances for the actual time used.
  10029. //
  10030. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  10031. // Marketplace, they will be excluded from these results. This is to ensure
  10032. // that you do not purchase your own Reserved Instances.
  10033. //
  10034. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  10035. // in the Amazon Elastic Compute Cloud User Guide.
  10036. //
  10037. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10038. // with awserr.Error's Code and Message methods to get detailed information about
  10039. // the error.
  10040. //
  10041. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10042. // API operation DescribeReservedInstancesOfferings for usage and error information.
  10043. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  10044. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  10045. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  10046. return out, req.Send()
  10047. }
  10048. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  10049. // the ability to pass a context and additional request options.
  10050. //
  10051. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  10052. //
  10053. // The context must be non-nil and will be used for request cancellation. If
  10054. // the context is nil a panic will occur. In the future the SDK may create
  10055. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10056. // for more information on using Contexts.
  10057. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  10058. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  10059. req.SetContext(ctx)
  10060. req.ApplyOptions(opts...)
  10061. return out, req.Send()
  10062. }
  10063. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  10064. // calling the "fn" function with the response data for each page. To stop
  10065. // iterating, return false from the fn function.
  10066. //
  10067. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  10068. //
  10069. // Note: This operation can generate multiple requests to a service.
  10070. //
  10071. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  10072. // pageNum := 0
  10073. // err := client.DescribeReservedInstancesOfferingsPages(params,
  10074. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  10075. // pageNum++
  10076. // fmt.Println(page)
  10077. // return pageNum <= 3
  10078. // })
  10079. //
  10080. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  10081. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  10082. }
  10083. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  10084. // it takes a Context and allows setting request options on the pages.
  10085. //
  10086. // The context must be non-nil and will be used for request cancellation. If
  10087. // the context is nil a panic will occur. In the future the SDK may create
  10088. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10089. // for more information on using Contexts.
  10090. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  10091. p := request.Pagination{
  10092. NewRequest: func() (*request.Request, error) {
  10093. var inCpy *DescribeReservedInstancesOfferingsInput
  10094. if input != nil {
  10095. tmp := *input
  10096. inCpy = &tmp
  10097. }
  10098. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  10099. req.SetContext(ctx)
  10100. req.ApplyOptions(opts...)
  10101. return req, nil
  10102. },
  10103. }
  10104. cont := true
  10105. for p.Next() && cont {
  10106. cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
  10107. }
  10108. return p.Err()
  10109. }
  10110. const opDescribeRouteTables = "DescribeRouteTables"
  10111. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  10112. // client's request for the DescribeRouteTables operation. The "output" return
  10113. // value can be used to capture response data after the request's "Send" method
  10114. // is called.
  10115. //
  10116. // See DescribeRouteTables for usage and error information.
  10117. //
  10118. // Creating a request object using this method should be used when you want to inject
  10119. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10120. // access properties on the request object before or after sending the request. If
  10121. // you just want the service response, call the DescribeRouteTables method directly
  10122. // instead.
  10123. //
  10124. // Note: You must call the "Send" method on the returned request object in order
  10125. // to execute the request.
  10126. //
  10127. // // Example sending a request using the DescribeRouteTablesRequest method.
  10128. // req, resp := client.DescribeRouteTablesRequest(params)
  10129. //
  10130. // err := req.Send()
  10131. // if err == nil { // resp is now filled
  10132. // fmt.Println(resp)
  10133. // }
  10134. //
  10135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  10136. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  10137. op := &request.Operation{
  10138. Name: opDescribeRouteTables,
  10139. HTTPMethod: "POST",
  10140. HTTPPath: "/",
  10141. }
  10142. if input == nil {
  10143. input = &DescribeRouteTablesInput{}
  10144. }
  10145. output = &DescribeRouteTablesOutput{}
  10146. req = c.newRequest(op, input, output)
  10147. return
  10148. }
  10149. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  10150. //
  10151. // Describes one or more of your route tables.
  10152. //
  10153. // Each subnet in your VPC must be associated with a route table. If a subnet
  10154. // is not explicitly associated with any route table, it is implicitly associated
  10155. // with the main route table. This command does not return the subnet ID for
  10156. // implicit associations.
  10157. //
  10158. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  10159. // in the Amazon Virtual Private Cloud User Guide.
  10160. //
  10161. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10162. // with awserr.Error's Code and Message methods to get detailed information about
  10163. // the error.
  10164. //
  10165. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10166. // API operation DescribeRouteTables for usage and error information.
  10167. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  10168. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  10169. req, out := c.DescribeRouteTablesRequest(input)
  10170. return out, req.Send()
  10171. }
  10172. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  10173. // the ability to pass a context and additional request options.
  10174. //
  10175. // See DescribeRouteTables for details on how to use this API operation.
  10176. //
  10177. // The context must be non-nil and will be used for request cancellation. If
  10178. // the context is nil a panic will occur. In the future the SDK may create
  10179. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10180. // for more information on using Contexts.
  10181. func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  10182. req, out := c.DescribeRouteTablesRequest(input)
  10183. req.SetContext(ctx)
  10184. req.ApplyOptions(opts...)
  10185. return out, req.Send()
  10186. }
  10187. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  10188. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  10189. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  10190. // value can be used to capture response data after the request's "Send" method
  10191. // is called.
  10192. //
  10193. // See DescribeScheduledInstanceAvailability for usage and error information.
  10194. //
  10195. // Creating a request object using this method should be used when you want to inject
  10196. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10197. // access properties on the request object before or after sending the request. If
  10198. // you just want the service response, call the DescribeScheduledInstanceAvailability method directly
  10199. // instead.
  10200. //
  10201. // Note: You must call the "Send" method on the returned request object in order
  10202. // to execute the request.
  10203. //
  10204. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  10205. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  10206. //
  10207. // err := req.Send()
  10208. // if err == nil { // resp is now filled
  10209. // fmt.Println(resp)
  10210. // }
  10211. //
  10212. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  10213. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  10214. op := &request.Operation{
  10215. Name: opDescribeScheduledInstanceAvailability,
  10216. HTTPMethod: "POST",
  10217. HTTPPath: "/",
  10218. }
  10219. if input == nil {
  10220. input = &DescribeScheduledInstanceAvailabilityInput{}
  10221. }
  10222. output = &DescribeScheduledInstanceAvailabilityOutput{}
  10223. req = c.newRequest(op, input, output)
  10224. return
  10225. }
  10226. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  10227. //
  10228. // Finds available schedules that meet the specified criteria.
  10229. //
  10230. // You can search for an available schedule no more than 3 months in advance.
  10231. // You must meet the minimum required duration of 1,200 hours per year. For
  10232. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  10233. // is 24 hours, and the minimum monthly schedule is 100 hours.
  10234. //
  10235. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  10236. // to purchase Scheduled Instances with that schedule.
  10237. //
  10238. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10239. // with awserr.Error's Code and Message methods to get detailed information about
  10240. // the error.
  10241. //
  10242. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10243. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  10244. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  10245. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  10246. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  10247. return out, req.Send()
  10248. }
  10249. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  10250. // the ability to pass a context and additional request options.
  10251. //
  10252. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  10253. //
  10254. // The context must be non-nil and will be used for request cancellation. If
  10255. // the context is nil a panic will occur. In the future the SDK may create
  10256. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10257. // for more information on using Contexts.
  10258. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  10259. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  10260. req.SetContext(ctx)
  10261. req.ApplyOptions(opts...)
  10262. return out, req.Send()
  10263. }
  10264. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  10265. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  10266. // client's request for the DescribeScheduledInstances operation. The "output" return
  10267. // value can be used to capture response data after the request's "Send" method
  10268. // is called.
  10269. //
  10270. // See DescribeScheduledInstances for usage and error information.
  10271. //
  10272. // Creating a request object using this method should be used when you want to inject
  10273. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10274. // access properties on the request object before or after sending the request. If
  10275. // you just want the service response, call the DescribeScheduledInstances method directly
  10276. // instead.
  10277. //
  10278. // Note: You must call the "Send" method on the returned request object in order
  10279. // to execute the request.
  10280. //
  10281. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  10282. // req, resp := client.DescribeScheduledInstancesRequest(params)
  10283. //
  10284. // err := req.Send()
  10285. // if err == nil { // resp is now filled
  10286. // fmt.Println(resp)
  10287. // }
  10288. //
  10289. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  10290. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  10291. op := &request.Operation{
  10292. Name: opDescribeScheduledInstances,
  10293. HTTPMethod: "POST",
  10294. HTTPPath: "/",
  10295. }
  10296. if input == nil {
  10297. input = &DescribeScheduledInstancesInput{}
  10298. }
  10299. output = &DescribeScheduledInstancesOutput{}
  10300. req = c.newRequest(op, input, output)
  10301. return
  10302. }
  10303. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  10304. //
  10305. // Describes one or more of your Scheduled Instances.
  10306. //
  10307. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10308. // with awserr.Error's Code and Message methods to get detailed information about
  10309. // the error.
  10310. //
  10311. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10312. // API operation DescribeScheduledInstances for usage and error information.
  10313. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  10314. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  10315. req, out := c.DescribeScheduledInstancesRequest(input)
  10316. return out, req.Send()
  10317. }
  10318. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  10319. // the ability to pass a context and additional request options.
  10320. //
  10321. // See DescribeScheduledInstances for details on how to use this API operation.
  10322. //
  10323. // The context must be non-nil and will be used for request cancellation. If
  10324. // the context is nil a panic will occur. In the future the SDK may create
  10325. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10326. // for more information on using Contexts.
  10327. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  10328. req, out := c.DescribeScheduledInstancesRequest(input)
  10329. req.SetContext(ctx)
  10330. req.ApplyOptions(opts...)
  10331. return out, req.Send()
  10332. }
  10333. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  10334. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  10335. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  10336. // value can be used to capture response data after the request's "Send" method
  10337. // is called.
  10338. //
  10339. // See DescribeSecurityGroupReferences for usage and error information.
  10340. //
  10341. // Creating a request object using this method should be used when you want to inject
  10342. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10343. // access properties on the request object before or after sending the request. If
  10344. // you just want the service response, call the DescribeSecurityGroupReferences method directly
  10345. // instead.
  10346. //
  10347. // Note: You must call the "Send" method on the returned request object in order
  10348. // to execute the request.
  10349. //
  10350. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  10351. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  10352. //
  10353. // err := req.Send()
  10354. // if err == nil { // resp is now filled
  10355. // fmt.Println(resp)
  10356. // }
  10357. //
  10358. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  10359. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  10360. op := &request.Operation{
  10361. Name: opDescribeSecurityGroupReferences,
  10362. HTTPMethod: "POST",
  10363. HTTPPath: "/",
  10364. }
  10365. if input == nil {
  10366. input = &DescribeSecurityGroupReferencesInput{}
  10367. }
  10368. output = &DescribeSecurityGroupReferencesOutput{}
  10369. req = c.newRequest(op, input, output)
  10370. return
  10371. }
  10372. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  10373. //
  10374. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  10375. // that are referencing the security groups you've specified in this request.
  10376. //
  10377. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10378. // with awserr.Error's Code and Message methods to get detailed information about
  10379. // the error.
  10380. //
  10381. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10382. // API operation DescribeSecurityGroupReferences for usage and error information.
  10383. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  10384. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  10385. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  10386. return out, req.Send()
  10387. }
  10388. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  10389. // the ability to pass a context and additional request options.
  10390. //
  10391. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  10392. //
  10393. // The context must be non-nil and will be used for request cancellation. If
  10394. // the context is nil a panic will occur. In the future the SDK may create
  10395. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10396. // for more information on using Contexts.
  10397. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  10398. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  10399. req.SetContext(ctx)
  10400. req.ApplyOptions(opts...)
  10401. return out, req.Send()
  10402. }
  10403. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  10404. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  10405. // client's request for the DescribeSecurityGroups operation. The "output" return
  10406. // value can be used to capture response data after the request's "Send" method
  10407. // is called.
  10408. //
  10409. // See DescribeSecurityGroups for usage and error information.
  10410. //
  10411. // Creating a request object using this method should be used when you want to inject
  10412. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10413. // access properties on the request object before or after sending the request. If
  10414. // you just want the service response, call the DescribeSecurityGroups method directly
  10415. // instead.
  10416. //
  10417. // Note: You must call the "Send" method on the returned request object in order
  10418. // to execute the request.
  10419. //
  10420. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  10421. // req, resp := client.DescribeSecurityGroupsRequest(params)
  10422. //
  10423. // err := req.Send()
  10424. // if err == nil { // resp is now filled
  10425. // fmt.Println(resp)
  10426. // }
  10427. //
  10428. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  10429. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  10430. op := &request.Operation{
  10431. Name: opDescribeSecurityGroups,
  10432. HTTPMethod: "POST",
  10433. HTTPPath: "/",
  10434. }
  10435. if input == nil {
  10436. input = &DescribeSecurityGroupsInput{}
  10437. }
  10438. output = &DescribeSecurityGroupsOutput{}
  10439. req = c.newRequest(op, input, output)
  10440. return
  10441. }
  10442. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  10443. //
  10444. // Describes one or more of your security groups.
  10445. //
  10446. // A security group is for use with instances either in the EC2-Classic platform
  10447. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  10448. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  10449. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  10450. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  10451. // in the Amazon Virtual Private Cloud User Guide.
  10452. //
  10453. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10454. // with awserr.Error's Code and Message methods to get detailed information about
  10455. // the error.
  10456. //
  10457. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10458. // API operation DescribeSecurityGroups for usage and error information.
  10459. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  10460. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  10461. req, out := c.DescribeSecurityGroupsRequest(input)
  10462. return out, req.Send()
  10463. }
  10464. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  10465. // the ability to pass a context and additional request options.
  10466. //
  10467. // See DescribeSecurityGroups for details on how to use this API operation.
  10468. //
  10469. // The context must be non-nil and will be used for request cancellation. If
  10470. // the context is nil a panic will occur. In the future the SDK may create
  10471. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10472. // for more information on using Contexts.
  10473. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  10474. req, out := c.DescribeSecurityGroupsRequest(input)
  10475. req.SetContext(ctx)
  10476. req.ApplyOptions(opts...)
  10477. return out, req.Send()
  10478. }
  10479. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  10480. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  10481. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  10482. // value can be used to capture response data after the request's "Send" method
  10483. // is called.
  10484. //
  10485. // See DescribeSnapshotAttribute for usage and error information.
  10486. //
  10487. // Creating a request object using this method should be used when you want to inject
  10488. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10489. // access properties on the request object before or after sending the request. If
  10490. // you just want the service response, call the DescribeSnapshotAttribute method directly
  10491. // instead.
  10492. //
  10493. // Note: You must call the "Send" method on the returned request object in order
  10494. // to execute the request.
  10495. //
  10496. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  10497. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  10498. //
  10499. // err := req.Send()
  10500. // if err == nil { // resp is now filled
  10501. // fmt.Println(resp)
  10502. // }
  10503. //
  10504. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  10505. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  10506. op := &request.Operation{
  10507. Name: opDescribeSnapshotAttribute,
  10508. HTTPMethod: "POST",
  10509. HTTPPath: "/",
  10510. }
  10511. if input == nil {
  10512. input = &DescribeSnapshotAttributeInput{}
  10513. }
  10514. output = &DescribeSnapshotAttributeOutput{}
  10515. req = c.newRequest(op, input, output)
  10516. return
  10517. }
  10518. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  10519. //
  10520. // Describes the specified attribute of the specified snapshot. You can specify
  10521. // only one attribute at a time.
  10522. //
  10523. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  10524. // in the Amazon Elastic Compute Cloud User Guide.
  10525. //
  10526. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10527. // with awserr.Error's Code and Message methods to get detailed information about
  10528. // the error.
  10529. //
  10530. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10531. // API operation DescribeSnapshotAttribute for usage and error information.
  10532. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  10533. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  10534. req, out := c.DescribeSnapshotAttributeRequest(input)
  10535. return out, req.Send()
  10536. }
  10537. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  10538. // the ability to pass a context and additional request options.
  10539. //
  10540. // See DescribeSnapshotAttribute for details on how to use this API operation.
  10541. //
  10542. // The context must be non-nil and will be used for request cancellation. If
  10543. // the context is nil a panic will occur. In the future the SDK may create
  10544. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10545. // for more information on using Contexts.
  10546. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  10547. req, out := c.DescribeSnapshotAttributeRequest(input)
  10548. req.SetContext(ctx)
  10549. req.ApplyOptions(opts...)
  10550. return out, req.Send()
  10551. }
  10552. const opDescribeSnapshots = "DescribeSnapshots"
  10553. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  10554. // client's request for the DescribeSnapshots operation. The "output" return
  10555. // value can be used to capture response data after the request's "Send" method
  10556. // is called.
  10557. //
  10558. // See DescribeSnapshots for usage and error information.
  10559. //
  10560. // Creating a request object using this method should be used when you want to inject
  10561. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10562. // access properties on the request object before or after sending the request. If
  10563. // you just want the service response, call the DescribeSnapshots method directly
  10564. // instead.
  10565. //
  10566. // Note: You must call the "Send" method on the returned request object in order
  10567. // to execute the request.
  10568. //
  10569. // // Example sending a request using the DescribeSnapshotsRequest method.
  10570. // req, resp := client.DescribeSnapshotsRequest(params)
  10571. //
  10572. // err := req.Send()
  10573. // if err == nil { // resp is now filled
  10574. // fmt.Println(resp)
  10575. // }
  10576. //
  10577. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  10578. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  10579. op := &request.Operation{
  10580. Name: opDescribeSnapshots,
  10581. HTTPMethod: "POST",
  10582. HTTPPath: "/",
  10583. Paginator: &request.Paginator{
  10584. InputTokens: []string{"NextToken"},
  10585. OutputTokens: []string{"NextToken"},
  10586. LimitToken: "MaxResults",
  10587. TruncationToken: "",
  10588. },
  10589. }
  10590. if input == nil {
  10591. input = &DescribeSnapshotsInput{}
  10592. }
  10593. output = &DescribeSnapshotsOutput{}
  10594. req = c.newRequest(op, input, output)
  10595. return
  10596. }
  10597. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  10598. //
  10599. // Describes one or more of the EBS snapshots available to you. Available snapshots
  10600. // include public snapshots available for any AWS account to launch, private
  10601. // snapshots that you own, and private snapshots owned by another AWS account
  10602. // but for which you've been given explicit create volume permissions.
  10603. //
  10604. // The create volume permissions fall into the following categories:
  10605. //
  10606. // * public: The owner of the snapshot granted create volume permissions
  10607. // for the snapshot to the all group. All AWS accounts have create volume
  10608. // permissions for these snapshots.
  10609. //
  10610. // * explicit: The owner of the snapshot granted create volume permissions
  10611. // to a specific AWS account.
  10612. //
  10613. // * implicit: An AWS account has implicit create volume permissions for
  10614. // all snapshots it owns.
  10615. //
  10616. // The list of snapshots returned can be modified by specifying snapshot IDs,
  10617. // snapshot owners, or AWS accounts with create volume permissions. If no options
  10618. // are specified, Amazon EC2 returns all snapshots for which you have create
  10619. // volume permissions.
  10620. //
  10621. // If you specify one or more snapshot IDs, only snapshots that have the specified
  10622. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  10623. // If you specify a snapshot ID for which you do not have access, it is not
  10624. // included in the returned results.
  10625. //
  10626. // If you specify one or more snapshot owners using the OwnerIds option, only
  10627. // snapshots from the specified owners and for which you have access are returned.
  10628. // The results can include the AWS account IDs of the specified owners, amazon
  10629. // for snapshots owned by Amazon, or self for snapshots that you own.
  10630. //
  10631. // If you specify a list of restorable users, only snapshots with create snapshot
  10632. // permissions for those users are returned. You can specify AWS account IDs
  10633. // (if you own the snapshots), self for snapshots for which you own or have
  10634. // explicit permissions, or all for public snapshots.
  10635. //
  10636. // If you are describing a long list of snapshots, you can paginate the output
  10637. // to make the list more manageable. The MaxResults parameter sets the maximum
  10638. // number of results returned in a single page. If the list of results exceeds
  10639. // your MaxResults value, then that number of results is returned along with
  10640. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  10641. // to retrieve the remaining results.
  10642. //
  10643. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  10644. // in the Amazon Elastic Compute Cloud User Guide.
  10645. //
  10646. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10647. // with awserr.Error's Code and Message methods to get detailed information about
  10648. // the error.
  10649. //
  10650. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10651. // API operation DescribeSnapshots for usage and error information.
  10652. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  10653. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  10654. req, out := c.DescribeSnapshotsRequest(input)
  10655. return out, req.Send()
  10656. }
  10657. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  10658. // the ability to pass a context and additional request options.
  10659. //
  10660. // See DescribeSnapshots for details on how to use this API operation.
  10661. //
  10662. // The context must be non-nil and will be used for request cancellation. If
  10663. // the context is nil a panic will occur. In the future the SDK may create
  10664. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10665. // for more information on using Contexts.
  10666. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  10667. req, out := c.DescribeSnapshotsRequest(input)
  10668. req.SetContext(ctx)
  10669. req.ApplyOptions(opts...)
  10670. return out, req.Send()
  10671. }
  10672. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  10673. // calling the "fn" function with the response data for each page. To stop
  10674. // iterating, return false from the fn function.
  10675. //
  10676. // See DescribeSnapshots method for more information on how to use this operation.
  10677. //
  10678. // Note: This operation can generate multiple requests to a service.
  10679. //
  10680. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  10681. // pageNum := 0
  10682. // err := client.DescribeSnapshotsPages(params,
  10683. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  10684. // pageNum++
  10685. // fmt.Println(page)
  10686. // return pageNum <= 3
  10687. // })
  10688. //
  10689. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  10690. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  10691. }
  10692. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  10693. // it takes a Context and allows setting request options on the pages.
  10694. //
  10695. // The context must be non-nil and will be used for request cancellation. If
  10696. // the context is nil a panic will occur. In the future the SDK may create
  10697. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10698. // for more information on using Contexts.
  10699. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  10700. p := request.Pagination{
  10701. NewRequest: func() (*request.Request, error) {
  10702. var inCpy *DescribeSnapshotsInput
  10703. if input != nil {
  10704. tmp := *input
  10705. inCpy = &tmp
  10706. }
  10707. req, _ := c.DescribeSnapshotsRequest(inCpy)
  10708. req.SetContext(ctx)
  10709. req.ApplyOptions(opts...)
  10710. return req, nil
  10711. },
  10712. }
  10713. cont := true
  10714. for p.Next() && cont {
  10715. cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
  10716. }
  10717. return p.Err()
  10718. }
  10719. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  10720. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  10721. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  10722. // value can be used to capture response data after the request's "Send" method
  10723. // is called.
  10724. //
  10725. // See DescribeSpotDatafeedSubscription for usage and error information.
  10726. //
  10727. // Creating a request object using this method should be used when you want to inject
  10728. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10729. // access properties on the request object before or after sending the request. If
  10730. // you just want the service response, call the DescribeSpotDatafeedSubscription method directly
  10731. // instead.
  10732. //
  10733. // Note: You must call the "Send" method on the returned request object in order
  10734. // to execute the request.
  10735. //
  10736. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  10737. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  10738. //
  10739. // err := req.Send()
  10740. // if err == nil { // resp is now filled
  10741. // fmt.Println(resp)
  10742. // }
  10743. //
  10744. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  10745. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  10746. op := &request.Operation{
  10747. Name: opDescribeSpotDatafeedSubscription,
  10748. HTTPMethod: "POST",
  10749. HTTPPath: "/",
  10750. }
  10751. if input == nil {
  10752. input = &DescribeSpotDatafeedSubscriptionInput{}
  10753. }
  10754. output = &DescribeSpotDatafeedSubscriptionOutput{}
  10755. req = c.newRequest(op, input, output)
  10756. return
  10757. }
  10758. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  10759. //
  10760. // Describes the data feed for Spot instances. For more information, see Spot
  10761. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  10762. // in the Amazon Elastic Compute Cloud User Guide.
  10763. //
  10764. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10765. // with awserr.Error's Code and Message methods to get detailed information about
  10766. // the error.
  10767. //
  10768. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10769. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  10770. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  10771. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  10772. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  10773. return out, req.Send()
  10774. }
  10775. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  10776. // the ability to pass a context and additional request options.
  10777. //
  10778. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  10779. //
  10780. // The context must be non-nil and will be used for request cancellation. If
  10781. // the context is nil a panic will occur. In the future the SDK may create
  10782. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10783. // for more information on using Contexts.
  10784. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  10785. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  10786. req.SetContext(ctx)
  10787. req.ApplyOptions(opts...)
  10788. return out, req.Send()
  10789. }
  10790. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  10791. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  10792. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  10793. // value can be used to capture response data after the request's "Send" method
  10794. // is called.
  10795. //
  10796. // See DescribeSpotFleetInstances for usage and error information.
  10797. //
  10798. // Creating a request object using this method should be used when you want to inject
  10799. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10800. // access properties on the request object before or after sending the request. If
  10801. // you just want the service response, call the DescribeSpotFleetInstances method directly
  10802. // instead.
  10803. //
  10804. // Note: You must call the "Send" method on the returned request object in order
  10805. // to execute the request.
  10806. //
  10807. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  10808. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  10809. //
  10810. // err := req.Send()
  10811. // if err == nil { // resp is now filled
  10812. // fmt.Println(resp)
  10813. // }
  10814. //
  10815. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  10816. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  10817. op := &request.Operation{
  10818. Name: opDescribeSpotFleetInstances,
  10819. HTTPMethod: "POST",
  10820. HTTPPath: "/",
  10821. }
  10822. if input == nil {
  10823. input = &DescribeSpotFleetInstancesInput{}
  10824. }
  10825. output = &DescribeSpotFleetInstancesOutput{}
  10826. req = c.newRequest(op, input, output)
  10827. return
  10828. }
  10829. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  10830. //
  10831. // Describes the running instances for the specified Spot fleet.
  10832. //
  10833. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10834. // with awserr.Error's Code and Message methods to get detailed information about
  10835. // the error.
  10836. //
  10837. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10838. // API operation DescribeSpotFleetInstances for usage and error information.
  10839. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  10840. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  10841. req, out := c.DescribeSpotFleetInstancesRequest(input)
  10842. return out, req.Send()
  10843. }
  10844. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  10845. // the ability to pass a context and additional request options.
  10846. //
  10847. // See DescribeSpotFleetInstances for details on how to use this API operation.
  10848. //
  10849. // The context must be non-nil and will be used for request cancellation. If
  10850. // the context is nil a panic will occur. In the future the SDK may create
  10851. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10852. // for more information on using Contexts.
  10853. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  10854. req, out := c.DescribeSpotFleetInstancesRequest(input)
  10855. req.SetContext(ctx)
  10856. req.ApplyOptions(opts...)
  10857. return out, req.Send()
  10858. }
  10859. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  10860. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  10861. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  10862. // value can be used to capture response data after the request's "Send" method
  10863. // is called.
  10864. //
  10865. // See DescribeSpotFleetRequestHistory for usage and error information.
  10866. //
  10867. // Creating a request object using this method should be used when you want to inject
  10868. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10869. // access properties on the request object before or after sending the request. If
  10870. // you just want the service response, call the DescribeSpotFleetRequestHistory method directly
  10871. // instead.
  10872. //
  10873. // Note: You must call the "Send" method on the returned request object in order
  10874. // to execute the request.
  10875. //
  10876. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  10877. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  10878. //
  10879. // err := req.Send()
  10880. // if err == nil { // resp is now filled
  10881. // fmt.Println(resp)
  10882. // }
  10883. //
  10884. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  10885. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  10886. op := &request.Operation{
  10887. Name: opDescribeSpotFleetRequestHistory,
  10888. HTTPMethod: "POST",
  10889. HTTPPath: "/",
  10890. }
  10891. if input == nil {
  10892. input = &DescribeSpotFleetRequestHistoryInput{}
  10893. }
  10894. output = &DescribeSpotFleetRequestHistoryOutput{}
  10895. req = c.newRequest(op, input, output)
  10896. return
  10897. }
  10898. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  10899. //
  10900. // Describes the events for the specified Spot fleet request during the specified
  10901. // time.
  10902. //
  10903. // Spot fleet events are delayed by up to 30 seconds before they can be described.
  10904. // This ensures that you can query by the last evaluated time and not miss a
  10905. // recorded event.
  10906. //
  10907. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10908. // with awserr.Error's Code and Message methods to get detailed information about
  10909. // the error.
  10910. //
  10911. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10912. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  10913. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  10914. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  10915. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  10916. return out, req.Send()
  10917. }
  10918. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  10919. // the ability to pass a context and additional request options.
  10920. //
  10921. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  10922. //
  10923. // The context must be non-nil and will be used for request cancellation. If
  10924. // the context is nil a panic will occur. In the future the SDK may create
  10925. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10926. // for more information on using Contexts.
  10927. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  10928. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  10929. req.SetContext(ctx)
  10930. req.ApplyOptions(opts...)
  10931. return out, req.Send()
  10932. }
  10933. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  10934. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  10935. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  10936. // value can be used to capture response data after the request's "Send" method
  10937. // is called.
  10938. //
  10939. // See DescribeSpotFleetRequests for usage and error information.
  10940. //
  10941. // Creating a request object using this method should be used when you want to inject
  10942. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10943. // access properties on the request object before or after sending the request. If
  10944. // you just want the service response, call the DescribeSpotFleetRequests method directly
  10945. // instead.
  10946. //
  10947. // Note: You must call the "Send" method on the returned request object in order
  10948. // to execute the request.
  10949. //
  10950. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  10951. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  10952. //
  10953. // err := req.Send()
  10954. // if err == nil { // resp is now filled
  10955. // fmt.Println(resp)
  10956. // }
  10957. //
  10958. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  10959. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  10960. op := &request.Operation{
  10961. Name: opDescribeSpotFleetRequests,
  10962. HTTPMethod: "POST",
  10963. HTTPPath: "/",
  10964. Paginator: &request.Paginator{
  10965. InputTokens: []string{"NextToken"},
  10966. OutputTokens: []string{"NextToken"},
  10967. LimitToken: "MaxResults",
  10968. TruncationToken: "",
  10969. },
  10970. }
  10971. if input == nil {
  10972. input = &DescribeSpotFleetRequestsInput{}
  10973. }
  10974. output = &DescribeSpotFleetRequestsOutput{}
  10975. req = c.newRequest(op, input, output)
  10976. return
  10977. }
  10978. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  10979. //
  10980. // Describes your Spot fleet requests.
  10981. //
  10982. // Spot fleet requests are deleted 48 hours after they are canceled and their
  10983. // instances are terminated.
  10984. //
  10985. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10986. // with awserr.Error's Code and Message methods to get detailed information about
  10987. // the error.
  10988. //
  10989. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10990. // API operation DescribeSpotFleetRequests for usage and error information.
  10991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  10992. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  10993. req, out := c.DescribeSpotFleetRequestsRequest(input)
  10994. return out, req.Send()
  10995. }
  10996. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  10997. // the ability to pass a context and additional request options.
  10998. //
  10999. // See DescribeSpotFleetRequests for details on how to use this API operation.
  11000. //
  11001. // The context must be non-nil and will be used for request cancellation. If
  11002. // the context is nil a panic will occur. In the future the SDK may create
  11003. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11004. // for more information on using Contexts.
  11005. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  11006. req, out := c.DescribeSpotFleetRequestsRequest(input)
  11007. req.SetContext(ctx)
  11008. req.ApplyOptions(opts...)
  11009. return out, req.Send()
  11010. }
  11011. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  11012. // calling the "fn" function with the response data for each page. To stop
  11013. // iterating, return false from the fn function.
  11014. //
  11015. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  11016. //
  11017. // Note: This operation can generate multiple requests to a service.
  11018. //
  11019. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  11020. // pageNum := 0
  11021. // err := client.DescribeSpotFleetRequestsPages(params,
  11022. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  11023. // pageNum++
  11024. // fmt.Println(page)
  11025. // return pageNum <= 3
  11026. // })
  11027. //
  11028. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  11029. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  11030. }
  11031. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  11032. // it takes a Context and allows setting request options on the pages.
  11033. //
  11034. // The context must be non-nil and will be used for request cancellation. If
  11035. // the context is nil a panic will occur. In the future the SDK may create
  11036. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11037. // for more information on using Contexts.
  11038. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  11039. p := request.Pagination{
  11040. NewRequest: func() (*request.Request, error) {
  11041. var inCpy *DescribeSpotFleetRequestsInput
  11042. if input != nil {
  11043. tmp := *input
  11044. inCpy = &tmp
  11045. }
  11046. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  11047. req.SetContext(ctx)
  11048. req.ApplyOptions(opts...)
  11049. return req, nil
  11050. },
  11051. }
  11052. cont := true
  11053. for p.Next() && cont {
  11054. cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
  11055. }
  11056. return p.Err()
  11057. }
  11058. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  11059. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  11060. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  11061. // value can be used to capture response data after the request's "Send" method
  11062. // is called.
  11063. //
  11064. // See DescribeSpotInstanceRequests for usage and error information.
  11065. //
  11066. // Creating a request object using this method should be used when you want to inject
  11067. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11068. // access properties on the request object before or after sending the request. If
  11069. // you just want the service response, call the DescribeSpotInstanceRequests method directly
  11070. // instead.
  11071. //
  11072. // Note: You must call the "Send" method on the returned request object in order
  11073. // to execute the request.
  11074. //
  11075. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  11076. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  11077. //
  11078. // err := req.Send()
  11079. // if err == nil { // resp is now filled
  11080. // fmt.Println(resp)
  11081. // }
  11082. //
  11083. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  11084. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  11085. op := &request.Operation{
  11086. Name: opDescribeSpotInstanceRequests,
  11087. HTTPMethod: "POST",
  11088. HTTPPath: "/",
  11089. }
  11090. if input == nil {
  11091. input = &DescribeSpotInstanceRequestsInput{}
  11092. }
  11093. output = &DescribeSpotInstanceRequestsOutput{}
  11094. req = c.newRequest(op, input, output)
  11095. return
  11096. }
  11097. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  11098. //
  11099. // Describes the Spot instance requests that belong to your account. Spot instances
  11100. // are instances that Amazon EC2 launches when the bid price that you specify
  11101. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  11102. // based on available Spot instance capacity and current Spot instance requests.
  11103. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  11104. // in the Amazon Elastic Compute Cloud User Guide.
  11105. //
  11106. // You can use DescribeSpotInstanceRequests to find a running Spot instance
  11107. // by examining the response. If the status of the Spot instance is fulfilled,
  11108. // the instance ID appears in the response and contains the identifier of the
  11109. // instance. Alternatively, you can use DescribeInstances with a filter to look
  11110. // for instances where the instance lifecycle is spot.
  11111. //
  11112. // Spot instance requests are deleted 4 hours after they are canceled and their
  11113. // instances are terminated.
  11114. //
  11115. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11116. // with awserr.Error's Code and Message methods to get detailed information about
  11117. // the error.
  11118. //
  11119. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11120. // API operation DescribeSpotInstanceRequests for usage and error information.
  11121. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  11122. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  11123. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  11124. return out, req.Send()
  11125. }
  11126. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  11127. // the ability to pass a context and additional request options.
  11128. //
  11129. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  11130. //
  11131. // The context must be non-nil and will be used for request cancellation. If
  11132. // the context is nil a panic will occur. In the future the SDK may create
  11133. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11134. // for more information on using Contexts.
  11135. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  11136. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  11137. req.SetContext(ctx)
  11138. req.ApplyOptions(opts...)
  11139. return out, req.Send()
  11140. }
  11141. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  11142. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  11143. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  11144. // value can be used to capture response data after the request's "Send" method
  11145. // is called.
  11146. //
  11147. // See DescribeSpotPriceHistory for usage and error information.
  11148. //
  11149. // Creating a request object using this method should be used when you want to inject
  11150. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11151. // access properties on the request object before or after sending the request. If
  11152. // you just want the service response, call the DescribeSpotPriceHistory method directly
  11153. // instead.
  11154. //
  11155. // Note: You must call the "Send" method on the returned request object in order
  11156. // to execute the request.
  11157. //
  11158. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  11159. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  11160. //
  11161. // err := req.Send()
  11162. // if err == nil { // resp is now filled
  11163. // fmt.Println(resp)
  11164. // }
  11165. //
  11166. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  11167. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  11168. op := &request.Operation{
  11169. Name: opDescribeSpotPriceHistory,
  11170. HTTPMethod: "POST",
  11171. HTTPPath: "/",
  11172. Paginator: &request.Paginator{
  11173. InputTokens: []string{"NextToken"},
  11174. OutputTokens: []string{"NextToken"},
  11175. LimitToken: "MaxResults",
  11176. TruncationToken: "",
  11177. },
  11178. }
  11179. if input == nil {
  11180. input = &DescribeSpotPriceHistoryInput{}
  11181. }
  11182. output = &DescribeSpotPriceHistoryOutput{}
  11183. req = c.newRequest(op, input, output)
  11184. return
  11185. }
  11186. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  11187. //
  11188. // Describes the Spot price history. For more information, see Spot Instance
  11189. // Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  11190. // in the Amazon Elastic Compute Cloud User Guide.
  11191. //
  11192. // When you specify a start and end time, this operation returns the prices
  11193. // of the instance types within the time range that you specified and the time
  11194. // when the price changed. The price is valid within the time period that you
  11195. // specified; the response merely indicates the last time that the price changed.
  11196. //
  11197. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11198. // with awserr.Error's Code and Message methods to get detailed information about
  11199. // the error.
  11200. //
  11201. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11202. // API operation DescribeSpotPriceHistory for usage and error information.
  11203. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  11204. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  11205. req, out := c.DescribeSpotPriceHistoryRequest(input)
  11206. return out, req.Send()
  11207. }
  11208. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  11209. // the ability to pass a context and additional request options.
  11210. //
  11211. // See DescribeSpotPriceHistory for details on how to use this API operation.
  11212. //
  11213. // The context must be non-nil and will be used for request cancellation. If
  11214. // the context is nil a panic will occur. In the future the SDK may create
  11215. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11216. // for more information on using Contexts.
  11217. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  11218. req, out := c.DescribeSpotPriceHistoryRequest(input)
  11219. req.SetContext(ctx)
  11220. req.ApplyOptions(opts...)
  11221. return out, req.Send()
  11222. }
  11223. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  11224. // calling the "fn" function with the response data for each page. To stop
  11225. // iterating, return false from the fn function.
  11226. //
  11227. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  11228. //
  11229. // Note: This operation can generate multiple requests to a service.
  11230. //
  11231. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  11232. // pageNum := 0
  11233. // err := client.DescribeSpotPriceHistoryPages(params,
  11234. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  11235. // pageNum++
  11236. // fmt.Println(page)
  11237. // return pageNum <= 3
  11238. // })
  11239. //
  11240. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  11241. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  11242. }
  11243. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  11244. // it takes a Context and allows setting request options on the pages.
  11245. //
  11246. // The context must be non-nil and will be used for request cancellation. If
  11247. // the context is nil a panic will occur. In the future the SDK may create
  11248. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11249. // for more information on using Contexts.
  11250. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  11251. p := request.Pagination{
  11252. NewRequest: func() (*request.Request, error) {
  11253. var inCpy *DescribeSpotPriceHistoryInput
  11254. if input != nil {
  11255. tmp := *input
  11256. inCpy = &tmp
  11257. }
  11258. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  11259. req.SetContext(ctx)
  11260. req.ApplyOptions(opts...)
  11261. return req, nil
  11262. },
  11263. }
  11264. cont := true
  11265. for p.Next() && cont {
  11266. cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
  11267. }
  11268. return p.Err()
  11269. }
  11270. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  11271. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  11272. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  11273. // value can be used to capture response data after the request's "Send" method
  11274. // is called.
  11275. //
  11276. // See DescribeStaleSecurityGroups for usage and error information.
  11277. //
  11278. // Creating a request object using this method should be used when you want to inject
  11279. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11280. // access properties on the request object before or after sending the request. If
  11281. // you just want the service response, call the DescribeStaleSecurityGroups method directly
  11282. // instead.
  11283. //
  11284. // Note: You must call the "Send" method on the returned request object in order
  11285. // to execute the request.
  11286. //
  11287. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  11288. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  11289. //
  11290. // err := req.Send()
  11291. // if err == nil { // resp is now filled
  11292. // fmt.Println(resp)
  11293. // }
  11294. //
  11295. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  11296. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  11297. op := &request.Operation{
  11298. Name: opDescribeStaleSecurityGroups,
  11299. HTTPMethod: "POST",
  11300. HTTPPath: "/",
  11301. }
  11302. if input == nil {
  11303. input = &DescribeStaleSecurityGroupsInput{}
  11304. }
  11305. output = &DescribeStaleSecurityGroupsOutput{}
  11306. req = c.newRequest(op, input, output)
  11307. return
  11308. }
  11309. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  11310. //
  11311. // [EC2-VPC only] Describes the stale security group rules for security groups
  11312. // in a specified VPC. Rules are stale when they reference a deleted security
  11313. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  11314. // peering connection has been deleted.
  11315. //
  11316. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11317. // with awserr.Error's Code and Message methods to get detailed information about
  11318. // the error.
  11319. //
  11320. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11321. // API operation DescribeStaleSecurityGroups for usage and error information.
  11322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  11323. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  11324. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  11325. return out, req.Send()
  11326. }
  11327. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  11328. // the ability to pass a context and additional request options.
  11329. //
  11330. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  11331. //
  11332. // The context must be non-nil and will be used for request cancellation. If
  11333. // the context is nil a panic will occur. In the future the SDK may create
  11334. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11335. // for more information on using Contexts.
  11336. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  11337. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  11338. req.SetContext(ctx)
  11339. req.ApplyOptions(opts...)
  11340. return out, req.Send()
  11341. }
  11342. const opDescribeSubnets = "DescribeSubnets"
  11343. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  11344. // client's request for the DescribeSubnets operation. The "output" return
  11345. // value can be used to capture response data after the request's "Send" method
  11346. // is called.
  11347. //
  11348. // See DescribeSubnets for usage and error information.
  11349. //
  11350. // Creating a request object using this method should be used when you want to inject
  11351. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11352. // access properties on the request object before or after sending the request. If
  11353. // you just want the service response, call the DescribeSubnets method directly
  11354. // instead.
  11355. //
  11356. // Note: You must call the "Send" method on the returned request object in order
  11357. // to execute the request.
  11358. //
  11359. // // Example sending a request using the DescribeSubnetsRequest method.
  11360. // req, resp := client.DescribeSubnetsRequest(params)
  11361. //
  11362. // err := req.Send()
  11363. // if err == nil { // resp is now filled
  11364. // fmt.Println(resp)
  11365. // }
  11366. //
  11367. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  11368. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  11369. op := &request.Operation{
  11370. Name: opDescribeSubnets,
  11371. HTTPMethod: "POST",
  11372. HTTPPath: "/",
  11373. }
  11374. if input == nil {
  11375. input = &DescribeSubnetsInput{}
  11376. }
  11377. output = &DescribeSubnetsOutput{}
  11378. req = c.newRequest(op, input, output)
  11379. return
  11380. }
  11381. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  11382. //
  11383. // Describes one or more of your subnets.
  11384. //
  11385. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  11386. // in the Amazon Virtual Private Cloud User Guide.
  11387. //
  11388. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11389. // with awserr.Error's Code and Message methods to get detailed information about
  11390. // the error.
  11391. //
  11392. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11393. // API operation DescribeSubnets for usage and error information.
  11394. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  11395. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  11396. req, out := c.DescribeSubnetsRequest(input)
  11397. return out, req.Send()
  11398. }
  11399. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  11400. // the ability to pass a context and additional request options.
  11401. //
  11402. // See DescribeSubnets for details on how to use this API operation.
  11403. //
  11404. // The context must be non-nil and will be used for request cancellation. If
  11405. // the context is nil a panic will occur. In the future the SDK may create
  11406. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11407. // for more information on using Contexts.
  11408. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  11409. req, out := c.DescribeSubnetsRequest(input)
  11410. req.SetContext(ctx)
  11411. req.ApplyOptions(opts...)
  11412. return out, req.Send()
  11413. }
  11414. const opDescribeTags = "DescribeTags"
  11415. // DescribeTagsRequest generates a "aws/request.Request" representing the
  11416. // client's request for the DescribeTags operation. The "output" return
  11417. // value can be used to capture response data after the request's "Send" method
  11418. // is called.
  11419. //
  11420. // See DescribeTags for usage and error information.
  11421. //
  11422. // Creating a request object using this method should be used when you want to inject
  11423. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11424. // access properties on the request object before or after sending the request. If
  11425. // you just want the service response, call the DescribeTags method directly
  11426. // instead.
  11427. //
  11428. // Note: You must call the "Send" method on the returned request object in order
  11429. // to execute the request.
  11430. //
  11431. // // Example sending a request using the DescribeTagsRequest method.
  11432. // req, resp := client.DescribeTagsRequest(params)
  11433. //
  11434. // err := req.Send()
  11435. // if err == nil { // resp is now filled
  11436. // fmt.Println(resp)
  11437. // }
  11438. //
  11439. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  11440. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  11441. op := &request.Operation{
  11442. Name: opDescribeTags,
  11443. HTTPMethod: "POST",
  11444. HTTPPath: "/",
  11445. Paginator: &request.Paginator{
  11446. InputTokens: []string{"NextToken"},
  11447. OutputTokens: []string{"NextToken"},
  11448. LimitToken: "MaxResults",
  11449. TruncationToken: "",
  11450. },
  11451. }
  11452. if input == nil {
  11453. input = &DescribeTagsInput{}
  11454. }
  11455. output = &DescribeTagsOutput{}
  11456. req = c.newRequest(op, input, output)
  11457. return
  11458. }
  11459. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  11460. //
  11461. // Describes one or more of the tags for your EC2 resources.
  11462. //
  11463. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  11464. // in the Amazon Elastic Compute Cloud User Guide.
  11465. //
  11466. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11467. // with awserr.Error's Code and Message methods to get detailed information about
  11468. // the error.
  11469. //
  11470. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11471. // API operation DescribeTags for usage and error information.
  11472. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  11473. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  11474. req, out := c.DescribeTagsRequest(input)
  11475. return out, req.Send()
  11476. }
  11477. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  11478. // the ability to pass a context and additional request options.
  11479. //
  11480. // See DescribeTags for details on how to use this API operation.
  11481. //
  11482. // The context must be non-nil and will be used for request cancellation. If
  11483. // the context is nil a panic will occur. In the future the SDK may create
  11484. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11485. // for more information on using Contexts.
  11486. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  11487. req, out := c.DescribeTagsRequest(input)
  11488. req.SetContext(ctx)
  11489. req.ApplyOptions(opts...)
  11490. return out, req.Send()
  11491. }
  11492. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  11493. // calling the "fn" function with the response data for each page. To stop
  11494. // iterating, return false from the fn function.
  11495. //
  11496. // See DescribeTags method for more information on how to use this operation.
  11497. //
  11498. // Note: This operation can generate multiple requests to a service.
  11499. //
  11500. // // Example iterating over at most 3 pages of a DescribeTags operation.
  11501. // pageNum := 0
  11502. // err := client.DescribeTagsPages(params,
  11503. // func(page *DescribeTagsOutput, lastPage bool) bool {
  11504. // pageNum++
  11505. // fmt.Println(page)
  11506. // return pageNum <= 3
  11507. // })
  11508. //
  11509. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  11510. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  11511. }
  11512. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  11513. // it takes a Context and allows setting request options on the pages.
  11514. //
  11515. // The context must be non-nil and will be used for request cancellation. If
  11516. // the context is nil a panic will occur. In the future the SDK may create
  11517. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11518. // for more information on using Contexts.
  11519. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  11520. p := request.Pagination{
  11521. NewRequest: func() (*request.Request, error) {
  11522. var inCpy *DescribeTagsInput
  11523. if input != nil {
  11524. tmp := *input
  11525. inCpy = &tmp
  11526. }
  11527. req, _ := c.DescribeTagsRequest(inCpy)
  11528. req.SetContext(ctx)
  11529. req.ApplyOptions(opts...)
  11530. return req, nil
  11531. },
  11532. }
  11533. cont := true
  11534. for p.Next() && cont {
  11535. cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
  11536. }
  11537. return p.Err()
  11538. }
  11539. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  11540. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  11541. // client's request for the DescribeVolumeAttribute operation. The "output" return
  11542. // value can be used to capture response data after the request's "Send" method
  11543. // is called.
  11544. //
  11545. // See DescribeVolumeAttribute for usage and error information.
  11546. //
  11547. // Creating a request object using this method should be used when you want to inject
  11548. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11549. // access properties on the request object before or after sending the request. If
  11550. // you just want the service response, call the DescribeVolumeAttribute method directly
  11551. // instead.
  11552. //
  11553. // Note: You must call the "Send" method on the returned request object in order
  11554. // to execute the request.
  11555. //
  11556. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  11557. // req, resp := client.DescribeVolumeAttributeRequest(params)
  11558. //
  11559. // err := req.Send()
  11560. // if err == nil { // resp is now filled
  11561. // fmt.Println(resp)
  11562. // }
  11563. //
  11564. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  11565. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  11566. op := &request.Operation{
  11567. Name: opDescribeVolumeAttribute,
  11568. HTTPMethod: "POST",
  11569. HTTPPath: "/",
  11570. }
  11571. if input == nil {
  11572. input = &DescribeVolumeAttributeInput{}
  11573. }
  11574. output = &DescribeVolumeAttributeOutput{}
  11575. req = c.newRequest(op, input, output)
  11576. return
  11577. }
  11578. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  11579. //
  11580. // Describes the specified attribute of the specified volume. You can specify
  11581. // only one attribute at a time.
  11582. //
  11583. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  11584. // in the Amazon Elastic Compute Cloud User Guide.
  11585. //
  11586. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11587. // with awserr.Error's Code and Message methods to get detailed information about
  11588. // the error.
  11589. //
  11590. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11591. // API operation DescribeVolumeAttribute for usage and error information.
  11592. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  11593. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  11594. req, out := c.DescribeVolumeAttributeRequest(input)
  11595. return out, req.Send()
  11596. }
  11597. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  11598. // the ability to pass a context and additional request options.
  11599. //
  11600. // See DescribeVolumeAttribute for details on how to use this API operation.
  11601. //
  11602. // The context must be non-nil and will be used for request cancellation. If
  11603. // the context is nil a panic will occur. In the future the SDK may create
  11604. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11605. // for more information on using Contexts.
  11606. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  11607. req, out := c.DescribeVolumeAttributeRequest(input)
  11608. req.SetContext(ctx)
  11609. req.ApplyOptions(opts...)
  11610. return out, req.Send()
  11611. }
  11612. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  11613. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  11614. // client's request for the DescribeVolumeStatus operation. The "output" return
  11615. // value can be used to capture response data after the request's "Send" method
  11616. // is called.
  11617. //
  11618. // See DescribeVolumeStatus for usage and error information.
  11619. //
  11620. // Creating a request object using this method should be used when you want to inject
  11621. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11622. // access properties on the request object before or after sending the request. If
  11623. // you just want the service response, call the DescribeVolumeStatus method directly
  11624. // instead.
  11625. //
  11626. // Note: You must call the "Send" method on the returned request object in order
  11627. // to execute the request.
  11628. //
  11629. // // Example sending a request using the DescribeVolumeStatusRequest method.
  11630. // req, resp := client.DescribeVolumeStatusRequest(params)
  11631. //
  11632. // err := req.Send()
  11633. // if err == nil { // resp is now filled
  11634. // fmt.Println(resp)
  11635. // }
  11636. //
  11637. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  11638. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  11639. op := &request.Operation{
  11640. Name: opDescribeVolumeStatus,
  11641. HTTPMethod: "POST",
  11642. HTTPPath: "/",
  11643. Paginator: &request.Paginator{
  11644. InputTokens: []string{"NextToken"},
  11645. OutputTokens: []string{"NextToken"},
  11646. LimitToken: "MaxResults",
  11647. TruncationToken: "",
  11648. },
  11649. }
  11650. if input == nil {
  11651. input = &DescribeVolumeStatusInput{}
  11652. }
  11653. output = &DescribeVolumeStatusOutput{}
  11654. req = c.newRequest(op, input, output)
  11655. return
  11656. }
  11657. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  11658. //
  11659. // Describes the status of the specified volumes. Volume status provides the
  11660. // result of the checks performed on your volumes to determine events that can
  11661. // impair the performance of your volumes. The performance of a volume can be
  11662. // affected if an issue occurs on the volume's underlying host. If the volume's
  11663. // underlying host experiences a power outage or system issue, after the system
  11664. // is restored, there could be data inconsistencies on the volume. Volume events
  11665. // notify you if this occurs. Volume actions notify you if any action needs
  11666. // to be taken in response to the event.
  11667. //
  11668. // The DescribeVolumeStatus operation provides the following information about
  11669. // the specified volumes:
  11670. //
  11671. // Status: Reflects the current status of the volume. The possible values are
  11672. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  11673. // status of the volume is ok. If the check fails, the overall status is impaired.
  11674. // If the status is insufficient-data, then the checks may still be taking place
  11675. // on your volume at the time. We recommend that you retry the request. For
  11676. // more information on volume status, see Monitoring the Status of Your Volumes
  11677. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  11678. //
  11679. // Events: Reflect the cause of a volume status and may require you to take
  11680. // action. For example, if your volume returns an impaired status, then the
  11681. // volume event might be potential-data-inconsistency. This means that your
  11682. // volume has been affected by an issue with the underlying host, has all I/O
  11683. // operations disabled, and may have inconsistent data.
  11684. //
  11685. // Actions: Reflect the actions you may have to take in response to an event.
  11686. // For example, if the status of the volume is impaired and the volume event
  11687. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  11688. // This means that you may want to enable the I/O operations for the volume
  11689. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  11690. //
  11691. // Volume status is based on the volume status checks, and does not reflect
  11692. // the volume state. Therefore, volume status does not indicate volumes in the
  11693. // error state (for example, when a volume is incapable of accepting I/O.)
  11694. //
  11695. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11696. // with awserr.Error's Code and Message methods to get detailed information about
  11697. // the error.
  11698. //
  11699. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11700. // API operation DescribeVolumeStatus for usage and error information.
  11701. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  11702. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  11703. req, out := c.DescribeVolumeStatusRequest(input)
  11704. return out, req.Send()
  11705. }
  11706. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  11707. // the ability to pass a context and additional request options.
  11708. //
  11709. // See DescribeVolumeStatus for details on how to use this API operation.
  11710. //
  11711. // The context must be non-nil and will be used for request cancellation. If
  11712. // the context is nil a panic will occur. In the future the SDK may create
  11713. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11714. // for more information on using Contexts.
  11715. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  11716. req, out := c.DescribeVolumeStatusRequest(input)
  11717. req.SetContext(ctx)
  11718. req.ApplyOptions(opts...)
  11719. return out, req.Send()
  11720. }
  11721. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  11722. // calling the "fn" function with the response data for each page. To stop
  11723. // iterating, return false from the fn function.
  11724. //
  11725. // See DescribeVolumeStatus method for more information on how to use this operation.
  11726. //
  11727. // Note: This operation can generate multiple requests to a service.
  11728. //
  11729. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  11730. // pageNum := 0
  11731. // err := client.DescribeVolumeStatusPages(params,
  11732. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  11733. // pageNum++
  11734. // fmt.Println(page)
  11735. // return pageNum <= 3
  11736. // })
  11737. //
  11738. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  11739. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  11740. }
  11741. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  11742. // it takes a Context and allows setting request options on the pages.
  11743. //
  11744. // The context must be non-nil and will be used for request cancellation. If
  11745. // the context is nil a panic will occur. In the future the SDK may create
  11746. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11747. // for more information on using Contexts.
  11748. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  11749. p := request.Pagination{
  11750. NewRequest: func() (*request.Request, error) {
  11751. var inCpy *DescribeVolumeStatusInput
  11752. if input != nil {
  11753. tmp := *input
  11754. inCpy = &tmp
  11755. }
  11756. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  11757. req.SetContext(ctx)
  11758. req.ApplyOptions(opts...)
  11759. return req, nil
  11760. },
  11761. }
  11762. cont := true
  11763. for p.Next() && cont {
  11764. cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
  11765. }
  11766. return p.Err()
  11767. }
  11768. const opDescribeVolumes = "DescribeVolumes"
  11769. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  11770. // client's request for the DescribeVolumes operation. The "output" return
  11771. // value can be used to capture response data after the request's "Send" method
  11772. // is called.
  11773. //
  11774. // See DescribeVolumes for usage and error information.
  11775. //
  11776. // Creating a request object using this method should be used when you want to inject
  11777. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11778. // access properties on the request object before or after sending the request. If
  11779. // you just want the service response, call the DescribeVolumes method directly
  11780. // instead.
  11781. //
  11782. // Note: You must call the "Send" method on the returned request object in order
  11783. // to execute the request.
  11784. //
  11785. // // Example sending a request using the DescribeVolumesRequest method.
  11786. // req, resp := client.DescribeVolumesRequest(params)
  11787. //
  11788. // err := req.Send()
  11789. // if err == nil { // resp is now filled
  11790. // fmt.Println(resp)
  11791. // }
  11792. //
  11793. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  11794. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  11795. op := &request.Operation{
  11796. Name: opDescribeVolumes,
  11797. HTTPMethod: "POST",
  11798. HTTPPath: "/",
  11799. Paginator: &request.Paginator{
  11800. InputTokens: []string{"NextToken"},
  11801. OutputTokens: []string{"NextToken"},
  11802. LimitToken: "MaxResults",
  11803. TruncationToken: "",
  11804. },
  11805. }
  11806. if input == nil {
  11807. input = &DescribeVolumesInput{}
  11808. }
  11809. output = &DescribeVolumesOutput{}
  11810. req = c.newRequest(op, input, output)
  11811. return
  11812. }
  11813. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  11814. //
  11815. // Describes the specified EBS volumes.
  11816. //
  11817. // If you are describing a long list of volumes, you can paginate the output
  11818. // to make the list more manageable. The MaxResults parameter sets the maximum
  11819. // number of results returned in a single page. If the list of results exceeds
  11820. // your MaxResults value, then that number of results is returned along with
  11821. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  11822. // to retrieve the remaining results.
  11823. //
  11824. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  11825. // in the Amazon Elastic Compute Cloud User Guide.
  11826. //
  11827. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11828. // with awserr.Error's Code and Message methods to get detailed information about
  11829. // the error.
  11830. //
  11831. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11832. // API operation DescribeVolumes for usage and error information.
  11833. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  11834. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  11835. req, out := c.DescribeVolumesRequest(input)
  11836. return out, req.Send()
  11837. }
  11838. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  11839. // the ability to pass a context and additional request options.
  11840. //
  11841. // See DescribeVolumes for details on how to use this API operation.
  11842. //
  11843. // The context must be non-nil and will be used for request cancellation. If
  11844. // the context is nil a panic will occur. In the future the SDK may create
  11845. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11846. // for more information on using Contexts.
  11847. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  11848. req, out := c.DescribeVolumesRequest(input)
  11849. req.SetContext(ctx)
  11850. req.ApplyOptions(opts...)
  11851. return out, req.Send()
  11852. }
  11853. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  11854. // calling the "fn" function with the response data for each page. To stop
  11855. // iterating, return false from the fn function.
  11856. //
  11857. // See DescribeVolumes method for more information on how to use this operation.
  11858. //
  11859. // Note: This operation can generate multiple requests to a service.
  11860. //
  11861. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  11862. // pageNum := 0
  11863. // err := client.DescribeVolumesPages(params,
  11864. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  11865. // pageNum++
  11866. // fmt.Println(page)
  11867. // return pageNum <= 3
  11868. // })
  11869. //
  11870. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  11871. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  11872. }
  11873. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  11874. // it takes a Context and allows setting request options on the pages.
  11875. //
  11876. // The context must be non-nil and will be used for request cancellation. If
  11877. // the context is nil a panic will occur. In the future the SDK may create
  11878. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11879. // for more information on using Contexts.
  11880. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  11881. p := request.Pagination{
  11882. NewRequest: func() (*request.Request, error) {
  11883. var inCpy *DescribeVolumesInput
  11884. if input != nil {
  11885. tmp := *input
  11886. inCpy = &tmp
  11887. }
  11888. req, _ := c.DescribeVolumesRequest(inCpy)
  11889. req.SetContext(ctx)
  11890. req.ApplyOptions(opts...)
  11891. return req, nil
  11892. },
  11893. }
  11894. cont := true
  11895. for p.Next() && cont {
  11896. cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
  11897. }
  11898. return p.Err()
  11899. }
  11900. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  11901. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  11902. // client's request for the DescribeVolumesModifications operation. The "output" return
  11903. // value can be used to capture response data after the request's "Send" method
  11904. // is called.
  11905. //
  11906. // See DescribeVolumesModifications for usage and error information.
  11907. //
  11908. // Creating a request object using this method should be used when you want to inject
  11909. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11910. // access properties on the request object before or after sending the request. If
  11911. // you just want the service response, call the DescribeVolumesModifications method directly
  11912. // instead.
  11913. //
  11914. // Note: You must call the "Send" method on the returned request object in order
  11915. // to execute the request.
  11916. //
  11917. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  11918. // req, resp := client.DescribeVolumesModificationsRequest(params)
  11919. //
  11920. // err := req.Send()
  11921. // if err == nil { // resp is now filled
  11922. // fmt.Println(resp)
  11923. // }
  11924. //
  11925. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  11926. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  11927. op := &request.Operation{
  11928. Name: opDescribeVolumesModifications,
  11929. HTTPMethod: "POST",
  11930. HTTPPath: "/",
  11931. }
  11932. if input == nil {
  11933. input = &DescribeVolumesModificationsInput{}
  11934. }
  11935. output = &DescribeVolumesModificationsOutput{}
  11936. req = c.newRequest(op, input, output)
  11937. return
  11938. }
  11939. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  11940. //
  11941. // Reports the current modification status of EBS volumes.
  11942. //
  11943. // Current-generation EBS volumes support modification of attributes including
  11944. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  11945. // to or detached from an instance. Following an action from the API or the
  11946. // console to modify a volume, the status of the modification may be modifying,
  11947. // optimizing, completed, or failed. If a volume has never been modified, then
  11948. // certain elements of the returned VolumeModification objects are null.
  11949. //
  11950. // You can also use CloudWatch Events to check the status of a modification
  11951. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  11952. // CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  11953. // For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  11954. //
  11955. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11956. // with awserr.Error's Code and Message methods to get detailed information about
  11957. // the error.
  11958. //
  11959. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11960. // API operation DescribeVolumesModifications for usage and error information.
  11961. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  11962. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  11963. req, out := c.DescribeVolumesModificationsRequest(input)
  11964. return out, req.Send()
  11965. }
  11966. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  11967. // the ability to pass a context and additional request options.
  11968. //
  11969. // See DescribeVolumesModifications for details on how to use this API operation.
  11970. //
  11971. // The context must be non-nil and will be used for request cancellation. If
  11972. // the context is nil a panic will occur. In the future the SDK may create
  11973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11974. // for more information on using Contexts.
  11975. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  11976. req, out := c.DescribeVolumesModificationsRequest(input)
  11977. req.SetContext(ctx)
  11978. req.ApplyOptions(opts...)
  11979. return out, req.Send()
  11980. }
  11981. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  11982. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  11983. // client's request for the DescribeVpcAttribute operation. The "output" return
  11984. // value can be used to capture response data after the request's "Send" method
  11985. // is called.
  11986. //
  11987. // See DescribeVpcAttribute for usage and error information.
  11988. //
  11989. // Creating a request object using this method should be used when you want to inject
  11990. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11991. // access properties on the request object before or after sending the request. If
  11992. // you just want the service response, call the DescribeVpcAttribute method directly
  11993. // instead.
  11994. //
  11995. // Note: You must call the "Send" method on the returned request object in order
  11996. // to execute the request.
  11997. //
  11998. // // Example sending a request using the DescribeVpcAttributeRequest method.
  11999. // req, resp := client.DescribeVpcAttributeRequest(params)
  12000. //
  12001. // err := req.Send()
  12002. // if err == nil { // resp is now filled
  12003. // fmt.Println(resp)
  12004. // }
  12005. //
  12006. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  12007. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  12008. op := &request.Operation{
  12009. Name: opDescribeVpcAttribute,
  12010. HTTPMethod: "POST",
  12011. HTTPPath: "/",
  12012. }
  12013. if input == nil {
  12014. input = &DescribeVpcAttributeInput{}
  12015. }
  12016. output = &DescribeVpcAttributeOutput{}
  12017. req = c.newRequest(op, input, output)
  12018. return
  12019. }
  12020. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  12021. //
  12022. // Describes the specified attribute of the specified VPC. You can specify only
  12023. // one attribute at a time.
  12024. //
  12025. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12026. // with awserr.Error's Code and Message methods to get detailed information about
  12027. // the error.
  12028. //
  12029. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12030. // API operation DescribeVpcAttribute for usage and error information.
  12031. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  12032. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  12033. req, out := c.DescribeVpcAttributeRequest(input)
  12034. return out, req.Send()
  12035. }
  12036. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  12037. // the ability to pass a context and additional request options.
  12038. //
  12039. // See DescribeVpcAttribute for details on how to use this API operation.
  12040. //
  12041. // The context must be non-nil and will be used for request cancellation. If
  12042. // the context is nil a panic will occur. In the future the SDK may create
  12043. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12044. // for more information on using Contexts.
  12045. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  12046. req, out := c.DescribeVpcAttributeRequest(input)
  12047. req.SetContext(ctx)
  12048. req.ApplyOptions(opts...)
  12049. return out, req.Send()
  12050. }
  12051. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  12052. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  12053. // client's request for the DescribeVpcClassicLink operation. The "output" return
  12054. // value can be used to capture response data after the request's "Send" method
  12055. // is called.
  12056. //
  12057. // See DescribeVpcClassicLink for usage and error information.
  12058. //
  12059. // Creating a request object using this method should be used when you want to inject
  12060. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12061. // access properties on the request object before or after sending the request. If
  12062. // you just want the service response, call the DescribeVpcClassicLink method directly
  12063. // instead.
  12064. //
  12065. // Note: You must call the "Send" method on the returned request object in order
  12066. // to execute the request.
  12067. //
  12068. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  12069. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  12070. //
  12071. // err := req.Send()
  12072. // if err == nil { // resp is now filled
  12073. // fmt.Println(resp)
  12074. // }
  12075. //
  12076. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  12077. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  12078. op := &request.Operation{
  12079. Name: opDescribeVpcClassicLink,
  12080. HTTPMethod: "POST",
  12081. HTTPPath: "/",
  12082. }
  12083. if input == nil {
  12084. input = &DescribeVpcClassicLinkInput{}
  12085. }
  12086. output = &DescribeVpcClassicLinkOutput{}
  12087. req = c.newRequest(op, input, output)
  12088. return
  12089. }
  12090. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  12091. //
  12092. // Describes the ClassicLink status of one or more VPCs.
  12093. //
  12094. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12095. // with awserr.Error's Code and Message methods to get detailed information about
  12096. // the error.
  12097. //
  12098. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12099. // API operation DescribeVpcClassicLink for usage and error information.
  12100. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  12101. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  12102. req, out := c.DescribeVpcClassicLinkRequest(input)
  12103. return out, req.Send()
  12104. }
  12105. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  12106. // the ability to pass a context and additional request options.
  12107. //
  12108. // See DescribeVpcClassicLink for details on how to use this API operation.
  12109. //
  12110. // The context must be non-nil and will be used for request cancellation. If
  12111. // the context is nil a panic will occur. In the future the SDK may create
  12112. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12113. // for more information on using Contexts.
  12114. func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  12115. req, out := c.DescribeVpcClassicLinkRequest(input)
  12116. req.SetContext(ctx)
  12117. req.ApplyOptions(opts...)
  12118. return out, req.Send()
  12119. }
  12120. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  12121. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  12122. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  12123. // value can be used to capture response data after the request's "Send" method
  12124. // is called.
  12125. //
  12126. // See DescribeVpcClassicLinkDnsSupport for usage and error information.
  12127. //
  12128. // Creating a request object using this method should be used when you want to inject
  12129. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12130. // access properties on the request object before or after sending the request. If
  12131. // you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly
  12132. // instead.
  12133. //
  12134. // Note: You must call the "Send" method on the returned request object in order
  12135. // to execute the request.
  12136. //
  12137. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  12138. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  12139. //
  12140. // err := req.Send()
  12141. // if err == nil { // resp is now filled
  12142. // fmt.Println(resp)
  12143. // }
  12144. //
  12145. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  12146. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  12147. op := &request.Operation{
  12148. Name: opDescribeVpcClassicLinkDnsSupport,
  12149. HTTPMethod: "POST",
  12150. HTTPPath: "/",
  12151. }
  12152. if input == nil {
  12153. input = &DescribeVpcClassicLinkDnsSupportInput{}
  12154. }
  12155. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  12156. req = c.newRequest(op, input, output)
  12157. return
  12158. }
  12159. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  12160. //
  12161. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  12162. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  12163. // IP address when addressed from an instance in the VPC to which it's linked.
  12164. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  12165. // IP address when addressed from a linked EC2-Classic instance. For more information,
  12166. // see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  12167. // in the Amazon Elastic Compute Cloud User Guide.
  12168. //
  12169. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12170. // with awserr.Error's Code and Message methods to get detailed information about
  12171. // the error.
  12172. //
  12173. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12174. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  12175. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  12176. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  12177. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  12178. return out, req.Send()
  12179. }
  12180. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  12181. // the ability to pass a context and additional request options.
  12182. //
  12183. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  12184. //
  12185. // The context must be non-nil and will be used for request cancellation. If
  12186. // the context is nil a panic will occur. In the future the SDK may create
  12187. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12188. // for more information on using Contexts.
  12189. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  12190. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  12191. req.SetContext(ctx)
  12192. req.ApplyOptions(opts...)
  12193. return out, req.Send()
  12194. }
  12195. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  12196. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  12197. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  12198. // value can be used to capture response data after the request's "Send" method
  12199. // is called.
  12200. //
  12201. // See DescribeVpcEndpointServices for usage and error information.
  12202. //
  12203. // Creating a request object using this method should be used when you want to inject
  12204. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12205. // access properties on the request object before or after sending the request. If
  12206. // you just want the service response, call the DescribeVpcEndpointServices method directly
  12207. // instead.
  12208. //
  12209. // Note: You must call the "Send" method on the returned request object in order
  12210. // to execute the request.
  12211. //
  12212. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  12213. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  12214. //
  12215. // err := req.Send()
  12216. // if err == nil { // resp is now filled
  12217. // fmt.Println(resp)
  12218. // }
  12219. //
  12220. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  12221. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  12222. op := &request.Operation{
  12223. Name: opDescribeVpcEndpointServices,
  12224. HTTPMethod: "POST",
  12225. HTTPPath: "/",
  12226. }
  12227. if input == nil {
  12228. input = &DescribeVpcEndpointServicesInput{}
  12229. }
  12230. output = &DescribeVpcEndpointServicesOutput{}
  12231. req = c.newRequest(op, input, output)
  12232. return
  12233. }
  12234. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  12235. //
  12236. // Describes all supported AWS services that can be specified when creating
  12237. // a VPC endpoint.
  12238. //
  12239. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12240. // with awserr.Error's Code and Message methods to get detailed information about
  12241. // the error.
  12242. //
  12243. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12244. // API operation DescribeVpcEndpointServices for usage and error information.
  12245. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  12246. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  12247. req, out := c.DescribeVpcEndpointServicesRequest(input)
  12248. return out, req.Send()
  12249. }
  12250. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  12251. // the ability to pass a context and additional request options.
  12252. //
  12253. // See DescribeVpcEndpointServices for details on how to use this API operation.
  12254. //
  12255. // The context must be non-nil and will be used for request cancellation. If
  12256. // the context is nil a panic will occur. In the future the SDK may create
  12257. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12258. // for more information on using Contexts.
  12259. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  12260. req, out := c.DescribeVpcEndpointServicesRequest(input)
  12261. req.SetContext(ctx)
  12262. req.ApplyOptions(opts...)
  12263. return out, req.Send()
  12264. }
  12265. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  12266. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  12267. // client's request for the DescribeVpcEndpoints operation. The "output" return
  12268. // value can be used to capture response data after the request's "Send" method
  12269. // is called.
  12270. //
  12271. // See DescribeVpcEndpoints for usage and error information.
  12272. //
  12273. // Creating a request object using this method should be used when you want to inject
  12274. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12275. // access properties on the request object before or after sending the request. If
  12276. // you just want the service response, call the DescribeVpcEndpoints method directly
  12277. // instead.
  12278. //
  12279. // Note: You must call the "Send" method on the returned request object in order
  12280. // to execute the request.
  12281. //
  12282. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  12283. // req, resp := client.DescribeVpcEndpointsRequest(params)
  12284. //
  12285. // err := req.Send()
  12286. // if err == nil { // resp is now filled
  12287. // fmt.Println(resp)
  12288. // }
  12289. //
  12290. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  12291. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  12292. op := &request.Operation{
  12293. Name: opDescribeVpcEndpoints,
  12294. HTTPMethod: "POST",
  12295. HTTPPath: "/",
  12296. }
  12297. if input == nil {
  12298. input = &DescribeVpcEndpointsInput{}
  12299. }
  12300. output = &DescribeVpcEndpointsOutput{}
  12301. req = c.newRequest(op, input, output)
  12302. return
  12303. }
  12304. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  12305. //
  12306. // Describes one or more of your VPC endpoints.
  12307. //
  12308. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12309. // with awserr.Error's Code and Message methods to get detailed information about
  12310. // the error.
  12311. //
  12312. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12313. // API operation DescribeVpcEndpoints for usage and error information.
  12314. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  12315. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  12316. req, out := c.DescribeVpcEndpointsRequest(input)
  12317. return out, req.Send()
  12318. }
  12319. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  12320. // the ability to pass a context and additional request options.
  12321. //
  12322. // See DescribeVpcEndpoints for details on how to use this API operation.
  12323. //
  12324. // The context must be non-nil and will be used for request cancellation. If
  12325. // the context is nil a panic will occur. In the future the SDK may create
  12326. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12327. // for more information on using Contexts.
  12328. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  12329. req, out := c.DescribeVpcEndpointsRequest(input)
  12330. req.SetContext(ctx)
  12331. req.ApplyOptions(opts...)
  12332. return out, req.Send()
  12333. }
  12334. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  12335. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  12336. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  12337. // value can be used to capture response data after the request's "Send" method
  12338. // is called.
  12339. //
  12340. // See DescribeVpcPeeringConnections for usage and error information.
  12341. //
  12342. // Creating a request object using this method should be used when you want to inject
  12343. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12344. // access properties on the request object before or after sending the request. If
  12345. // you just want the service response, call the DescribeVpcPeeringConnections method directly
  12346. // instead.
  12347. //
  12348. // Note: You must call the "Send" method on the returned request object in order
  12349. // to execute the request.
  12350. //
  12351. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  12352. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  12353. //
  12354. // err := req.Send()
  12355. // if err == nil { // resp is now filled
  12356. // fmt.Println(resp)
  12357. // }
  12358. //
  12359. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  12360. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  12361. op := &request.Operation{
  12362. Name: opDescribeVpcPeeringConnections,
  12363. HTTPMethod: "POST",
  12364. HTTPPath: "/",
  12365. }
  12366. if input == nil {
  12367. input = &DescribeVpcPeeringConnectionsInput{}
  12368. }
  12369. output = &DescribeVpcPeeringConnectionsOutput{}
  12370. req = c.newRequest(op, input, output)
  12371. return
  12372. }
  12373. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  12374. //
  12375. // Describes one or more of your VPC peering connections.
  12376. //
  12377. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12378. // with awserr.Error's Code and Message methods to get detailed information about
  12379. // the error.
  12380. //
  12381. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12382. // API operation DescribeVpcPeeringConnections for usage and error information.
  12383. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  12384. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  12385. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  12386. return out, req.Send()
  12387. }
  12388. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  12389. // the ability to pass a context and additional request options.
  12390. //
  12391. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  12392. //
  12393. // The context must be non-nil and will be used for request cancellation. If
  12394. // the context is nil a panic will occur. In the future the SDK may create
  12395. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12396. // for more information on using Contexts.
  12397. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  12398. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  12399. req.SetContext(ctx)
  12400. req.ApplyOptions(opts...)
  12401. return out, req.Send()
  12402. }
  12403. const opDescribeVpcs = "DescribeVpcs"
  12404. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  12405. // client's request for the DescribeVpcs operation. The "output" return
  12406. // value can be used to capture response data after the request's "Send" method
  12407. // is called.
  12408. //
  12409. // See DescribeVpcs for usage and error information.
  12410. //
  12411. // Creating a request object using this method should be used when you want to inject
  12412. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12413. // access properties on the request object before or after sending the request. If
  12414. // you just want the service response, call the DescribeVpcs method directly
  12415. // instead.
  12416. //
  12417. // Note: You must call the "Send" method on the returned request object in order
  12418. // to execute the request.
  12419. //
  12420. // // Example sending a request using the DescribeVpcsRequest method.
  12421. // req, resp := client.DescribeVpcsRequest(params)
  12422. //
  12423. // err := req.Send()
  12424. // if err == nil { // resp is now filled
  12425. // fmt.Println(resp)
  12426. // }
  12427. //
  12428. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  12429. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  12430. op := &request.Operation{
  12431. Name: opDescribeVpcs,
  12432. HTTPMethod: "POST",
  12433. HTTPPath: "/",
  12434. }
  12435. if input == nil {
  12436. input = &DescribeVpcsInput{}
  12437. }
  12438. output = &DescribeVpcsOutput{}
  12439. req = c.newRequest(op, input, output)
  12440. return
  12441. }
  12442. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  12443. //
  12444. // Describes one or more of your VPCs.
  12445. //
  12446. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12447. // with awserr.Error's Code and Message methods to get detailed information about
  12448. // the error.
  12449. //
  12450. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12451. // API operation DescribeVpcs for usage and error information.
  12452. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  12453. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  12454. req, out := c.DescribeVpcsRequest(input)
  12455. return out, req.Send()
  12456. }
  12457. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  12458. // the ability to pass a context and additional request options.
  12459. //
  12460. // See DescribeVpcs for details on how to use this API operation.
  12461. //
  12462. // The context must be non-nil and will be used for request cancellation. If
  12463. // the context is nil a panic will occur. In the future the SDK may create
  12464. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12465. // for more information on using Contexts.
  12466. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  12467. req, out := c.DescribeVpcsRequest(input)
  12468. req.SetContext(ctx)
  12469. req.ApplyOptions(opts...)
  12470. return out, req.Send()
  12471. }
  12472. const opDescribeVpnConnections = "DescribeVpnConnections"
  12473. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  12474. // client's request for the DescribeVpnConnections operation. The "output" return
  12475. // value can be used to capture response data after the request's "Send" method
  12476. // is called.
  12477. //
  12478. // See DescribeVpnConnections for usage and error information.
  12479. //
  12480. // Creating a request object using this method should be used when you want to inject
  12481. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12482. // access properties on the request object before or after sending the request. If
  12483. // you just want the service response, call the DescribeVpnConnections method directly
  12484. // instead.
  12485. //
  12486. // Note: You must call the "Send" method on the returned request object in order
  12487. // to execute the request.
  12488. //
  12489. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  12490. // req, resp := client.DescribeVpnConnectionsRequest(params)
  12491. //
  12492. // err := req.Send()
  12493. // if err == nil { // resp is now filled
  12494. // fmt.Println(resp)
  12495. // }
  12496. //
  12497. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  12498. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  12499. op := &request.Operation{
  12500. Name: opDescribeVpnConnections,
  12501. HTTPMethod: "POST",
  12502. HTTPPath: "/",
  12503. }
  12504. if input == nil {
  12505. input = &DescribeVpnConnectionsInput{}
  12506. }
  12507. output = &DescribeVpnConnectionsOutput{}
  12508. req = c.newRequest(op, input, output)
  12509. return
  12510. }
  12511. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  12512. //
  12513. // Describes one or more of your VPN connections.
  12514. //
  12515. // For more information about VPN connections, see Adding a Hardware Virtual
  12516. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  12517. // in the Amazon Virtual Private Cloud User Guide.
  12518. //
  12519. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12520. // with awserr.Error's Code and Message methods to get detailed information about
  12521. // the error.
  12522. //
  12523. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12524. // API operation DescribeVpnConnections for usage and error information.
  12525. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  12526. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  12527. req, out := c.DescribeVpnConnectionsRequest(input)
  12528. return out, req.Send()
  12529. }
  12530. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  12531. // the ability to pass a context and additional request options.
  12532. //
  12533. // See DescribeVpnConnections for details on how to use this API operation.
  12534. //
  12535. // The context must be non-nil and will be used for request cancellation. If
  12536. // the context is nil a panic will occur. In the future the SDK may create
  12537. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12538. // for more information on using Contexts.
  12539. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  12540. req, out := c.DescribeVpnConnectionsRequest(input)
  12541. req.SetContext(ctx)
  12542. req.ApplyOptions(opts...)
  12543. return out, req.Send()
  12544. }
  12545. const opDescribeVpnGateways = "DescribeVpnGateways"
  12546. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  12547. // client's request for the DescribeVpnGateways operation. The "output" return
  12548. // value can be used to capture response data after the request's "Send" method
  12549. // is called.
  12550. //
  12551. // See DescribeVpnGateways for usage and error information.
  12552. //
  12553. // Creating a request object using this method should be used when you want to inject
  12554. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12555. // access properties on the request object before or after sending the request. If
  12556. // you just want the service response, call the DescribeVpnGateways method directly
  12557. // instead.
  12558. //
  12559. // Note: You must call the "Send" method on the returned request object in order
  12560. // to execute the request.
  12561. //
  12562. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  12563. // req, resp := client.DescribeVpnGatewaysRequest(params)
  12564. //
  12565. // err := req.Send()
  12566. // if err == nil { // resp is now filled
  12567. // fmt.Println(resp)
  12568. // }
  12569. //
  12570. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  12571. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  12572. op := &request.Operation{
  12573. Name: opDescribeVpnGateways,
  12574. HTTPMethod: "POST",
  12575. HTTPPath: "/",
  12576. }
  12577. if input == nil {
  12578. input = &DescribeVpnGatewaysInput{}
  12579. }
  12580. output = &DescribeVpnGatewaysOutput{}
  12581. req = c.newRequest(op, input, output)
  12582. return
  12583. }
  12584. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  12585. //
  12586. // Describes one or more of your virtual private gateways.
  12587. //
  12588. // For more information about virtual private gateways, see Adding an IPsec
  12589. // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  12590. // in the Amazon Virtual Private Cloud User Guide.
  12591. //
  12592. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12593. // with awserr.Error's Code and Message methods to get detailed information about
  12594. // the error.
  12595. //
  12596. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12597. // API operation DescribeVpnGateways for usage and error information.
  12598. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  12599. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  12600. req, out := c.DescribeVpnGatewaysRequest(input)
  12601. return out, req.Send()
  12602. }
  12603. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  12604. // the ability to pass a context and additional request options.
  12605. //
  12606. // See DescribeVpnGateways for details on how to use this API operation.
  12607. //
  12608. // The context must be non-nil and will be used for request cancellation. If
  12609. // the context is nil a panic will occur. In the future the SDK may create
  12610. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12611. // for more information on using Contexts.
  12612. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  12613. req, out := c.DescribeVpnGatewaysRequest(input)
  12614. req.SetContext(ctx)
  12615. req.ApplyOptions(opts...)
  12616. return out, req.Send()
  12617. }
  12618. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  12619. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  12620. // client's request for the DetachClassicLinkVpc operation. The "output" return
  12621. // value can be used to capture response data after the request's "Send" method
  12622. // is called.
  12623. //
  12624. // See DetachClassicLinkVpc for usage and error information.
  12625. //
  12626. // Creating a request object using this method should be used when you want to inject
  12627. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12628. // access properties on the request object before or after sending the request. If
  12629. // you just want the service response, call the DetachClassicLinkVpc method directly
  12630. // instead.
  12631. //
  12632. // Note: You must call the "Send" method on the returned request object in order
  12633. // to execute the request.
  12634. //
  12635. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  12636. // req, resp := client.DetachClassicLinkVpcRequest(params)
  12637. //
  12638. // err := req.Send()
  12639. // if err == nil { // resp is now filled
  12640. // fmt.Println(resp)
  12641. // }
  12642. //
  12643. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  12644. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  12645. op := &request.Operation{
  12646. Name: opDetachClassicLinkVpc,
  12647. HTTPMethod: "POST",
  12648. HTTPPath: "/",
  12649. }
  12650. if input == nil {
  12651. input = &DetachClassicLinkVpcInput{}
  12652. }
  12653. output = &DetachClassicLinkVpcOutput{}
  12654. req = c.newRequest(op, input, output)
  12655. return
  12656. }
  12657. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  12658. //
  12659. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  12660. // has been unlinked, the VPC security groups are no longer associated with
  12661. // it. An instance is automatically unlinked from a VPC when it's stopped.
  12662. //
  12663. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12664. // with awserr.Error's Code and Message methods to get detailed information about
  12665. // the error.
  12666. //
  12667. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12668. // API operation DetachClassicLinkVpc for usage and error information.
  12669. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  12670. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  12671. req, out := c.DetachClassicLinkVpcRequest(input)
  12672. return out, req.Send()
  12673. }
  12674. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  12675. // the ability to pass a context and additional request options.
  12676. //
  12677. // See DetachClassicLinkVpc for details on how to use this API operation.
  12678. //
  12679. // The context must be non-nil and will be used for request cancellation. If
  12680. // the context is nil a panic will occur. In the future the SDK may create
  12681. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12682. // for more information on using Contexts.
  12683. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  12684. req, out := c.DetachClassicLinkVpcRequest(input)
  12685. req.SetContext(ctx)
  12686. req.ApplyOptions(opts...)
  12687. return out, req.Send()
  12688. }
  12689. const opDetachInternetGateway = "DetachInternetGateway"
  12690. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  12691. // client's request for the DetachInternetGateway operation. The "output" return
  12692. // value can be used to capture response data after the request's "Send" method
  12693. // is called.
  12694. //
  12695. // See DetachInternetGateway for usage and error information.
  12696. //
  12697. // Creating a request object using this method should be used when you want to inject
  12698. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12699. // access properties on the request object before or after sending the request. If
  12700. // you just want the service response, call the DetachInternetGateway method directly
  12701. // instead.
  12702. //
  12703. // Note: You must call the "Send" method on the returned request object in order
  12704. // to execute the request.
  12705. //
  12706. // // Example sending a request using the DetachInternetGatewayRequest method.
  12707. // req, resp := client.DetachInternetGatewayRequest(params)
  12708. //
  12709. // err := req.Send()
  12710. // if err == nil { // resp is now filled
  12711. // fmt.Println(resp)
  12712. // }
  12713. //
  12714. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  12715. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  12716. op := &request.Operation{
  12717. Name: opDetachInternetGateway,
  12718. HTTPMethod: "POST",
  12719. HTTPPath: "/",
  12720. }
  12721. if input == nil {
  12722. input = &DetachInternetGatewayInput{}
  12723. }
  12724. output = &DetachInternetGatewayOutput{}
  12725. req = c.newRequest(op, input, output)
  12726. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12727. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12728. return
  12729. }
  12730. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  12731. //
  12732. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  12733. // Internet and the VPC. The VPC must not contain any running instances with
  12734. // Elastic IP addresses or public IPv4 addresses.
  12735. //
  12736. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12737. // with awserr.Error's Code and Message methods to get detailed information about
  12738. // the error.
  12739. //
  12740. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12741. // API operation DetachInternetGateway for usage and error information.
  12742. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  12743. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  12744. req, out := c.DetachInternetGatewayRequest(input)
  12745. return out, req.Send()
  12746. }
  12747. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  12748. // the ability to pass a context and additional request options.
  12749. //
  12750. // See DetachInternetGateway for details on how to use this API operation.
  12751. //
  12752. // The context must be non-nil and will be used for request cancellation. If
  12753. // the context is nil a panic will occur. In the future the SDK may create
  12754. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12755. // for more information on using Contexts.
  12756. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  12757. req, out := c.DetachInternetGatewayRequest(input)
  12758. req.SetContext(ctx)
  12759. req.ApplyOptions(opts...)
  12760. return out, req.Send()
  12761. }
  12762. const opDetachNetworkInterface = "DetachNetworkInterface"
  12763. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  12764. // client's request for the DetachNetworkInterface operation. The "output" return
  12765. // value can be used to capture response data after the request's "Send" method
  12766. // is called.
  12767. //
  12768. // See DetachNetworkInterface for usage and error information.
  12769. //
  12770. // Creating a request object using this method should be used when you want to inject
  12771. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12772. // access properties on the request object before or after sending the request. If
  12773. // you just want the service response, call the DetachNetworkInterface method directly
  12774. // instead.
  12775. //
  12776. // Note: You must call the "Send" method on the returned request object in order
  12777. // to execute the request.
  12778. //
  12779. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  12780. // req, resp := client.DetachNetworkInterfaceRequest(params)
  12781. //
  12782. // err := req.Send()
  12783. // if err == nil { // resp is now filled
  12784. // fmt.Println(resp)
  12785. // }
  12786. //
  12787. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  12788. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  12789. op := &request.Operation{
  12790. Name: opDetachNetworkInterface,
  12791. HTTPMethod: "POST",
  12792. HTTPPath: "/",
  12793. }
  12794. if input == nil {
  12795. input = &DetachNetworkInterfaceInput{}
  12796. }
  12797. output = &DetachNetworkInterfaceOutput{}
  12798. req = c.newRequest(op, input, output)
  12799. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12800. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12801. return
  12802. }
  12803. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  12804. //
  12805. // Detaches a network interface from an instance.
  12806. //
  12807. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12808. // with awserr.Error's Code and Message methods to get detailed information about
  12809. // the error.
  12810. //
  12811. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12812. // API operation DetachNetworkInterface for usage and error information.
  12813. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  12814. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  12815. req, out := c.DetachNetworkInterfaceRequest(input)
  12816. return out, req.Send()
  12817. }
  12818. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  12819. // the ability to pass a context and additional request options.
  12820. //
  12821. // See DetachNetworkInterface for details on how to use this API operation.
  12822. //
  12823. // The context must be non-nil and will be used for request cancellation. If
  12824. // the context is nil a panic will occur. In the future the SDK may create
  12825. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12826. // for more information on using Contexts.
  12827. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  12828. req, out := c.DetachNetworkInterfaceRequest(input)
  12829. req.SetContext(ctx)
  12830. req.ApplyOptions(opts...)
  12831. return out, req.Send()
  12832. }
  12833. const opDetachVolume = "DetachVolume"
  12834. // DetachVolumeRequest generates a "aws/request.Request" representing the
  12835. // client's request for the DetachVolume operation. The "output" return
  12836. // value can be used to capture response data after the request's "Send" method
  12837. // is called.
  12838. //
  12839. // See DetachVolume for usage and error information.
  12840. //
  12841. // Creating a request object using this method should be used when you want to inject
  12842. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12843. // access properties on the request object before or after sending the request. If
  12844. // you just want the service response, call the DetachVolume method directly
  12845. // instead.
  12846. //
  12847. // Note: You must call the "Send" method on the returned request object in order
  12848. // to execute the request.
  12849. //
  12850. // // Example sending a request using the DetachVolumeRequest method.
  12851. // req, resp := client.DetachVolumeRequest(params)
  12852. //
  12853. // err := req.Send()
  12854. // if err == nil { // resp is now filled
  12855. // fmt.Println(resp)
  12856. // }
  12857. //
  12858. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  12859. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  12860. op := &request.Operation{
  12861. Name: opDetachVolume,
  12862. HTTPMethod: "POST",
  12863. HTTPPath: "/",
  12864. }
  12865. if input == nil {
  12866. input = &DetachVolumeInput{}
  12867. }
  12868. output = &VolumeAttachment{}
  12869. req = c.newRequest(op, input, output)
  12870. return
  12871. }
  12872. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  12873. //
  12874. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  12875. // on the device within your operating system before detaching the volume. Failure
  12876. // to do so can result in the volume becoming stuck in the busy state while
  12877. // detaching. If this happens, detachment can be delayed indefinitely until
  12878. // you unmount the volume, force detachment, reboot the instance, or all three.
  12879. // If an EBS volume is the root device of an instance, it can't be detached
  12880. // while the instance is running. To detach the root volume, stop the instance
  12881. // first.
  12882. //
  12883. // When a volume with an AWS Marketplace product code is detached from an instance,
  12884. // the product code is no longer associated with the instance.
  12885. //
  12886. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  12887. // in the Amazon Elastic Compute Cloud User Guide.
  12888. //
  12889. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12890. // with awserr.Error's Code and Message methods to get detailed information about
  12891. // the error.
  12892. //
  12893. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12894. // API operation DetachVolume for usage and error information.
  12895. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  12896. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  12897. req, out := c.DetachVolumeRequest(input)
  12898. return out, req.Send()
  12899. }
  12900. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  12901. // the ability to pass a context and additional request options.
  12902. //
  12903. // See DetachVolume for details on how to use this API operation.
  12904. //
  12905. // The context must be non-nil and will be used for request cancellation. If
  12906. // the context is nil a panic will occur. In the future the SDK may create
  12907. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12908. // for more information on using Contexts.
  12909. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  12910. req, out := c.DetachVolumeRequest(input)
  12911. req.SetContext(ctx)
  12912. req.ApplyOptions(opts...)
  12913. return out, req.Send()
  12914. }
  12915. const opDetachVpnGateway = "DetachVpnGateway"
  12916. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  12917. // client's request for the DetachVpnGateway operation. The "output" return
  12918. // value can be used to capture response data after the request's "Send" method
  12919. // is called.
  12920. //
  12921. // See DetachVpnGateway for usage and error information.
  12922. //
  12923. // Creating a request object using this method should be used when you want to inject
  12924. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12925. // access properties on the request object before or after sending the request. If
  12926. // you just want the service response, call the DetachVpnGateway method directly
  12927. // instead.
  12928. //
  12929. // Note: You must call the "Send" method on the returned request object in order
  12930. // to execute the request.
  12931. //
  12932. // // Example sending a request using the DetachVpnGatewayRequest method.
  12933. // req, resp := client.DetachVpnGatewayRequest(params)
  12934. //
  12935. // err := req.Send()
  12936. // if err == nil { // resp is now filled
  12937. // fmt.Println(resp)
  12938. // }
  12939. //
  12940. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  12941. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  12942. op := &request.Operation{
  12943. Name: opDetachVpnGateway,
  12944. HTTPMethod: "POST",
  12945. HTTPPath: "/",
  12946. }
  12947. if input == nil {
  12948. input = &DetachVpnGatewayInput{}
  12949. }
  12950. output = &DetachVpnGatewayOutput{}
  12951. req = c.newRequest(op, input, output)
  12952. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12953. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12954. return
  12955. }
  12956. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  12957. //
  12958. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  12959. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  12960. // gateway has been completely detached from a VPC by describing the virtual
  12961. // private gateway (any attachments to the virtual private gateway are also
  12962. // described).
  12963. //
  12964. // You must wait for the attachment's state to switch to detached before you
  12965. // can delete the VPC or attach a different VPC to the virtual private gateway.
  12966. //
  12967. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12968. // with awserr.Error's Code and Message methods to get detailed information about
  12969. // the error.
  12970. //
  12971. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12972. // API operation DetachVpnGateway for usage and error information.
  12973. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  12974. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  12975. req, out := c.DetachVpnGatewayRequest(input)
  12976. return out, req.Send()
  12977. }
  12978. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  12979. // the ability to pass a context and additional request options.
  12980. //
  12981. // See DetachVpnGateway for details on how to use this API operation.
  12982. //
  12983. // The context must be non-nil and will be used for request cancellation. If
  12984. // the context is nil a panic will occur. In the future the SDK may create
  12985. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12986. // for more information on using Contexts.
  12987. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  12988. req, out := c.DetachVpnGatewayRequest(input)
  12989. req.SetContext(ctx)
  12990. req.ApplyOptions(opts...)
  12991. return out, req.Send()
  12992. }
  12993. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  12994. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  12995. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  12996. // value can be used to capture response data after the request's "Send" method
  12997. // is called.
  12998. //
  12999. // See DisableVgwRoutePropagation for usage and error information.
  13000. //
  13001. // Creating a request object using this method should be used when you want to inject
  13002. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13003. // access properties on the request object before or after sending the request. If
  13004. // you just want the service response, call the DisableVgwRoutePropagation method directly
  13005. // instead.
  13006. //
  13007. // Note: You must call the "Send" method on the returned request object in order
  13008. // to execute the request.
  13009. //
  13010. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  13011. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  13012. //
  13013. // err := req.Send()
  13014. // if err == nil { // resp is now filled
  13015. // fmt.Println(resp)
  13016. // }
  13017. //
  13018. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  13019. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  13020. op := &request.Operation{
  13021. Name: opDisableVgwRoutePropagation,
  13022. HTTPMethod: "POST",
  13023. HTTPPath: "/",
  13024. }
  13025. if input == nil {
  13026. input = &DisableVgwRoutePropagationInput{}
  13027. }
  13028. output = &DisableVgwRoutePropagationOutput{}
  13029. req = c.newRequest(op, input, output)
  13030. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13031. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13032. return
  13033. }
  13034. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  13035. //
  13036. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  13037. // route table of a VPC.
  13038. //
  13039. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13040. // with awserr.Error's Code and Message methods to get detailed information about
  13041. // the error.
  13042. //
  13043. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13044. // API operation DisableVgwRoutePropagation for usage and error information.
  13045. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  13046. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  13047. req, out := c.DisableVgwRoutePropagationRequest(input)
  13048. return out, req.Send()
  13049. }
  13050. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  13051. // the ability to pass a context and additional request options.
  13052. //
  13053. // See DisableVgwRoutePropagation for details on how to use this API operation.
  13054. //
  13055. // The context must be non-nil and will be used for request cancellation. If
  13056. // the context is nil a panic will occur. In the future the SDK may create
  13057. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13058. // for more information on using Contexts.
  13059. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  13060. req, out := c.DisableVgwRoutePropagationRequest(input)
  13061. req.SetContext(ctx)
  13062. req.ApplyOptions(opts...)
  13063. return out, req.Send()
  13064. }
  13065. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  13066. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  13067. // client's request for the DisableVpcClassicLink operation. The "output" return
  13068. // value can be used to capture response data after the request's "Send" method
  13069. // is called.
  13070. //
  13071. // See DisableVpcClassicLink for usage and error information.
  13072. //
  13073. // Creating a request object using this method should be used when you want to inject
  13074. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13075. // access properties on the request object before or after sending the request. If
  13076. // you just want the service response, call the DisableVpcClassicLink method directly
  13077. // instead.
  13078. //
  13079. // Note: You must call the "Send" method on the returned request object in order
  13080. // to execute the request.
  13081. //
  13082. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  13083. // req, resp := client.DisableVpcClassicLinkRequest(params)
  13084. //
  13085. // err := req.Send()
  13086. // if err == nil { // resp is now filled
  13087. // fmt.Println(resp)
  13088. // }
  13089. //
  13090. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  13091. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  13092. op := &request.Operation{
  13093. Name: opDisableVpcClassicLink,
  13094. HTTPMethod: "POST",
  13095. HTTPPath: "/",
  13096. }
  13097. if input == nil {
  13098. input = &DisableVpcClassicLinkInput{}
  13099. }
  13100. output = &DisableVpcClassicLinkOutput{}
  13101. req = c.newRequest(op, input, output)
  13102. return
  13103. }
  13104. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  13105. //
  13106. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  13107. // that has EC2-Classic instances linked to it.
  13108. //
  13109. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13110. // with awserr.Error's Code and Message methods to get detailed information about
  13111. // the error.
  13112. //
  13113. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13114. // API operation DisableVpcClassicLink for usage and error information.
  13115. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  13116. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  13117. req, out := c.DisableVpcClassicLinkRequest(input)
  13118. return out, req.Send()
  13119. }
  13120. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  13121. // the ability to pass a context and additional request options.
  13122. //
  13123. // See DisableVpcClassicLink for details on how to use this API operation.
  13124. //
  13125. // The context must be non-nil and will be used for request cancellation. If
  13126. // the context is nil a panic will occur. In the future the SDK may create
  13127. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13128. // for more information on using Contexts.
  13129. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  13130. req, out := c.DisableVpcClassicLinkRequest(input)
  13131. req.SetContext(ctx)
  13132. req.ApplyOptions(opts...)
  13133. return out, req.Send()
  13134. }
  13135. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  13136. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  13137. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  13138. // value can be used to capture response data after the request's "Send" method
  13139. // is called.
  13140. //
  13141. // See DisableVpcClassicLinkDnsSupport for usage and error information.
  13142. //
  13143. // Creating a request object using this method should be used when you want to inject
  13144. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13145. // access properties on the request object before or after sending the request. If
  13146. // you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly
  13147. // instead.
  13148. //
  13149. // Note: You must call the "Send" method on the returned request object in order
  13150. // to execute the request.
  13151. //
  13152. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  13153. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  13154. //
  13155. // err := req.Send()
  13156. // if err == nil { // resp is now filled
  13157. // fmt.Println(resp)
  13158. // }
  13159. //
  13160. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  13161. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  13162. op := &request.Operation{
  13163. Name: opDisableVpcClassicLinkDnsSupport,
  13164. HTTPMethod: "POST",
  13165. HTTPPath: "/",
  13166. }
  13167. if input == nil {
  13168. input = &DisableVpcClassicLinkDnsSupportInput{}
  13169. }
  13170. output = &DisableVpcClassicLinkDnsSupportOutput{}
  13171. req = c.newRequest(op, input, output)
  13172. return
  13173. }
  13174. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  13175. //
  13176. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  13177. // to public IP addresses when addressed between a linked EC2-Classic instance
  13178. // and instances in the VPC to which it's linked. For more information about
  13179. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13180. // in the Amazon Elastic Compute Cloud User Guide.
  13181. //
  13182. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13183. // with awserr.Error's Code and Message methods to get detailed information about
  13184. // the error.
  13185. //
  13186. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13187. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  13188. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  13189. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  13190. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  13191. return out, req.Send()
  13192. }
  13193. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  13194. // the ability to pass a context and additional request options.
  13195. //
  13196. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  13197. //
  13198. // The context must be non-nil and will be used for request cancellation. If
  13199. // the context is nil a panic will occur. In the future the SDK may create
  13200. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13201. // for more information on using Contexts.
  13202. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  13203. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  13204. req.SetContext(ctx)
  13205. req.ApplyOptions(opts...)
  13206. return out, req.Send()
  13207. }
  13208. const opDisassociateAddress = "DisassociateAddress"
  13209. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  13210. // client's request for the DisassociateAddress operation. The "output" return
  13211. // value can be used to capture response data after the request's "Send" method
  13212. // is called.
  13213. //
  13214. // See DisassociateAddress for usage and error information.
  13215. //
  13216. // Creating a request object using this method should be used when you want to inject
  13217. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13218. // access properties on the request object before or after sending the request. If
  13219. // you just want the service response, call the DisassociateAddress method directly
  13220. // instead.
  13221. //
  13222. // Note: You must call the "Send" method on the returned request object in order
  13223. // to execute the request.
  13224. //
  13225. // // Example sending a request using the DisassociateAddressRequest method.
  13226. // req, resp := client.DisassociateAddressRequest(params)
  13227. //
  13228. // err := req.Send()
  13229. // if err == nil { // resp is now filled
  13230. // fmt.Println(resp)
  13231. // }
  13232. //
  13233. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  13234. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  13235. op := &request.Operation{
  13236. Name: opDisassociateAddress,
  13237. HTTPMethod: "POST",
  13238. HTTPPath: "/",
  13239. }
  13240. if input == nil {
  13241. input = &DisassociateAddressInput{}
  13242. }
  13243. output = &DisassociateAddressOutput{}
  13244. req = c.newRequest(op, input, output)
  13245. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13246. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13247. return
  13248. }
  13249. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  13250. //
  13251. // Disassociates an Elastic IP address from the instance or network interface
  13252. // it's associated with.
  13253. //
  13254. // An Elastic IP address is for use in either the EC2-Classic platform or in
  13255. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  13256. // in the Amazon Elastic Compute Cloud User Guide.
  13257. //
  13258. // This is an idempotent operation. If you perform the operation more than once,
  13259. // Amazon EC2 doesn't return an error.
  13260. //
  13261. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13262. // with awserr.Error's Code and Message methods to get detailed information about
  13263. // the error.
  13264. //
  13265. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13266. // API operation DisassociateAddress for usage and error information.
  13267. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  13268. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  13269. req, out := c.DisassociateAddressRequest(input)
  13270. return out, req.Send()
  13271. }
  13272. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  13273. // the ability to pass a context and additional request options.
  13274. //
  13275. // See DisassociateAddress for details on how to use this API operation.
  13276. //
  13277. // The context must be non-nil and will be used for request cancellation. If
  13278. // the context is nil a panic will occur. In the future the SDK may create
  13279. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13280. // for more information on using Contexts.
  13281. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  13282. req, out := c.DisassociateAddressRequest(input)
  13283. req.SetContext(ctx)
  13284. req.ApplyOptions(opts...)
  13285. return out, req.Send()
  13286. }
  13287. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  13288. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  13289. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  13290. // value can be used to capture response data after the request's "Send" method
  13291. // is called.
  13292. //
  13293. // See DisassociateIamInstanceProfile for usage and error information.
  13294. //
  13295. // Creating a request object using this method should be used when you want to inject
  13296. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13297. // access properties on the request object before or after sending the request. If
  13298. // you just want the service response, call the DisassociateIamInstanceProfile method directly
  13299. // instead.
  13300. //
  13301. // Note: You must call the "Send" method on the returned request object in order
  13302. // to execute the request.
  13303. //
  13304. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  13305. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  13306. //
  13307. // err := req.Send()
  13308. // if err == nil { // resp is now filled
  13309. // fmt.Println(resp)
  13310. // }
  13311. //
  13312. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  13313. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  13314. op := &request.Operation{
  13315. Name: opDisassociateIamInstanceProfile,
  13316. HTTPMethod: "POST",
  13317. HTTPPath: "/",
  13318. }
  13319. if input == nil {
  13320. input = &DisassociateIamInstanceProfileInput{}
  13321. }
  13322. output = &DisassociateIamInstanceProfileOutput{}
  13323. req = c.newRequest(op, input, output)
  13324. return
  13325. }
  13326. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  13327. //
  13328. // Disassociates an IAM instance profile from a running or stopped instance.
  13329. //
  13330. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  13331. //
  13332. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13333. // with awserr.Error's Code and Message methods to get detailed information about
  13334. // the error.
  13335. //
  13336. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13337. // API operation DisassociateIamInstanceProfile for usage and error information.
  13338. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  13339. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  13340. req, out := c.DisassociateIamInstanceProfileRequest(input)
  13341. return out, req.Send()
  13342. }
  13343. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  13344. // the ability to pass a context and additional request options.
  13345. //
  13346. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  13347. //
  13348. // The context must be non-nil and will be used for request cancellation. If
  13349. // the context is nil a panic will occur. In the future the SDK may create
  13350. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13351. // for more information on using Contexts.
  13352. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  13353. req, out := c.DisassociateIamInstanceProfileRequest(input)
  13354. req.SetContext(ctx)
  13355. req.ApplyOptions(opts...)
  13356. return out, req.Send()
  13357. }
  13358. const opDisassociateRouteTable = "DisassociateRouteTable"
  13359. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  13360. // client's request for the DisassociateRouteTable operation. The "output" return
  13361. // value can be used to capture response data after the request's "Send" method
  13362. // is called.
  13363. //
  13364. // See DisassociateRouteTable for usage and error information.
  13365. //
  13366. // Creating a request object using this method should be used when you want to inject
  13367. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13368. // access properties on the request object before or after sending the request. If
  13369. // you just want the service response, call the DisassociateRouteTable method directly
  13370. // instead.
  13371. //
  13372. // Note: You must call the "Send" method on the returned request object in order
  13373. // to execute the request.
  13374. //
  13375. // // Example sending a request using the DisassociateRouteTableRequest method.
  13376. // req, resp := client.DisassociateRouteTableRequest(params)
  13377. //
  13378. // err := req.Send()
  13379. // if err == nil { // resp is now filled
  13380. // fmt.Println(resp)
  13381. // }
  13382. //
  13383. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  13384. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  13385. op := &request.Operation{
  13386. Name: opDisassociateRouteTable,
  13387. HTTPMethod: "POST",
  13388. HTTPPath: "/",
  13389. }
  13390. if input == nil {
  13391. input = &DisassociateRouteTableInput{}
  13392. }
  13393. output = &DisassociateRouteTableOutput{}
  13394. req = c.newRequest(op, input, output)
  13395. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13396. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13397. return
  13398. }
  13399. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  13400. //
  13401. // Disassociates a subnet from a route table.
  13402. //
  13403. // After you perform this action, the subnet no longer uses the routes in the
  13404. // route table. Instead, it uses the routes in the VPC's main route table. For
  13405. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  13406. // in the Amazon Virtual Private Cloud User Guide.
  13407. //
  13408. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13409. // with awserr.Error's Code and Message methods to get detailed information about
  13410. // the error.
  13411. //
  13412. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13413. // API operation DisassociateRouteTable for usage and error information.
  13414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  13415. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  13416. req, out := c.DisassociateRouteTableRequest(input)
  13417. return out, req.Send()
  13418. }
  13419. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  13420. // the ability to pass a context and additional request options.
  13421. //
  13422. // See DisassociateRouteTable for details on how to use this API operation.
  13423. //
  13424. // The context must be non-nil and will be used for request cancellation. If
  13425. // the context is nil a panic will occur. In the future the SDK may create
  13426. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13427. // for more information on using Contexts.
  13428. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  13429. req, out := c.DisassociateRouteTableRequest(input)
  13430. req.SetContext(ctx)
  13431. req.ApplyOptions(opts...)
  13432. return out, req.Send()
  13433. }
  13434. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  13435. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  13436. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  13437. // value can be used to capture response data after the request's "Send" method
  13438. // is called.
  13439. //
  13440. // See DisassociateSubnetCidrBlock for usage and error information.
  13441. //
  13442. // Creating a request object using this method should be used when you want to inject
  13443. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13444. // access properties on the request object before or after sending the request. If
  13445. // you just want the service response, call the DisassociateSubnetCidrBlock method directly
  13446. // instead.
  13447. //
  13448. // Note: You must call the "Send" method on the returned request object in order
  13449. // to execute the request.
  13450. //
  13451. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  13452. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  13453. //
  13454. // err := req.Send()
  13455. // if err == nil { // resp is now filled
  13456. // fmt.Println(resp)
  13457. // }
  13458. //
  13459. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  13460. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  13461. op := &request.Operation{
  13462. Name: opDisassociateSubnetCidrBlock,
  13463. HTTPMethod: "POST",
  13464. HTTPPath: "/",
  13465. }
  13466. if input == nil {
  13467. input = &DisassociateSubnetCidrBlockInput{}
  13468. }
  13469. output = &DisassociateSubnetCidrBlockOutput{}
  13470. req = c.newRequest(op, input, output)
  13471. return
  13472. }
  13473. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  13474. //
  13475. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  13476. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  13477. // that are associated with the CIDR block before you can disassociate it.
  13478. //
  13479. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13480. // with awserr.Error's Code and Message methods to get detailed information about
  13481. // the error.
  13482. //
  13483. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13484. // API operation DisassociateSubnetCidrBlock for usage and error information.
  13485. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  13486. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  13487. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  13488. return out, req.Send()
  13489. }
  13490. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  13491. // the ability to pass a context and additional request options.
  13492. //
  13493. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  13494. //
  13495. // The context must be non-nil and will be used for request cancellation. If
  13496. // the context is nil a panic will occur. In the future the SDK may create
  13497. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13498. // for more information on using Contexts.
  13499. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  13500. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  13501. req.SetContext(ctx)
  13502. req.ApplyOptions(opts...)
  13503. return out, req.Send()
  13504. }
  13505. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  13506. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  13507. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  13508. // value can be used to capture response data after the request's "Send" method
  13509. // is called.
  13510. //
  13511. // See DisassociateVpcCidrBlock for usage and error information.
  13512. //
  13513. // Creating a request object using this method should be used when you want to inject
  13514. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13515. // access properties on the request object before or after sending the request. If
  13516. // you just want the service response, call the DisassociateVpcCidrBlock method directly
  13517. // instead.
  13518. //
  13519. // Note: You must call the "Send" method on the returned request object in order
  13520. // to execute the request.
  13521. //
  13522. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  13523. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  13524. //
  13525. // err := req.Send()
  13526. // if err == nil { // resp is now filled
  13527. // fmt.Println(resp)
  13528. // }
  13529. //
  13530. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  13531. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  13532. op := &request.Operation{
  13533. Name: opDisassociateVpcCidrBlock,
  13534. HTTPMethod: "POST",
  13535. HTTPPath: "/",
  13536. }
  13537. if input == nil {
  13538. input = &DisassociateVpcCidrBlockInput{}
  13539. }
  13540. output = &DisassociateVpcCidrBlockOutput{}
  13541. req = c.newRequest(op, input, output)
  13542. return
  13543. }
  13544. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  13545. //
  13546. // Disassociates a CIDR block from a VPC. Currently, you can disassociate an
  13547. // IPv6 CIDR block only. You must detach or delete all gateways and resources
  13548. // that are associated with the CIDR block before you can disassociate it.
  13549. //
  13550. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13551. // with awserr.Error's Code and Message methods to get detailed information about
  13552. // the error.
  13553. //
  13554. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13555. // API operation DisassociateVpcCidrBlock for usage and error information.
  13556. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  13557. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  13558. req, out := c.DisassociateVpcCidrBlockRequest(input)
  13559. return out, req.Send()
  13560. }
  13561. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  13562. // the ability to pass a context and additional request options.
  13563. //
  13564. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  13565. //
  13566. // The context must be non-nil and will be used for request cancellation. If
  13567. // the context is nil a panic will occur. In the future the SDK may create
  13568. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13569. // for more information on using Contexts.
  13570. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  13571. req, out := c.DisassociateVpcCidrBlockRequest(input)
  13572. req.SetContext(ctx)
  13573. req.ApplyOptions(opts...)
  13574. return out, req.Send()
  13575. }
  13576. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  13577. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  13578. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  13579. // value can be used to capture response data after the request's "Send" method
  13580. // is called.
  13581. //
  13582. // See EnableVgwRoutePropagation for usage and error information.
  13583. //
  13584. // Creating a request object using this method should be used when you want to inject
  13585. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13586. // access properties on the request object before or after sending the request. If
  13587. // you just want the service response, call the EnableVgwRoutePropagation method directly
  13588. // instead.
  13589. //
  13590. // Note: You must call the "Send" method on the returned request object in order
  13591. // to execute the request.
  13592. //
  13593. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  13594. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  13595. //
  13596. // err := req.Send()
  13597. // if err == nil { // resp is now filled
  13598. // fmt.Println(resp)
  13599. // }
  13600. //
  13601. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  13602. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  13603. op := &request.Operation{
  13604. Name: opEnableVgwRoutePropagation,
  13605. HTTPMethod: "POST",
  13606. HTTPPath: "/",
  13607. }
  13608. if input == nil {
  13609. input = &EnableVgwRoutePropagationInput{}
  13610. }
  13611. output = &EnableVgwRoutePropagationOutput{}
  13612. req = c.newRequest(op, input, output)
  13613. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13614. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13615. return
  13616. }
  13617. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  13618. //
  13619. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  13620. // route table of a VPC.
  13621. //
  13622. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13623. // with awserr.Error's Code and Message methods to get detailed information about
  13624. // the error.
  13625. //
  13626. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13627. // API operation EnableVgwRoutePropagation for usage and error information.
  13628. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  13629. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  13630. req, out := c.EnableVgwRoutePropagationRequest(input)
  13631. return out, req.Send()
  13632. }
  13633. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  13634. // the ability to pass a context and additional request options.
  13635. //
  13636. // See EnableVgwRoutePropagation for details on how to use this API operation.
  13637. //
  13638. // The context must be non-nil and will be used for request cancellation. If
  13639. // the context is nil a panic will occur. In the future the SDK may create
  13640. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13641. // for more information on using Contexts.
  13642. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  13643. req, out := c.EnableVgwRoutePropagationRequest(input)
  13644. req.SetContext(ctx)
  13645. req.ApplyOptions(opts...)
  13646. return out, req.Send()
  13647. }
  13648. const opEnableVolumeIO = "EnableVolumeIO"
  13649. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  13650. // client's request for the EnableVolumeIO operation. The "output" return
  13651. // value can be used to capture response data after the request's "Send" method
  13652. // is called.
  13653. //
  13654. // See EnableVolumeIO for usage and error information.
  13655. //
  13656. // Creating a request object using this method should be used when you want to inject
  13657. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13658. // access properties on the request object before or after sending the request. If
  13659. // you just want the service response, call the EnableVolumeIO method directly
  13660. // instead.
  13661. //
  13662. // Note: You must call the "Send" method on the returned request object in order
  13663. // to execute the request.
  13664. //
  13665. // // Example sending a request using the EnableVolumeIORequest method.
  13666. // req, resp := client.EnableVolumeIORequest(params)
  13667. //
  13668. // err := req.Send()
  13669. // if err == nil { // resp is now filled
  13670. // fmt.Println(resp)
  13671. // }
  13672. //
  13673. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  13674. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  13675. op := &request.Operation{
  13676. Name: opEnableVolumeIO,
  13677. HTTPMethod: "POST",
  13678. HTTPPath: "/",
  13679. }
  13680. if input == nil {
  13681. input = &EnableVolumeIOInput{}
  13682. }
  13683. output = &EnableVolumeIOOutput{}
  13684. req = c.newRequest(op, input, output)
  13685. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13686. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13687. return
  13688. }
  13689. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  13690. //
  13691. // Enables I/O operations for a volume that had I/O operations disabled because
  13692. // the data on the volume was potentially inconsistent.
  13693. //
  13694. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13695. // with awserr.Error's Code and Message methods to get detailed information about
  13696. // the error.
  13697. //
  13698. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13699. // API operation EnableVolumeIO for usage and error information.
  13700. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  13701. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  13702. req, out := c.EnableVolumeIORequest(input)
  13703. return out, req.Send()
  13704. }
  13705. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  13706. // the ability to pass a context and additional request options.
  13707. //
  13708. // See EnableVolumeIO for details on how to use this API operation.
  13709. //
  13710. // The context must be non-nil and will be used for request cancellation. If
  13711. // the context is nil a panic will occur. In the future the SDK may create
  13712. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13713. // for more information on using Contexts.
  13714. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  13715. req, out := c.EnableVolumeIORequest(input)
  13716. req.SetContext(ctx)
  13717. req.ApplyOptions(opts...)
  13718. return out, req.Send()
  13719. }
  13720. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  13721. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  13722. // client's request for the EnableVpcClassicLink operation. The "output" return
  13723. // value can be used to capture response data after the request's "Send" method
  13724. // is called.
  13725. //
  13726. // See EnableVpcClassicLink for usage and error information.
  13727. //
  13728. // Creating a request object using this method should be used when you want to inject
  13729. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13730. // access properties on the request object before or after sending the request. If
  13731. // you just want the service response, call the EnableVpcClassicLink method directly
  13732. // instead.
  13733. //
  13734. // Note: You must call the "Send" method on the returned request object in order
  13735. // to execute the request.
  13736. //
  13737. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  13738. // req, resp := client.EnableVpcClassicLinkRequest(params)
  13739. //
  13740. // err := req.Send()
  13741. // if err == nil { // resp is now filled
  13742. // fmt.Println(resp)
  13743. // }
  13744. //
  13745. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  13746. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  13747. op := &request.Operation{
  13748. Name: opEnableVpcClassicLink,
  13749. HTTPMethod: "POST",
  13750. HTTPPath: "/",
  13751. }
  13752. if input == nil {
  13753. input = &EnableVpcClassicLinkInput{}
  13754. }
  13755. output = &EnableVpcClassicLinkOutput{}
  13756. req = c.newRequest(op, input, output)
  13757. return
  13758. }
  13759. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  13760. //
  13761. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  13762. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  13763. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  13764. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  13765. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  13766. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13767. // in the Amazon Elastic Compute Cloud User Guide.
  13768. //
  13769. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13770. // with awserr.Error's Code and Message methods to get detailed information about
  13771. // the error.
  13772. //
  13773. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13774. // API operation EnableVpcClassicLink for usage and error information.
  13775. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  13776. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  13777. req, out := c.EnableVpcClassicLinkRequest(input)
  13778. return out, req.Send()
  13779. }
  13780. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  13781. // the ability to pass a context and additional request options.
  13782. //
  13783. // See EnableVpcClassicLink for details on how to use this API operation.
  13784. //
  13785. // The context must be non-nil and will be used for request cancellation. If
  13786. // the context is nil a panic will occur. In the future the SDK may create
  13787. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13788. // for more information on using Contexts.
  13789. func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  13790. req, out := c.EnableVpcClassicLinkRequest(input)
  13791. req.SetContext(ctx)
  13792. req.ApplyOptions(opts...)
  13793. return out, req.Send()
  13794. }
  13795. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  13796. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  13797. // client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
  13798. // value can be used to capture response data after the request's "Send" method
  13799. // is called.
  13800. //
  13801. // See EnableVpcClassicLinkDnsSupport for usage and error information.
  13802. //
  13803. // Creating a request object using this method should be used when you want to inject
  13804. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13805. // access properties on the request object before or after sending the request. If
  13806. // you just want the service response, call the EnableVpcClassicLinkDnsSupport method directly
  13807. // instead.
  13808. //
  13809. // Note: You must call the "Send" method on the returned request object in order
  13810. // to execute the request.
  13811. //
  13812. // // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
  13813. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
  13814. //
  13815. // err := req.Send()
  13816. // if err == nil { // resp is now filled
  13817. // fmt.Println(resp)
  13818. // }
  13819. //
  13820. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  13821. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  13822. op := &request.Operation{
  13823. Name: opEnableVpcClassicLinkDnsSupport,
  13824. HTTPMethod: "POST",
  13825. HTTPPath: "/",
  13826. }
  13827. if input == nil {
  13828. input = &EnableVpcClassicLinkDnsSupportInput{}
  13829. }
  13830. output = &EnableVpcClassicLinkDnsSupportOutput{}
  13831. req = c.newRequest(op, input, output)
  13832. return
  13833. }
  13834. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  13835. //
  13836. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  13837. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  13838. // IP address when addressed from an instance in the VPC to which it's linked.
  13839. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  13840. // IP address when addressed from a linked EC2-Classic instance. For more information
  13841. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13842. // in the Amazon Elastic Compute Cloud User Guide.
  13843. //
  13844. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13845. // with awserr.Error's Code and Message methods to get detailed information about
  13846. // the error.
  13847. //
  13848. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13849. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  13850. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  13851. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  13852. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  13853. return out, req.Send()
  13854. }
  13855. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  13856. // the ability to pass a context and additional request options.
  13857. //
  13858. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  13859. //
  13860. // The context must be non-nil and will be used for request cancellation. If
  13861. // the context is nil a panic will occur. In the future the SDK may create
  13862. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13863. // for more information on using Contexts.
  13864. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  13865. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  13866. req.SetContext(ctx)
  13867. req.ApplyOptions(opts...)
  13868. return out, req.Send()
  13869. }
  13870. const opGetConsoleOutput = "GetConsoleOutput"
  13871. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  13872. // client's request for the GetConsoleOutput operation. The "output" return
  13873. // value can be used to capture response data after the request's "Send" method
  13874. // is called.
  13875. //
  13876. // See GetConsoleOutput for usage and error information.
  13877. //
  13878. // Creating a request object using this method should be used when you want to inject
  13879. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13880. // access properties on the request object before or after sending the request. If
  13881. // you just want the service response, call the GetConsoleOutput method directly
  13882. // instead.
  13883. //
  13884. // Note: You must call the "Send" method on the returned request object in order
  13885. // to execute the request.
  13886. //
  13887. // // Example sending a request using the GetConsoleOutputRequest method.
  13888. // req, resp := client.GetConsoleOutputRequest(params)
  13889. //
  13890. // err := req.Send()
  13891. // if err == nil { // resp is now filled
  13892. // fmt.Println(resp)
  13893. // }
  13894. //
  13895. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  13896. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  13897. op := &request.Operation{
  13898. Name: opGetConsoleOutput,
  13899. HTTPMethod: "POST",
  13900. HTTPPath: "/",
  13901. }
  13902. if input == nil {
  13903. input = &GetConsoleOutputInput{}
  13904. }
  13905. output = &GetConsoleOutputOutput{}
  13906. req = c.newRequest(op, input, output)
  13907. return
  13908. }
  13909. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  13910. //
  13911. // Gets the console output for the specified instance.
  13912. //
  13913. // Instances do not have a physical monitor through which you can view their
  13914. // console output. They also lack physical controls that allow you to power
  13915. // up, reboot, or shut them down. To allow these actions, we provide them through
  13916. // the Amazon EC2 API and command line interface.
  13917. //
  13918. // Instance console output is buffered and posted shortly after instance boot,
  13919. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
  13920. // which is available for at least one hour after the most recent post.
  13921. //
  13922. // For Linux instances, the instance console output displays the exact console
  13923. // output that would normally be displayed on a physical monitor attached to
  13924. // a computer. This output is buffered because the instance produces it and
  13925. // then posts it to a store where the instance's owner can retrieve it.
  13926. //
  13927. // For Windows instances, the instance console output includes output from the
  13928. // EC2Config service.
  13929. //
  13930. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13931. // with awserr.Error's Code and Message methods to get detailed information about
  13932. // the error.
  13933. //
  13934. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13935. // API operation GetConsoleOutput for usage and error information.
  13936. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  13937. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  13938. req, out := c.GetConsoleOutputRequest(input)
  13939. return out, req.Send()
  13940. }
  13941. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  13942. // the ability to pass a context and additional request options.
  13943. //
  13944. // See GetConsoleOutput for details on how to use this API operation.
  13945. //
  13946. // The context must be non-nil and will be used for request cancellation. If
  13947. // the context is nil a panic will occur. In the future the SDK may create
  13948. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13949. // for more information on using Contexts.
  13950. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  13951. req, out := c.GetConsoleOutputRequest(input)
  13952. req.SetContext(ctx)
  13953. req.ApplyOptions(opts...)
  13954. return out, req.Send()
  13955. }
  13956. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  13957. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  13958. // client's request for the GetConsoleScreenshot operation. The "output" return
  13959. // value can be used to capture response data after the request's "Send" method
  13960. // is called.
  13961. //
  13962. // See GetConsoleScreenshot for usage and error information.
  13963. //
  13964. // Creating a request object using this method should be used when you want to inject
  13965. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13966. // access properties on the request object before or after sending the request. If
  13967. // you just want the service response, call the GetConsoleScreenshot method directly
  13968. // instead.
  13969. //
  13970. // Note: You must call the "Send" method on the returned request object in order
  13971. // to execute the request.
  13972. //
  13973. // // Example sending a request using the GetConsoleScreenshotRequest method.
  13974. // req, resp := client.GetConsoleScreenshotRequest(params)
  13975. //
  13976. // err := req.Send()
  13977. // if err == nil { // resp is now filled
  13978. // fmt.Println(resp)
  13979. // }
  13980. //
  13981. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  13982. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  13983. op := &request.Operation{
  13984. Name: opGetConsoleScreenshot,
  13985. HTTPMethod: "POST",
  13986. HTTPPath: "/",
  13987. }
  13988. if input == nil {
  13989. input = &GetConsoleScreenshotInput{}
  13990. }
  13991. output = &GetConsoleScreenshotOutput{}
  13992. req = c.newRequest(op, input, output)
  13993. return
  13994. }
  13995. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  13996. //
  13997. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  13998. //
  13999. // The returned content is Base64-encoded.
  14000. //
  14001. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14002. // with awserr.Error's Code and Message methods to get detailed information about
  14003. // the error.
  14004. //
  14005. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14006. // API operation GetConsoleScreenshot for usage and error information.
  14007. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  14008. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  14009. req, out := c.GetConsoleScreenshotRequest(input)
  14010. return out, req.Send()
  14011. }
  14012. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  14013. // the ability to pass a context and additional request options.
  14014. //
  14015. // See GetConsoleScreenshot for details on how to use this API operation.
  14016. //
  14017. // The context must be non-nil and will be used for request cancellation. If
  14018. // the context is nil a panic will occur. In the future the SDK may create
  14019. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14020. // for more information on using Contexts.
  14021. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  14022. req, out := c.GetConsoleScreenshotRequest(input)
  14023. req.SetContext(ctx)
  14024. req.ApplyOptions(opts...)
  14025. return out, req.Send()
  14026. }
  14027. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  14028. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  14029. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  14030. // value can be used to capture response data after the request's "Send" method
  14031. // is called.
  14032. //
  14033. // See GetHostReservationPurchasePreview for usage and error information.
  14034. //
  14035. // Creating a request object using this method should be used when you want to inject
  14036. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14037. // access properties on the request object before or after sending the request. If
  14038. // you just want the service response, call the GetHostReservationPurchasePreview method directly
  14039. // instead.
  14040. //
  14041. // Note: You must call the "Send" method on the returned request object in order
  14042. // to execute the request.
  14043. //
  14044. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  14045. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  14046. //
  14047. // err := req.Send()
  14048. // if err == nil { // resp is now filled
  14049. // fmt.Println(resp)
  14050. // }
  14051. //
  14052. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  14053. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  14054. op := &request.Operation{
  14055. Name: opGetHostReservationPurchasePreview,
  14056. HTTPMethod: "POST",
  14057. HTTPPath: "/",
  14058. }
  14059. if input == nil {
  14060. input = &GetHostReservationPurchasePreviewInput{}
  14061. }
  14062. output = &GetHostReservationPurchasePreviewOutput{}
  14063. req = c.newRequest(op, input, output)
  14064. return
  14065. }
  14066. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  14067. //
  14068. // Preview a reservation purchase with configurations that match those of your
  14069. // Dedicated Host. You must have active Dedicated Hosts in your account before
  14070. // you purchase a reservation.
  14071. //
  14072. // This is a preview of the PurchaseHostReservation action and does not result
  14073. // in the offering being purchased.
  14074. //
  14075. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14076. // with awserr.Error's Code and Message methods to get detailed information about
  14077. // the error.
  14078. //
  14079. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14080. // API operation GetHostReservationPurchasePreview for usage and error information.
  14081. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  14082. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  14083. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  14084. return out, req.Send()
  14085. }
  14086. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  14087. // the ability to pass a context and additional request options.
  14088. //
  14089. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  14090. //
  14091. // The context must be non-nil and will be used for request cancellation. If
  14092. // the context is nil a panic will occur. In the future the SDK may create
  14093. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14094. // for more information on using Contexts.
  14095. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  14096. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  14097. req.SetContext(ctx)
  14098. req.ApplyOptions(opts...)
  14099. return out, req.Send()
  14100. }
  14101. const opGetPasswordData = "GetPasswordData"
  14102. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  14103. // client's request for the GetPasswordData operation. The "output" return
  14104. // value can be used to capture response data after the request's "Send" method
  14105. // is called.
  14106. //
  14107. // See GetPasswordData for usage and error information.
  14108. //
  14109. // Creating a request object using this method should be used when you want to inject
  14110. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14111. // access properties on the request object before or after sending the request. If
  14112. // you just want the service response, call the GetPasswordData method directly
  14113. // instead.
  14114. //
  14115. // Note: You must call the "Send" method on the returned request object in order
  14116. // to execute the request.
  14117. //
  14118. // // Example sending a request using the GetPasswordDataRequest method.
  14119. // req, resp := client.GetPasswordDataRequest(params)
  14120. //
  14121. // err := req.Send()
  14122. // if err == nil { // resp is now filled
  14123. // fmt.Println(resp)
  14124. // }
  14125. //
  14126. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  14127. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  14128. op := &request.Operation{
  14129. Name: opGetPasswordData,
  14130. HTTPMethod: "POST",
  14131. HTTPPath: "/",
  14132. }
  14133. if input == nil {
  14134. input = &GetPasswordDataInput{}
  14135. }
  14136. output = &GetPasswordDataOutput{}
  14137. req = c.newRequest(op, input, output)
  14138. return
  14139. }
  14140. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  14141. //
  14142. // Retrieves the encrypted administrator password for an instance running Windows.
  14143. //
  14144. // The Windows password is generated at boot if the EC2Config service plugin,
  14145. // Ec2SetPassword, is enabled. This usually only happens the first time an AMI
  14146. // is launched, and then Ec2SetPassword is automatically disabled. The password
  14147. // is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
  14148. // bundling.
  14149. //
  14150. // The password is encrypted using the key pair that you specified when you
  14151. // launched the instance. You must provide the corresponding key pair file.
  14152. //
  14153. // Password generation and encryption takes a few moments. We recommend that
  14154. // you wait up to 15 minutes after launching an instance before trying to retrieve
  14155. // the generated password.
  14156. //
  14157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14158. // with awserr.Error's Code and Message methods to get detailed information about
  14159. // the error.
  14160. //
  14161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14162. // API operation GetPasswordData for usage and error information.
  14163. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  14164. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  14165. req, out := c.GetPasswordDataRequest(input)
  14166. return out, req.Send()
  14167. }
  14168. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  14169. // the ability to pass a context and additional request options.
  14170. //
  14171. // See GetPasswordData for details on how to use this API operation.
  14172. //
  14173. // The context must be non-nil and will be used for request cancellation. If
  14174. // the context is nil a panic will occur. In the future the SDK may create
  14175. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14176. // for more information on using Contexts.
  14177. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  14178. req, out := c.GetPasswordDataRequest(input)
  14179. req.SetContext(ctx)
  14180. req.ApplyOptions(opts...)
  14181. return out, req.Send()
  14182. }
  14183. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  14184. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  14185. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  14186. // value can be used to capture response data after the request's "Send" method
  14187. // is called.
  14188. //
  14189. // See GetReservedInstancesExchangeQuote for usage and error information.
  14190. //
  14191. // Creating a request object using this method should be used when you want to inject
  14192. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14193. // access properties on the request object before or after sending the request. If
  14194. // you just want the service response, call the GetReservedInstancesExchangeQuote method directly
  14195. // instead.
  14196. //
  14197. // Note: You must call the "Send" method on the returned request object in order
  14198. // to execute the request.
  14199. //
  14200. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  14201. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  14202. //
  14203. // err := req.Send()
  14204. // if err == nil { // resp is now filled
  14205. // fmt.Println(resp)
  14206. // }
  14207. //
  14208. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  14209. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  14210. op := &request.Operation{
  14211. Name: opGetReservedInstancesExchangeQuote,
  14212. HTTPMethod: "POST",
  14213. HTTPPath: "/",
  14214. }
  14215. if input == nil {
  14216. input = &GetReservedInstancesExchangeQuoteInput{}
  14217. }
  14218. output = &GetReservedInstancesExchangeQuoteOutput{}
  14219. req = c.newRequest(op, input, output)
  14220. return
  14221. }
  14222. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  14223. //
  14224. // Returns details about the values and term of your specified Convertible Reserved
  14225. // Instances. When a target configuration is specified, it returns information
  14226. // about whether the exchange is valid and can be performed.
  14227. //
  14228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14229. // with awserr.Error's Code and Message methods to get detailed information about
  14230. // the error.
  14231. //
  14232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14233. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  14234. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  14235. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  14236. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  14237. return out, req.Send()
  14238. }
  14239. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  14240. // the ability to pass a context and additional request options.
  14241. //
  14242. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  14243. //
  14244. // The context must be non-nil and will be used for request cancellation. If
  14245. // the context is nil a panic will occur. In the future the SDK may create
  14246. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14247. // for more information on using Contexts.
  14248. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  14249. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  14250. req.SetContext(ctx)
  14251. req.ApplyOptions(opts...)
  14252. return out, req.Send()
  14253. }
  14254. const opImportImage = "ImportImage"
  14255. // ImportImageRequest generates a "aws/request.Request" representing the
  14256. // client's request for the ImportImage operation. The "output" return
  14257. // value can be used to capture response data after the request's "Send" method
  14258. // is called.
  14259. //
  14260. // See ImportImage for usage and error information.
  14261. //
  14262. // Creating a request object using this method should be used when you want to inject
  14263. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14264. // access properties on the request object before or after sending the request. If
  14265. // you just want the service response, call the ImportImage method directly
  14266. // instead.
  14267. //
  14268. // Note: You must call the "Send" method on the returned request object in order
  14269. // to execute the request.
  14270. //
  14271. // // Example sending a request using the ImportImageRequest method.
  14272. // req, resp := client.ImportImageRequest(params)
  14273. //
  14274. // err := req.Send()
  14275. // if err == nil { // resp is now filled
  14276. // fmt.Println(resp)
  14277. // }
  14278. //
  14279. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  14280. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  14281. op := &request.Operation{
  14282. Name: opImportImage,
  14283. HTTPMethod: "POST",
  14284. HTTPPath: "/",
  14285. }
  14286. if input == nil {
  14287. input = &ImportImageInput{}
  14288. }
  14289. output = &ImportImageOutput{}
  14290. req = c.newRequest(op, input, output)
  14291. return
  14292. }
  14293. // ImportImage API operation for Amazon Elastic Compute Cloud.
  14294. //
  14295. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  14296. // Machine Image (AMI). For more information, see Importing a VM as an Image
  14297. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  14298. // in the VM Import/Export User Guide.
  14299. //
  14300. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14301. // with awserr.Error's Code and Message methods to get detailed information about
  14302. // the error.
  14303. //
  14304. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14305. // API operation ImportImage for usage and error information.
  14306. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  14307. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  14308. req, out := c.ImportImageRequest(input)
  14309. return out, req.Send()
  14310. }
  14311. // ImportImageWithContext is the same as ImportImage with the addition of
  14312. // the ability to pass a context and additional request options.
  14313. //
  14314. // See ImportImage for details on how to use this API operation.
  14315. //
  14316. // The context must be non-nil and will be used for request cancellation. If
  14317. // the context is nil a panic will occur. In the future the SDK may create
  14318. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14319. // for more information on using Contexts.
  14320. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  14321. req, out := c.ImportImageRequest(input)
  14322. req.SetContext(ctx)
  14323. req.ApplyOptions(opts...)
  14324. return out, req.Send()
  14325. }
  14326. const opImportInstance = "ImportInstance"
  14327. // ImportInstanceRequest generates a "aws/request.Request" representing the
  14328. // client's request for the ImportInstance operation. The "output" return
  14329. // value can be used to capture response data after the request's "Send" method
  14330. // is called.
  14331. //
  14332. // See ImportInstance for usage and error information.
  14333. //
  14334. // Creating a request object using this method should be used when you want to inject
  14335. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14336. // access properties on the request object before or after sending the request. If
  14337. // you just want the service response, call the ImportInstance method directly
  14338. // instead.
  14339. //
  14340. // Note: You must call the "Send" method on the returned request object in order
  14341. // to execute the request.
  14342. //
  14343. // // Example sending a request using the ImportInstanceRequest method.
  14344. // req, resp := client.ImportInstanceRequest(params)
  14345. //
  14346. // err := req.Send()
  14347. // if err == nil { // resp is now filled
  14348. // fmt.Println(resp)
  14349. // }
  14350. //
  14351. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  14352. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  14353. op := &request.Operation{
  14354. Name: opImportInstance,
  14355. HTTPMethod: "POST",
  14356. HTTPPath: "/",
  14357. }
  14358. if input == nil {
  14359. input = &ImportInstanceInput{}
  14360. }
  14361. output = &ImportInstanceOutput{}
  14362. req = c.newRequest(op, input, output)
  14363. return
  14364. }
  14365. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  14366. //
  14367. // Creates an import instance task using metadata from the specified disk image.
  14368. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  14369. // use ImportImage. For more information, see Importing a Virtual Machine Using
  14370. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  14371. //
  14372. // For information about the import manifest referenced by this API action,
  14373. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  14374. //
  14375. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14376. // with awserr.Error's Code and Message methods to get detailed information about
  14377. // the error.
  14378. //
  14379. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14380. // API operation ImportInstance for usage and error information.
  14381. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  14382. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  14383. req, out := c.ImportInstanceRequest(input)
  14384. return out, req.Send()
  14385. }
  14386. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  14387. // the ability to pass a context and additional request options.
  14388. //
  14389. // See ImportInstance for details on how to use this API operation.
  14390. //
  14391. // The context must be non-nil and will be used for request cancellation. If
  14392. // the context is nil a panic will occur. In the future the SDK may create
  14393. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14394. // for more information on using Contexts.
  14395. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  14396. req, out := c.ImportInstanceRequest(input)
  14397. req.SetContext(ctx)
  14398. req.ApplyOptions(opts...)
  14399. return out, req.Send()
  14400. }
  14401. const opImportKeyPair = "ImportKeyPair"
  14402. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  14403. // client's request for the ImportKeyPair operation. The "output" return
  14404. // value can be used to capture response data after the request's "Send" method
  14405. // is called.
  14406. //
  14407. // See ImportKeyPair for usage and error information.
  14408. //
  14409. // Creating a request object using this method should be used when you want to inject
  14410. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14411. // access properties on the request object before or after sending the request. If
  14412. // you just want the service response, call the ImportKeyPair method directly
  14413. // instead.
  14414. //
  14415. // Note: You must call the "Send" method on the returned request object in order
  14416. // to execute the request.
  14417. //
  14418. // // Example sending a request using the ImportKeyPairRequest method.
  14419. // req, resp := client.ImportKeyPairRequest(params)
  14420. //
  14421. // err := req.Send()
  14422. // if err == nil { // resp is now filled
  14423. // fmt.Println(resp)
  14424. // }
  14425. //
  14426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  14427. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  14428. op := &request.Operation{
  14429. Name: opImportKeyPair,
  14430. HTTPMethod: "POST",
  14431. HTTPPath: "/",
  14432. }
  14433. if input == nil {
  14434. input = &ImportKeyPairInput{}
  14435. }
  14436. output = &ImportKeyPairOutput{}
  14437. req = c.newRequest(op, input, output)
  14438. return
  14439. }
  14440. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  14441. //
  14442. // Imports the public key from an RSA key pair that you created with a third-party
  14443. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  14444. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  14445. // you create the key pair and give AWS just the public key. The private key
  14446. // is never transferred between you and AWS.
  14447. //
  14448. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  14449. // in the Amazon Elastic Compute Cloud User Guide.
  14450. //
  14451. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14452. // with awserr.Error's Code and Message methods to get detailed information about
  14453. // the error.
  14454. //
  14455. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14456. // API operation ImportKeyPair for usage and error information.
  14457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  14458. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  14459. req, out := c.ImportKeyPairRequest(input)
  14460. return out, req.Send()
  14461. }
  14462. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  14463. // the ability to pass a context and additional request options.
  14464. //
  14465. // See ImportKeyPair for details on how to use this API operation.
  14466. //
  14467. // The context must be non-nil and will be used for request cancellation. If
  14468. // the context is nil a panic will occur. In the future the SDK may create
  14469. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14470. // for more information on using Contexts.
  14471. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  14472. req, out := c.ImportKeyPairRequest(input)
  14473. req.SetContext(ctx)
  14474. req.ApplyOptions(opts...)
  14475. return out, req.Send()
  14476. }
  14477. const opImportSnapshot = "ImportSnapshot"
  14478. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  14479. // client's request for the ImportSnapshot operation. The "output" return
  14480. // value can be used to capture response data after the request's "Send" method
  14481. // is called.
  14482. //
  14483. // See ImportSnapshot for usage and error information.
  14484. //
  14485. // Creating a request object using this method should be used when you want to inject
  14486. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14487. // access properties on the request object before or after sending the request. If
  14488. // you just want the service response, call the ImportSnapshot method directly
  14489. // instead.
  14490. //
  14491. // Note: You must call the "Send" method on the returned request object in order
  14492. // to execute the request.
  14493. //
  14494. // // Example sending a request using the ImportSnapshotRequest method.
  14495. // req, resp := client.ImportSnapshotRequest(params)
  14496. //
  14497. // err := req.Send()
  14498. // if err == nil { // resp is now filled
  14499. // fmt.Println(resp)
  14500. // }
  14501. //
  14502. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  14503. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  14504. op := &request.Operation{
  14505. Name: opImportSnapshot,
  14506. HTTPMethod: "POST",
  14507. HTTPPath: "/",
  14508. }
  14509. if input == nil {
  14510. input = &ImportSnapshotInput{}
  14511. }
  14512. output = &ImportSnapshotOutput{}
  14513. req = c.newRequest(op, input, output)
  14514. return
  14515. }
  14516. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  14517. //
  14518. // Imports a disk into an EBS snapshot.
  14519. //
  14520. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14521. // with awserr.Error's Code and Message methods to get detailed information about
  14522. // the error.
  14523. //
  14524. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14525. // API operation ImportSnapshot for usage and error information.
  14526. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  14527. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  14528. req, out := c.ImportSnapshotRequest(input)
  14529. return out, req.Send()
  14530. }
  14531. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  14532. // the ability to pass a context and additional request options.
  14533. //
  14534. // See ImportSnapshot for details on how to use this API operation.
  14535. //
  14536. // The context must be non-nil and will be used for request cancellation. If
  14537. // the context is nil a panic will occur. In the future the SDK may create
  14538. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14539. // for more information on using Contexts.
  14540. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  14541. req, out := c.ImportSnapshotRequest(input)
  14542. req.SetContext(ctx)
  14543. req.ApplyOptions(opts...)
  14544. return out, req.Send()
  14545. }
  14546. const opImportVolume = "ImportVolume"
  14547. // ImportVolumeRequest generates a "aws/request.Request" representing the
  14548. // client's request for the ImportVolume operation. The "output" return
  14549. // value can be used to capture response data after the request's "Send" method
  14550. // is called.
  14551. //
  14552. // See ImportVolume for usage and error information.
  14553. //
  14554. // Creating a request object using this method should be used when you want to inject
  14555. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14556. // access properties on the request object before or after sending the request. If
  14557. // you just want the service response, call the ImportVolume method directly
  14558. // instead.
  14559. //
  14560. // Note: You must call the "Send" method on the returned request object in order
  14561. // to execute the request.
  14562. //
  14563. // // Example sending a request using the ImportVolumeRequest method.
  14564. // req, resp := client.ImportVolumeRequest(params)
  14565. //
  14566. // err := req.Send()
  14567. // if err == nil { // resp is now filled
  14568. // fmt.Println(resp)
  14569. // }
  14570. //
  14571. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  14572. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  14573. op := &request.Operation{
  14574. Name: opImportVolume,
  14575. HTTPMethod: "POST",
  14576. HTTPPath: "/",
  14577. }
  14578. if input == nil {
  14579. input = &ImportVolumeInput{}
  14580. }
  14581. output = &ImportVolumeOutput{}
  14582. req = c.newRequest(op, input, output)
  14583. return
  14584. }
  14585. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  14586. //
  14587. // Creates an import volume task using metadata from the specified disk image.For
  14588. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  14589. //
  14590. // For information about the import manifest referenced by this API action,
  14591. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  14592. //
  14593. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14594. // with awserr.Error's Code and Message methods to get detailed information about
  14595. // the error.
  14596. //
  14597. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14598. // API operation ImportVolume for usage and error information.
  14599. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  14600. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  14601. req, out := c.ImportVolumeRequest(input)
  14602. return out, req.Send()
  14603. }
  14604. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  14605. // the ability to pass a context and additional request options.
  14606. //
  14607. // See ImportVolume for details on how to use this API operation.
  14608. //
  14609. // The context must be non-nil and will be used for request cancellation. If
  14610. // the context is nil a panic will occur. In the future the SDK may create
  14611. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14612. // for more information on using Contexts.
  14613. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  14614. req, out := c.ImportVolumeRequest(input)
  14615. req.SetContext(ctx)
  14616. req.ApplyOptions(opts...)
  14617. return out, req.Send()
  14618. }
  14619. const opModifyHosts = "ModifyHosts"
  14620. // ModifyHostsRequest generates a "aws/request.Request" representing the
  14621. // client's request for the ModifyHosts operation. The "output" return
  14622. // value can be used to capture response data after the request's "Send" method
  14623. // is called.
  14624. //
  14625. // See ModifyHosts for usage and error information.
  14626. //
  14627. // Creating a request object using this method should be used when you want to inject
  14628. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14629. // access properties on the request object before or after sending the request. If
  14630. // you just want the service response, call the ModifyHosts method directly
  14631. // instead.
  14632. //
  14633. // Note: You must call the "Send" method on the returned request object in order
  14634. // to execute the request.
  14635. //
  14636. // // Example sending a request using the ModifyHostsRequest method.
  14637. // req, resp := client.ModifyHostsRequest(params)
  14638. //
  14639. // err := req.Send()
  14640. // if err == nil { // resp is now filled
  14641. // fmt.Println(resp)
  14642. // }
  14643. //
  14644. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  14645. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  14646. op := &request.Operation{
  14647. Name: opModifyHosts,
  14648. HTTPMethod: "POST",
  14649. HTTPPath: "/",
  14650. }
  14651. if input == nil {
  14652. input = &ModifyHostsInput{}
  14653. }
  14654. output = &ModifyHostsOutput{}
  14655. req = c.newRequest(op, input, output)
  14656. return
  14657. }
  14658. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  14659. //
  14660. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  14661. // is enabled, AWS will place instances that you launch with a tenancy of host,
  14662. // but without targeting a specific host ID, onto any available Dedicated Host
  14663. // in your account which has auto-placement enabled. When auto-placement is
  14664. // disabled, you need to provide a host ID if you want the instance to launch
  14665. // onto a specific host. If no host ID is provided, the instance will be launched
  14666. // onto a suitable host which has auto-placement enabled.
  14667. //
  14668. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14669. // with awserr.Error's Code and Message methods to get detailed information about
  14670. // the error.
  14671. //
  14672. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14673. // API operation ModifyHosts for usage and error information.
  14674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  14675. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  14676. req, out := c.ModifyHostsRequest(input)
  14677. return out, req.Send()
  14678. }
  14679. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  14680. // the ability to pass a context and additional request options.
  14681. //
  14682. // See ModifyHosts for details on how to use this API operation.
  14683. //
  14684. // The context must be non-nil and will be used for request cancellation. If
  14685. // the context is nil a panic will occur. In the future the SDK may create
  14686. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14687. // for more information on using Contexts.
  14688. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  14689. req, out := c.ModifyHostsRequest(input)
  14690. req.SetContext(ctx)
  14691. req.ApplyOptions(opts...)
  14692. return out, req.Send()
  14693. }
  14694. const opModifyIdFormat = "ModifyIdFormat"
  14695. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  14696. // client's request for the ModifyIdFormat operation. The "output" return
  14697. // value can be used to capture response data after the request's "Send" method
  14698. // is called.
  14699. //
  14700. // See ModifyIdFormat for usage and error information.
  14701. //
  14702. // Creating a request object using this method should be used when you want to inject
  14703. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14704. // access properties on the request object before or after sending the request. If
  14705. // you just want the service response, call the ModifyIdFormat method directly
  14706. // instead.
  14707. //
  14708. // Note: You must call the "Send" method on the returned request object in order
  14709. // to execute the request.
  14710. //
  14711. // // Example sending a request using the ModifyIdFormatRequest method.
  14712. // req, resp := client.ModifyIdFormatRequest(params)
  14713. //
  14714. // err := req.Send()
  14715. // if err == nil { // resp is now filled
  14716. // fmt.Println(resp)
  14717. // }
  14718. //
  14719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  14720. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  14721. op := &request.Operation{
  14722. Name: opModifyIdFormat,
  14723. HTTPMethod: "POST",
  14724. HTTPPath: "/",
  14725. }
  14726. if input == nil {
  14727. input = &ModifyIdFormatInput{}
  14728. }
  14729. output = &ModifyIdFormatOutput{}
  14730. req = c.newRequest(op, input, output)
  14731. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14732. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14733. return
  14734. }
  14735. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  14736. //
  14737. // Modifies the ID format for the specified resource on a per-region basis.
  14738. // You can specify that resources should receive longer IDs (17-character IDs)
  14739. // when they are created. The following resource types support longer IDs: instance
  14740. // | reservation | snapshot | volume.
  14741. //
  14742. // This setting applies to the IAM user who makes the request; it does not apply
  14743. // to the entire AWS account. By default, an IAM user defaults to the same settings
  14744. // as the root user. If you're using this action as the root user, then these
  14745. // settings apply to the entire account, unless an IAM user explicitly overrides
  14746. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14747. // in the Amazon Elastic Compute Cloud User Guide.
  14748. //
  14749. // Resources created with longer IDs are visible to all IAM roles and users,
  14750. // regardless of these settings and provided that they have permission to use
  14751. // the relevant Describe command for the resource type.
  14752. //
  14753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14754. // with awserr.Error's Code and Message methods to get detailed information about
  14755. // the error.
  14756. //
  14757. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14758. // API operation ModifyIdFormat for usage and error information.
  14759. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  14760. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  14761. req, out := c.ModifyIdFormatRequest(input)
  14762. return out, req.Send()
  14763. }
  14764. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  14765. // the ability to pass a context and additional request options.
  14766. //
  14767. // See ModifyIdFormat for details on how to use this API operation.
  14768. //
  14769. // The context must be non-nil and will be used for request cancellation. If
  14770. // the context is nil a panic will occur. In the future the SDK may create
  14771. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14772. // for more information on using Contexts.
  14773. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  14774. req, out := c.ModifyIdFormatRequest(input)
  14775. req.SetContext(ctx)
  14776. req.ApplyOptions(opts...)
  14777. return out, req.Send()
  14778. }
  14779. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  14780. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  14781. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  14782. // value can be used to capture response data after the request's "Send" method
  14783. // is called.
  14784. //
  14785. // See ModifyIdentityIdFormat for usage and error information.
  14786. //
  14787. // Creating a request object using this method should be used when you want to inject
  14788. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14789. // access properties on the request object before or after sending the request. If
  14790. // you just want the service response, call the ModifyIdentityIdFormat method directly
  14791. // instead.
  14792. //
  14793. // Note: You must call the "Send" method on the returned request object in order
  14794. // to execute the request.
  14795. //
  14796. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  14797. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  14798. //
  14799. // err := req.Send()
  14800. // if err == nil { // resp is now filled
  14801. // fmt.Println(resp)
  14802. // }
  14803. //
  14804. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  14805. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  14806. op := &request.Operation{
  14807. Name: opModifyIdentityIdFormat,
  14808. HTTPMethod: "POST",
  14809. HTTPPath: "/",
  14810. }
  14811. if input == nil {
  14812. input = &ModifyIdentityIdFormatInput{}
  14813. }
  14814. output = &ModifyIdentityIdFormatOutput{}
  14815. req = c.newRequest(op, input, output)
  14816. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14817. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14818. return
  14819. }
  14820. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  14821. //
  14822. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  14823. // or the root user for an account; or all IAM users, IAM roles, and the root
  14824. // user for an account. You can specify that resources should receive longer
  14825. // IDs (17-character IDs) when they are created.
  14826. //
  14827. // The following resource types support longer IDs: instance | reservation |
  14828. // snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14829. // in the Amazon Elastic Compute Cloud User Guide.
  14830. //
  14831. // This setting applies to the principal specified in the request; it does not
  14832. // apply to the principal that makes the request.
  14833. //
  14834. // Resources created with longer IDs are visible to all IAM roles and users,
  14835. // regardless of these settings and provided that they have permission to use
  14836. // the relevant Describe command for the resource type.
  14837. //
  14838. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14839. // with awserr.Error's Code and Message methods to get detailed information about
  14840. // the error.
  14841. //
  14842. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14843. // API operation ModifyIdentityIdFormat for usage and error information.
  14844. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  14845. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  14846. req, out := c.ModifyIdentityIdFormatRequest(input)
  14847. return out, req.Send()
  14848. }
  14849. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  14850. // the ability to pass a context and additional request options.
  14851. //
  14852. // See ModifyIdentityIdFormat for details on how to use this API operation.
  14853. //
  14854. // The context must be non-nil and will be used for request cancellation. If
  14855. // the context is nil a panic will occur. In the future the SDK may create
  14856. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14857. // for more information on using Contexts.
  14858. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  14859. req, out := c.ModifyIdentityIdFormatRequest(input)
  14860. req.SetContext(ctx)
  14861. req.ApplyOptions(opts...)
  14862. return out, req.Send()
  14863. }
  14864. const opModifyImageAttribute = "ModifyImageAttribute"
  14865. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  14866. // client's request for the ModifyImageAttribute operation. The "output" return
  14867. // value can be used to capture response data after the request's "Send" method
  14868. // is called.
  14869. //
  14870. // See ModifyImageAttribute for usage and error information.
  14871. //
  14872. // Creating a request object using this method should be used when you want to inject
  14873. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14874. // access properties on the request object before or after sending the request. If
  14875. // you just want the service response, call the ModifyImageAttribute method directly
  14876. // instead.
  14877. //
  14878. // Note: You must call the "Send" method on the returned request object in order
  14879. // to execute the request.
  14880. //
  14881. // // Example sending a request using the ModifyImageAttributeRequest method.
  14882. // req, resp := client.ModifyImageAttributeRequest(params)
  14883. //
  14884. // err := req.Send()
  14885. // if err == nil { // resp is now filled
  14886. // fmt.Println(resp)
  14887. // }
  14888. //
  14889. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  14890. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  14891. op := &request.Operation{
  14892. Name: opModifyImageAttribute,
  14893. HTTPMethod: "POST",
  14894. HTTPPath: "/",
  14895. }
  14896. if input == nil {
  14897. input = &ModifyImageAttributeInput{}
  14898. }
  14899. output = &ModifyImageAttributeOutput{}
  14900. req = c.newRequest(op, input, output)
  14901. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14902. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14903. return
  14904. }
  14905. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  14906. //
  14907. // Modifies the specified attribute of the specified AMI. You can specify only
  14908. // one attribute at a time.
  14909. //
  14910. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  14911. // product code cannot be made public.
  14912. //
  14913. // The SriovNetSupport enhanced networking attribute cannot be changed using
  14914. // this command. Instead, enable SriovNetSupport on an instance and create an
  14915. // AMI from the instance. This will result in an image with SriovNetSupport
  14916. // enabled.
  14917. //
  14918. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14919. // with awserr.Error's Code and Message methods to get detailed information about
  14920. // the error.
  14921. //
  14922. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14923. // API operation ModifyImageAttribute for usage and error information.
  14924. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  14925. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  14926. req, out := c.ModifyImageAttributeRequest(input)
  14927. return out, req.Send()
  14928. }
  14929. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  14930. // the ability to pass a context and additional request options.
  14931. //
  14932. // See ModifyImageAttribute for details on how to use this API operation.
  14933. //
  14934. // The context must be non-nil and will be used for request cancellation. If
  14935. // the context is nil a panic will occur. In the future the SDK may create
  14936. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14937. // for more information on using Contexts.
  14938. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  14939. req, out := c.ModifyImageAttributeRequest(input)
  14940. req.SetContext(ctx)
  14941. req.ApplyOptions(opts...)
  14942. return out, req.Send()
  14943. }
  14944. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  14945. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  14946. // client's request for the ModifyInstanceAttribute operation. The "output" return
  14947. // value can be used to capture response data after the request's "Send" method
  14948. // is called.
  14949. //
  14950. // See ModifyInstanceAttribute for usage and error information.
  14951. //
  14952. // Creating a request object using this method should be used when you want to inject
  14953. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14954. // access properties on the request object before or after sending the request. If
  14955. // you just want the service response, call the ModifyInstanceAttribute method directly
  14956. // instead.
  14957. //
  14958. // Note: You must call the "Send" method on the returned request object in order
  14959. // to execute the request.
  14960. //
  14961. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  14962. // req, resp := client.ModifyInstanceAttributeRequest(params)
  14963. //
  14964. // err := req.Send()
  14965. // if err == nil { // resp is now filled
  14966. // fmt.Println(resp)
  14967. // }
  14968. //
  14969. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  14970. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  14971. op := &request.Operation{
  14972. Name: opModifyInstanceAttribute,
  14973. HTTPMethod: "POST",
  14974. HTTPPath: "/",
  14975. }
  14976. if input == nil {
  14977. input = &ModifyInstanceAttributeInput{}
  14978. }
  14979. output = &ModifyInstanceAttributeOutput{}
  14980. req = c.newRequest(op, input, output)
  14981. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14982. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14983. return
  14984. }
  14985. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  14986. //
  14987. // Modifies the specified attribute of the specified instance. You can specify
  14988. // only one attribute at a time.
  14989. //
  14990. // To modify some attributes, the instance must be stopped. For more information,
  14991. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  14992. // in the Amazon Elastic Compute Cloud User Guide.
  14993. //
  14994. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14995. // with awserr.Error's Code and Message methods to get detailed information about
  14996. // the error.
  14997. //
  14998. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14999. // API operation ModifyInstanceAttribute for usage and error information.
  15000. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  15001. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  15002. req, out := c.ModifyInstanceAttributeRequest(input)
  15003. return out, req.Send()
  15004. }
  15005. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  15006. // the ability to pass a context and additional request options.
  15007. //
  15008. // See ModifyInstanceAttribute for details on how to use this API operation.
  15009. //
  15010. // The context must be non-nil and will be used for request cancellation. If
  15011. // the context is nil a panic will occur. In the future the SDK may create
  15012. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15013. // for more information on using Contexts.
  15014. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  15015. req, out := c.ModifyInstanceAttributeRequest(input)
  15016. req.SetContext(ctx)
  15017. req.ApplyOptions(opts...)
  15018. return out, req.Send()
  15019. }
  15020. const opModifyInstancePlacement = "ModifyInstancePlacement"
  15021. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  15022. // client's request for the ModifyInstancePlacement operation. The "output" return
  15023. // value can be used to capture response data after the request's "Send" method
  15024. // is called.
  15025. //
  15026. // See ModifyInstancePlacement for usage and error information.
  15027. //
  15028. // Creating a request object using this method should be used when you want to inject
  15029. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15030. // access properties on the request object before or after sending the request. If
  15031. // you just want the service response, call the ModifyInstancePlacement method directly
  15032. // instead.
  15033. //
  15034. // Note: You must call the "Send" method on the returned request object in order
  15035. // to execute the request.
  15036. //
  15037. // // Example sending a request using the ModifyInstancePlacementRequest method.
  15038. // req, resp := client.ModifyInstancePlacementRequest(params)
  15039. //
  15040. // err := req.Send()
  15041. // if err == nil { // resp is now filled
  15042. // fmt.Println(resp)
  15043. // }
  15044. //
  15045. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  15046. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  15047. op := &request.Operation{
  15048. Name: opModifyInstancePlacement,
  15049. HTTPMethod: "POST",
  15050. HTTPPath: "/",
  15051. }
  15052. if input == nil {
  15053. input = &ModifyInstancePlacementInput{}
  15054. }
  15055. output = &ModifyInstancePlacementOutput{}
  15056. req = c.newRequest(op, input, output)
  15057. return
  15058. }
  15059. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  15060. //
  15061. // Set the instance affinity value for a specific stopped instance and modify
  15062. // the instance tenancy setting.
  15063. //
  15064. // Instance affinity is disabled by default. When instance affinity is host
  15065. // and it is not associated with a specific Dedicated Host, the next time it
  15066. // is launched it will automatically be associated with the host it lands on.
  15067. // This relationship will persist if the instance is stopped/started, or rebooted.
  15068. //
  15069. // You can modify the host ID associated with a stopped instance. If a stopped
  15070. // instance has a new host ID association, the instance will target that host
  15071. // when restarted.
  15072. //
  15073. // You can modify the tenancy of a stopped instance with a tenancy of host or
  15074. // dedicated.
  15075. //
  15076. // Affinity, hostID, and tenancy are not required parameters, but at least one
  15077. // of them must be specified in the request. Affinity and tenancy can be modified
  15078. // in the same request, but tenancy can only be modified on instances that are
  15079. // stopped.
  15080. //
  15081. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15082. // with awserr.Error's Code and Message methods to get detailed information about
  15083. // the error.
  15084. //
  15085. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15086. // API operation ModifyInstancePlacement for usage and error information.
  15087. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  15088. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  15089. req, out := c.ModifyInstancePlacementRequest(input)
  15090. return out, req.Send()
  15091. }
  15092. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  15093. // the ability to pass a context and additional request options.
  15094. //
  15095. // See ModifyInstancePlacement for details on how to use this API operation.
  15096. //
  15097. // The context must be non-nil and will be used for request cancellation. If
  15098. // the context is nil a panic will occur. In the future the SDK may create
  15099. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15100. // for more information on using Contexts.
  15101. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  15102. req, out := c.ModifyInstancePlacementRequest(input)
  15103. req.SetContext(ctx)
  15104. req.ApplyOptions(opts...)
  15105. return out, req.Send()
  15106. }
  15107. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  15108. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  15109. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  15110. // value can be used to capture response data after the request's "Send" method
  15111. // is called.
  15112. //
  15113. // See ModifyNetworkInterfaceAttribute for usage and error information.
  15114. //
  15115. // Creating a request object using this method should be used when you want to inject
  15116. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15117. // access properties on the request object before or after sending the request. If
  15118. // you just want the service response, call the ModifyNetworkInterfaceAttribute method directly
  15119. // instead.
  15120. //
  15121. // Note: You must call the "Send" method on the returned request object in order
  15122. // to execute the request.
  15123. //
  15124. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  15125. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  15126. //
  15127. // err := req.Send()
  15128. // if err == nil { // resp is now filled
  15129. // fmt.Println(resp)
  15130. // }
  15131. //
  15132. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  15133. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  15134. op := &request.Operation{
  15135. Name: opModifyNetworkInterfaceAttribute,
  15136. HTTPMethod: "POST",
  15137. HTTPPath: "/",
  15138. }
  15139. if input == nil {
  15140. input = &ModifyNetworkInterfaceAttributeInput{}
  15141. }
  15142. output = &ModifyNetworkInterfaceAttributeOutput{}
  15143. req = c.newRequest(op, input, output)
  15144. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15145. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15146. return
  15147. }
  15148. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  15149. //
  15150. // Modifies the specified network interface attribute. You can specify only
  15151. // one attribute at a time.
  15152. //
  15153. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15154. // with awserr.Error's Code and Message methods to get detailed information about
  15155. // the error.
  15156. //
  15157. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15158. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  15159. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  15160. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  15161. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  15162. return out, req.Send()
  15163. }
  15164. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  15165. // the ability to pass a context and additional request options.
  15166. //
  15167. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  15168. //
  15169. // The context must be non-nil and will be used for request cancellation. If
  15170. // the context is nil a panic will occur. In the future the SDK may create
  15171. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15172. // for more information on using Contexts.
  15173. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  15174. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  15175. req.SetContext(ctx)
  15176. req.ApplyOptions(opts...)
  15177. return out, req.Send()
  15178. }
  15179. const opModifyReservedInstances = "ModifyReservedInstances"
  15180. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  15181. // client's request for the ModifyReservedInstances operation. The "output" return
  15182. // value can be used to capture response data after the request's "Send" method
  15183. // is called.
  15184. //
  15185. // See ModifyReservedInstances for usage and error information.
  15186. //
  15187. // Creating a request object using this method should be used when you want to inject
  15188. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15189. // access properties on the request object before or after sending the request. If
  15190. // you just want the service response, call the ModifyReservedInstances method directly
  15191. // instead.
  15192. //
  15193. // Note: You must call the "Send" method on the returned request object in order
  15194. // to execute the request.
  15195. //
  15196. // // Example sending a request using the ModifyReservedInstancesRequest method.
  15197. // req, resp := client.ModifyReservedInstancesRequest(params)
  15198. //
  15199. // err := req.Send()
  15200. // if err == nil { // resp is now filled
  15201. // fmt.Println(resp)
  15202. // }
  15203. //
  15204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  15205. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  15206. op := &request.Operation{
  15207. Name: opModifyReservedInstances,
  15208. HTTPMethod: "POST",
  15209. HTTPPath: "/",
  15210. }
  15211. if input == nil {
  15212. input = &ModifyReservedInstancesInput{}
  15213. }
  15214. output = &ModifyReservedInstancesOutput{}
  15215. req = c.newRequest(op, input, output)
  15216. return
  15217. }
  15218. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  15219. //
  15220. // Modifies the Availability Zone, instance count, instance type, or network
  15221. // platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The
  15222. // Reserved Instances to be modified must be identical, except for Availability
  15223. // Zone, network platform, and instance type.
  15224. //
  15225. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  15226. // in the Amazon Elastic Compute Cloud User Guide.
  15227. //
  15228. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15229. // with awserr.Error's Code and Message methods to get detailed information about
  15230. // the error.
  15231. //
  15232. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15233. // API operation ModifyReservedInstances for usage and error information.
  15234. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  15235. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  15236. req, out := c.ModifyReservedInstancesRequest(input)
  15237. return out, req.Send()
  15238. }
  15239. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  15240. // the ability to pass a context and additional request options.
  15241. //
  15242. // See ModifyReservedInstances for details on how to use this API operation.
  15243. //
  15244. // The context must be non-nil and will be used for request cancellation. If
  15245. // the context is nil a panic will occur. In the future the SDK may create
  15246. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15247. // for more information on using Contexts.
  15248. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  15249. req, out := c.ModifyReservedInstancesRequest(input)
  15250. req.SetContext(ctx)
  15251. req.ApplyOptions(opts...)
  15252. return out, req.Send()
  15253. }
  15254. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  15255. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  15256. // client's request for the ModifySnapshotAttribute operation. The "output" return
  15257. // value can be used to capture response data after the request's "Send" method
  15258. // is called.
  15259. //
  15260. // See ModifySnapshotAttribute for usage and error information.
  15261. //
  15262. // Creating a request object using this method should be used when you want to inject
  15263. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15264. // access properties on the request object before or after sending the request. If
  15265. // you just want the service response, call the ModifySnapshotAttribute method directly
  15266. // instead.
  15267. //
  15268. // Note: You must call the "Send" method on the returned request object in order
  15269. // to execute the request.
  15270. //
  15271. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  15272. // req, resp := client.ModifySnapshotAttributeRequest(params)
  15273. //
  15274. // err := req.Send()
  15275. // if err == nil { // resp is now filled
  15276. // fmt.Println(resp)
  15277. // }
  15278. //
  15279. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  15280. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  15281. op := &request.Operation{
  15282. Name: opModifySnapshotAttribute,
  15283. HTTPMethod: "POST",
  15284. HTTPPath: "/",
  15285. }
  15286. if input == nil {
  15287. input = &ModifySnapshotAttributeInput{}
  15288. }
  15289. output = &ModifySnapshotAttributeOutput{}
  15290. req = c.newRequest(op, input, output)
  15291. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15292. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15293. return
  15294. }
  15295. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  15296. //
  15297. // Adds or removes permission settings for the specified snapshot. You may add
  15298. // or remove specified AWS account IDs from a snapshot's list of create volume
  15299. // permissions, but you cannot do both in a single API call. If you need to
  15300. // both add and remove account IDs for a snapshot, you must use multiple API
  15301. // calls.
  15302. //
  15303. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  15304. // be made public. Snapshots encrypted with your default CMK cannot be shared
  15305. // with other accounts.
  15306. //
  15307. // For more information on modifying snapshot permissions, see Sharing Snapshots
  15308. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  15309. // in the Amazon Elastic Compute Cloud User Guide.
  15310. //
  15311. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15312. // with awserr.Error's Code and Message methods to get detailed information about
  15313. // the error.
  15314. //
  15315. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15316. // API operation ModifySnapshotAttribute for usage and error information.
  15317. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  15318. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  15319. req, out := c.ModifySnapshotAttributeRequest(input)
  15320. return out, req.Send()
  15321. }
  15322. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  15323. // the ability to pass a context and additional request options.
  15324. //
  15325. // See ModifySnapshotAttribute for details on how to use this API operation.
  15326. //
  15327. // The context must be non-nil and will be used for request cancellation. If
  15328. // the context is nil a panic will occur. In the future the SDK may create
  15329. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15330. // for more information on using Contexts.
  15331. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  15332. req, out := c.ModifySnapshotAttributeRequest(input)
  15333. req.SetContext(ctx)
  15334. req.ApplyOptions(opts...)
  15335. return out, req.Send()
  15336. }
  15337. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  15338. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  15339. // client's request for the ModifySpotFleetRequest operation. The "output" return
  15340. // value can be used to capture response data after the request's "Send" method
  15341. // is called.
  15342. //
  15343. // See ModifySpotFleetRequest for usage and error information.
  15344. //
  15345. // Creating a request object using this method should be used when you want to inject
  15346. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15347. // access properties on the request object before or after sending the request. If
  15348. // you just want the service response, call the ModifySpotFleetRequest method directly
  15349. // instead.
  15350. //
  15351. // Note: You must call the "Send" method on the returned request object in order
  15352. // to execute the request.
  15353. //
  15354. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  15355. // req, resp := client.ModifySpotFleetRequestRequest(params)
  15356. //
  15357. // err := req.Send()
  15358. // if err == nil { // resp is now filled
  15359. // fmt.Println(resp)
  15360. // }
  15361. //
  15362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  15363. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  15364. op := &request.Operation{
  15365. Name: opModifySpotFleetRequest,
  15366. HTTPMethod: "POST",
  15367. HTTPPath: "/",
  15368. }
  15369. if input == nil {
  15370. input = &ModifySpotFleetRequestInput{}
  15371. }
  15372. output = &ModifySpotFleetRequestOutput{}
  15373. req = c.newRequest(op, input, output)
  15374. return
  15375. }
  15376. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  15377. //
  15378. // Modifies the specified Spot fleet request.
  15379. //
  15380. // While the Spot fleet request is being modified, it is in the modifying state.
  15381. //
  15382. // To scale up your Spot fleet, increase its target capacity. The Spot fleet
  15383. // launches the additional Spot instances according to the allocation strategy
  15384. // for the Spot fleet request. If the allocation strategy is lowestPrice, the
  15385. // Spot fleet launches instances using the Spot pool with the lowest price.
  15386. // If the allocation strategy is diversified, the Spot fleet distributes the
  15387. // instances across the Spot pools.
  15388. //
  15389. // To scale down your Spot fleet, decrease its target capacity. First, the Spot
  15390. // fleet cancels any open bids that exceed the new target capacity. You can
  15391. // request that the Spot fleet terminate Spot instances until the size of the
  15392. // fleet no longer exceeds the new target capacity. If the allocation strategy
  15393. // is lowestPrice, the Spot fleet terminates the instances with the highest
  15394. // price per unit. If the allocation strategy is diversified, the Spot fleet
  15395. // terminates instances across the Spot pools. Alternatively, you can request
  15396. // that the Spot fleet keep the fleet at its current size, but not replace any
  15397. // Spot instances that are interrupted or that you terminate manually.
  15398. //
  15399. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15400. // with awserr.Error's Code and Message methods to get detailed information about
  15401. // the error.
  15402. //
  15403. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15404. // API operation ModifySpotFleetRequest for usage and error information.
  15405. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  15406. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  15407. req, out := c.ModifySpotFleetRequestRequest(input)
  15408. return out, req.Send()
  15409. }
  15410. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  15411. // the ability to pass a context and additional request options.
  15412. //
  15413. // See ModifySpotFleetRequest for details on how to use this API operation.
  15414. //
  15415. // The context must be non-nil and will be used for request cancellation. If
  15416. // the context is nil a panic will occur. In the future the SDK may create
  15417. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15418. // for more information on using Contexts.
  15419. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  15420. req, out := c.ModifySpotFleetRequestRequest(input)
  15421. req.SetContext(ctx)
  15422. req.ApplyOptions(opts...)
  15423. return out, req.Send()
  15424. }
  15425. const opModifySubnetAttribute = "ModifySubnetAttribute"
  15426. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  15427. // client's request for the ModifySubnetAttribute operation. The "output" return
  15428. // value can be used to capture response data after the request's "Send" method
  15429. // is called.
  15430. //
  15431. // See ModifySubnetAttribute for usage and error information.
  15432. //
  15433. // Creating a request object using this method should be used when you want to inject
  15434. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15435. // access properties on the request object before or after sending the request. If
  15436. // you just want the service response, call the ModifySubnetAttribute method directly
  15437. // instead.
  15438. //
  15439. // Note: You must call the "Send" method on the returned request object in order
  15440. // to execute the request.
  15441. //
  15442. // // Example sending a request using the ModifySubnetAttributeRequest method.
  15443. // req, resp := client.ModifySubnetAttributeRequest(params)
  15444. //
  15445. // err := req.Send()
  15446. // if err == nil { // resp is now filled
  15447. // fmt.Println(resp)
  15448. // }
  15449. //
  15450. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  15451. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  15452. op := &request.Operation{
  15453. Name: opModifySubnetAttribute,
  15454. HTTPMethod: "POST",
  15455. HTTPPath: "/",
  15456. }
  15457. if input == nil {
  15458. input = &ModifySubnetAttributeInput{}
  15459. }
  15460. output = &ModifySubnetAttributeOutput{}
  15461. req = c.newRequest(op, input, output)
  15462. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15463. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15464. return
  15465. }
  15466. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  15467. //
  15468. // Modifies a subnet attribute. You can only modify one attribute at a time.
  15469. //
  15470. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15471. // with awserr.Error's Code and Message methods to get detailed information about
  15472. // the error.
  15473. //
  15474. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15475. // API operation ModifySubnetAttribute for usage and error information.
  15476. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  15477. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  15478. req, out := c.ModifySubnetAttributeRequest(input)
  15479. return out, req.Send()
  15480. }
  15481. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  15482. // the ability to pass a context and additional request options.
  15483. //
  15484. // See ModifySubnetAttribute for details on how to use this API operation.
  15485. //
  15486. // The context must be non-nil and will be used for request cancellation. If
  15487. // the context is nil a panic will occur. In the future the SDK may create
  15488. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15489. // for more information on using Contexts.
  15490. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  15491. req, out := c.ModifySubnetAttributeRequest(input)
  15492. req.SetContext(ctx)
  15493. req.ApplyOptions(opts...)
  15494. return out, req.Send()
  15495. }
  15496. const opModifyVolume = "ModifyVolume"
  15497. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  15498. // client's request for the ModifyVolume operation. The "output" return
  15499. // value can be used to capture response data after the request's "Send" method
  15500. // is called.
  15501. //
  15502. // See ModifyVolume for usage and error information.
  15503. //
  15504. // Creating a request object using this method should be used when you want to inject
  15505. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15506. // access properties on the request object before or after sending the request. If
  15507. // you just want the service response, call the ModifyVolume method directly
  15508. // instead.
  15509. //
  15510. // Note: You must call the "Send" method on the returned request object in order
  15511. // to execute the request.
  15512. //
  15513. // // Example sending a request using the ModifyVolumeRequest method.
  15514. // req, resp := client.ModifyVolumeRequest(params)
  15515. //
  15516. // err := req.Send()
  15517. // if err == nil { // resp is now filled
  15518. // fmt.Println(resp)
  15519. // }
  15520. //
  15521. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  15522. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  15523. op := &request.Operation{
  15524. Name: opModifyVolume,
  15525. HTTPMethod: "POST",
  15526. HTTPPath: "/",
  15527. }
  15528. if input == nil {
  15529. input = &ModifyVolumeInput{}
  15530. }
  15531. output = &ModifyVolumeOutput{}
  15532. req = c.newRequest(op, input, output)
  15533. return
  15534. }
  15535. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  15536. //
  15537. // You can modify several parameters of an existing EBS volume, including volume
  15538. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  15539. // current-generation EC2 instance type, you may be able to apply these changes
  15540. // without stopping the instance or detaching the volume from it. For more information
  15541. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  15542. // or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  15543. // For more information about modifying an EBS volume running Windows, see Modifying
  15544. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  15545. //
  15546. // When you complete a resize operation on your volume, you need to extend the
  15547. // volume's file-system size to take advantage of the new storage capacity.
  15548. // For information about extending a Linux file system, see Extending a Linux
  15549. // File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  15550. // For information about extending a Windows file system, see Extending a Windows
  15551. // File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  15552. //
  15553. // You can use CloudWatch Events to check the status of a modification to an
  15554. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  15555. // Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  15556. // You can also track the status of a modification using the DescribeVolumesModifications
  15557. // API. For information about tracking status changes using either method, see
  15558. // Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  15559. //
  15560. // With previous-generation instance types, resizing an EBS volume may require
  15561. // detaching and reattaching the volume or stopping and restarting the instance.
  15562. // For more information about modifying an EBS volume running Linux, see Modifying
  15563. // the Size, IOPS, or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  15564. // For more information about modifying an EBS volume running Windows, see Modifying
  15565. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  15566. //
  15567. // If you reach the maximum volume modification rate per volume limit, you will
  15568. // need to wait at least six hours before applying further modifications to
  15569. // the affected EBS volume.
  15570. //
  15571. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15572. // with awserr.Error's Code and Message methods to get detailed information about
  15573. // the error.
  15574. //
  15575. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15576. // API operation ModifyVolume for usage and error information.
  15577. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  15578. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  15579. req, out := c.ModifyVolumeRequest(input)
  15580. return out, req.Send()
  15581. }
  15582. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  15583. // the ability to pass a context and additional request options.
  15584. //
  15585. // See ModifyVolume for details on how to use this API operation.
  15586. //
  15587. // The context must be non-nil and will be used for request cancellation. If
  15588. // the context is nil a panic will occur. In the future the SDK may create
  15589. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15590. // for more information on using Contexts.
  15591. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  15592. req, out := c.ModifyVolumeRequest(input)
  15593. req.SetContext(ctx)
  15594. req.ApplyOptions(opts...)
  15595. return out, req.Send()
  15596. }
  15597. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  15598. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  15599. // client's request for the ModifyVolumeAttribute operation. The "output" return
  15600. // value can be used to capture response data after the request's "Send" method
  15601. // is called.
  15602. //
  15603. // See ModifyVolumeAttribute for usage and error information.
  15604. //
  15605. // Creating a request object using this method should be used when you want to inject
  15606. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15607. // access properties on the request object before or after sending the request. If
  15608. // you just want the service response, call the ModifyVolumeAttribute method directly
  15609. // instead.
  15610. //
  15611. // Note: You must call the "Send" method on the returned request object in order
  15612. // to execute the request.
  15613. //
  15614. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  15615. // req, resp := client.ModifyVolumeAttributeRequest(params)
  15616. //
  15617. // err := req.Send()
  15618. // if err == nil { // resp is now filled
  15619. // fmt.Println(resp)
  15620. // }
  15621. //
  15622. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  15623. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  15624. op := &request.Operation{
  15625. Name: opModifyVolumeAttribute,
  15626. HTTPMethod: "POST",
  15627. HTTPPath: "/",
  15628. }
  15629. if input == nil {
  15630. input = &ModifyVolumeAttributeInput{}
  15631. }
  15632. output = &ModifyVolumeAttributeOutput{}
  15633. req = c.newRequest(op, input, output)
  15634. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15635. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15636. return
  15637. }
  15638. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  15639. //
  15640. // Modifies a volume attribute.
  15641. //
  15642. // By default, all I/O operations for the volume are suspended when the data
  15643. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  15644. // latent data corruption. The I/O access to the volume can be resumed by first
  15645. // enabling I/O access and then checking the data consistency on your volume.
  15646. //
  15647. // You can change the default behavior to resume I/O operations. We recommend
  15648. // that you change this only for boot volumes or for volumes that are stateless
  15649. // or disposable.
  15650. //
  15651. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15652. // with awserr.Error's Code and Message methods to get detailed information about
  15653. // the error.
  15654. //
  15655. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15656. // API operation ModifyVolumeAttribute for usage and error information.
  15657. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  15658. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  15659. req, out := c.ModifyVolumeAttributeRequest(input)
  15660. return out, req.Send()
  15661. }
  15662. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  15663. // the ability to pass a context and additional request options.
  15664. //
  15665. // See ModifyVolumeAttribute for details on how to use this API operation.
  15666. //
  15667. // The context must be non-nil and will be used for request cancellation. If
  15668. // the context is nil a panic will occur. In the future the SDK may create
  15669. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15670. // for more information on using Contexts.
  15671. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  15672. req, out := c.ModifyVolumeAttributeRequest(input)
  15673. req.SetContext(ctx)
  15674. req.ApplyOptions(opts...)
  15675. return out, req.Send()
  15676. }
  15677. const opModifyVpcAttribute = "ModifyVpcAttribute"
  15678. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  15679. // client's request for the ModifyVpcAttribute operation. The "output" return
  15680. // value can be used to capture response data after the request's "Send" method
  15681. // is called.
  15682. //
  15683. // See ModifyVpcAttribute for usage and error information.
  15684. //
  15685. // Creating a request object using this method should be used when you want to inject
  15686. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15687. // access properties on the request object before or after sending the request. If
  15688. // you just want the service response, call the ModifyVpcAttribute method directly
  15689. // instead.
  15690. //
  15691. // Note: You must call the "Send" method on the returned request object in order
  15692. // to execute the request.
  15693. //
  15694. // // Example sending a request using the ModifyVpcAttributeRequest method.
  15695. // req, resp := client.ModifyVpcAttributeRequest(params)
  15696. //
  15697. // err := req.Send()
  15698. // if err == nil { // resp is now filled
  15699. // fmt.Println(resp)
  15700. // }
  15701. //
  15702. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  15703. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  15704. op := &request.Operation{
  15705. Name: opModifyVpcAttribute,
  15706. HTTPMethod: "POST",
  15707. HTTPPath: "/",
  15708. }
  15709. if input == nil {
  15710. input = &ModifyVpcAttributeInput{}
  15711. }
  15712. output = &ModifyVpcAttributeOutput{}
  15713. req = c.newRequest(op, input, output)
  15714. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15715. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15716. return
  15717. }
  15718. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  15719. //
  15720. // Modifies the specified attribute of the specified VPC.
  15721. //
  15722. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15723. // with awserr.Error's Code and Message methods to get detailed information about
  15724. // the error.
  15725. //
  15726. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15727. // API operation ModifyVpcAttribute for usage and error information.
  15728. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  15729. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  15730. req, out := c.ModifyVpcAttributeRequest(input)
  15731. return out, req.Send()
  15732. }
  15733. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  15734. // the ability to pass a context and additional request options.
  15735. //
  15736. // See ModifyVpcAttribute for details on how to use this API operation.
  15737. //
  15738. // The context must be non-nil and will be used for request cancellation. If
  15739. // the context is nil a panic will occur. In the future the SDK may create
  15740. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15741. // for more information on using Contexts.
  15742. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  15743. req, out := c.ModifyVpcAttributeRequest(input)
  15744. req.SetContext(ctx)
  15745. req.ApplyOptions(opts...)
  15746. return out, req.Send()
  15747. }
  15748. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  15749. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  15750. // client's request for the ModifyVpcEndpoint operation. The "output" return
  15751. // value can be used to capture response data after the request's "Send" method
  15752. // is called.
  15753. //
  15754. // See ModifyVpcEndpoint for usage and error information.
  15755. //
  15756. // Creating a request object using this method should be used when you want to inject
  15757. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15758. // access properties on the request object before or after sending the request. If
  15759. // you just want the service response, call the ModifyVpcEndpoint method directly
  15760. // instead.
  15761. //
  15762. // Note: You must call the "Send" method on the returned request object in order
  15763. // to execute the request.
  15764. //
  15765. // // Example sending a request using the ModifyVpcEndpointRequest method.
  15766. // req, resp := client.ModifyVpcEndpointRequest(params)
  15767. //
  15768. // err := req.Send()
  15769. // if err == nil { // resp is now filled
  15770. // fmt.Println(resp)
  15771. // }
  15772. //
  15773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  15774. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  15775. op := &request.Operation{
  15776. Name: opModifyVpcEndpoint,
  15777. HTTPMethod: "POST",
  15778. HTTPPath: "/",
  15779. }
  15780. if input == nil {
  15781. input = &ModifyVpcEndpointInput{}
  15782. }
  15783. output = &ModifyVpcEndpointOutput{}
  15784. req = c.newRequest(op, input, output)
  15785. return
  15786. }
  15787. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  15788. //
  15789. // Modifies attributes of a specified VPC endpoint. You can modify the policy
  15790. // associated with the endpoint, and you can add and remove route tables associated
  15791. // with the endpoint.
  15792. //
  15793. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15794. // with awserr.Error's Code and Message methods to get detailed information about
  15795. // the error.
  15796. //
  15797. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15798. // API operation ModifyVpcEndpoint for usage and error information.
  15799. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  15800. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  15801. req, out := c.ModifyVpcEndpointRequest(input)
  15802. return out, req.Send()
  15803. }
  15804. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  15805. // the ability to pass a context and additional request options.
  15806. //
  15807. // See ModifyVpcEndpoint for details on how to use this API operation.
  15808. //
  15809. // The context must be non-nil and will be used for request cancellation. If
  15810. // the context is nil a panic will occur. In the future the SDK may create
  15811. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15812. // for more information on using Contexts.
  15813. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  15814. req, out := c.ModifyVpcEndpointRequest(input)
  15815. req.SetContext(ctx)
  15816. req.ApplyOptions(opts...)
  15817. return out, req.Send()
  15818. }
  15819. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  15820. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  15821. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  15822. // value can be used to capture response data after the request's "Send" method
  15823. // is called.
  15824. //
  15825. // See ModifyVpcPeeringConnectionOptions for usage and error information.
  15826. //
  15827. // Creating a request object using this method should be used when you want to inject
  15828. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15829. // access properties on the request object before or after sending the request. If
  15830. // you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly
  15831. // instead.
  15832. //
  15833. // Note: You must call the "Send" method on the returned request object in order
  15834. // to execute the request.
  15835. //
  15836. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  15837. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  15838. //
  15839. // err := req.Send()
  15840. // if err == nil { // resp is now filled
  15841. // fmt.Println(resp)
  15842. // }
  15843. //
  15844. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  15845. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  15846. op := &request.Operation{
  15847. Name: opModifyVpcPeeringConnectionOptions,
  15848. HTTPMethod: "POST",
  15849. HTTPPath: "/",
  15850. }
  15851. if input == nil {
  15852. input = &ModifyVpcPeeringConnectionOptionsInput{}
  15853. }
  15854. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  15855. req = c.newRequest(op, input, output)
  15856. return
  15857. }
  15858. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  15859. //
  15860. // Modifies the VPC peering connection options on one side of a VPC peering
  15861. // connection. You can do the following:
  15862. //
  15863. // * Enable/disable communication over the peering connection between an
  15864. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  15865. // instances in the peer VPC.
  15866. //
  15867. // * Enable/disable communication over the peering connection between instances
  15868. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  15869. //
  15870. // * Enable/disable a local VPC to resolve public DNS hostnames to private
  15871. // IP addresses when queried from instances in the peer VPC.
  15872. //
  15873. // If the peered VPCs are in different accounts, each owner must initiate a
  15874. // separate request to modify the peering connection options, depending on whether
  15875. // their VPC was the requester or accepter for the VPC peering connection. If
  15876. // the peered VPCs are in the same account, you can modify the requester and
  15877. // accepter options in the same request. To confirm which VPC is the accepter
  15878. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  15879. // command.
  15880. //
  15881. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15882. // with awserr.Error's Code and Message methods to get detailed information about
  15883. // the error.
  15884. //
  15885. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15886. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  15887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  15888. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  15889. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  15890. return out, req.Send()
  15891. }
  15892. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  15893. // the ability to pass a context and additional request options.
  15894. //
  15895. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  15896. //
  15897. // The context must be non-nil and will be used for request cancellation. If
  15898. // the context is nil a panic will occur. In the future the SDK may create
  15899. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15900. // for more information on using Contexts.
  15901. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  15902. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  15903. req.SetContext(ctx)
  15904. req.ApplyOptions(opts...)
  15905. return out, req.Send()
  15906. }
  15907. const opMonitorInstances = "MonitorInstances"
  15908. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  15909. // client's request for the MonitorInstances operation. The "output" return
  15910. // value can be used to capture response data after the request's "Send" method
  15911. // is called.
  15912. //
  15913. // See MonitorInstances for usage and error information.
  15914. //
  15915. // Creating a request object using this method should be used when you want to inject
  15916. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15917. // access properties on the request object before or after sending the request. If
  15918. // you just want the service response, call the MonitorInstances method directly
  15919. // instead.
  15920. //
  15921. // Note: You must call the "Send" method on the returned request object in order
  15922. // to execute the request.
  15923. //
  15924. // // Example sending a request using the MonitorInstancesRequest method.
  15925. // req, resp := client.MonitorInstancesRequest(params)
  15926. //
  15927. // err := req.Send()
  15928. // if err == nil { // resp is now filled
  15929. // fmt.Println(resp)
  15930. // }
  15931. //
  15932. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  15933. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  15934. op := &request.Operation{
  15935. Name: opMonitorInstances,
  15936. HTTPMethod: "POST",
  15937. HTTPPath: "/",
  15938. }
  15939. if input == nil {
  15940. input = &MonitorInstancesInput{}
  15941. }
  15942. output = &MonitorInstancesOutput{}
  15943. req = c.newRequest(op, input, output)
  15944. return
  15945. }
  15946. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  15947. //
  15948. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  15949. // is enabled. For more information, see Monitoring Your Instances and Volumes
  15950. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  15951. // in the Amazon Elastic Compute Cloud User Guide.
  15952. //
  15953. // To disable detailed monitoring, see .
  15954. //
  15955. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15956. // with awserr.Error's Code and Message methods to get detailed information about
  15957. // the error.
  15958. //
  15959. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15960. // API operation MonitorInstances for usage and error information.
  15961. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  15962. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  15963. req, out := c.MonitorInstancesRequest(input)
  15964. return out, req.Send()
  15965. }
  15966. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  15967. // the ability to pass a context and additional request options.
  15968. //
  15969. // See MonitorInstances for details on how to use this API operation.
  15970. //
  15971. // The context must be non-nil and will be used for request cancellation. If
  15972. // the context is nil a panic will occur. In the future the SDK may create
  15973. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15974. // for more information on using Contexts.
  15975. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  15976. req, out := c.MonitorInstancesRequest(input)
  15977. req.SetContext(ctx)
  15978. req.ApplyOptions(opts...)
  15979. return out, req.Send()
  15980. }
  15981. const opMoveAddressToVpc = "MoveAddressToVpc"
  15982. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  15983. // client's request for the MoveAddressToVpc operation. The "output" return
  15984. // value can be used to capture response data after the request's "Send" method
  15985. // is called.
  15986. //
  15987. // See MoveAddressToVpc for usage and error information.
  15988. //
  15989. // Creating a request object using this method should be used when you want to inject
  15990. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15991. // access properties on the request object before or after sending the request. If
  15992. // you just want the service response, call the MoveAddressToVpc method directly
  15993. // instead.
  15994. //
  15995. // Note: You must call the "Send" method on the returned request object in order
  15996. // to execute the request.
  15997. //
  15998. // // Example sending a request using the MoveAddressToVpcRequest method.
  15999. // req, resp := client.MoveAddressToVpcRequest(params)
  16000. //
  16001. // err := req.Send()
  16002. // if err == nil { // resp is now filled
  16003. // fmt.Println(resp)
  16004. // }
  16005. //
  16006. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  16007. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  16008. op := &request.Operation{
  16009. Name: opMoveAddressToVpc,
  16010. HTTPMethod: "POST",
  16011. HTTPPath: "/",
  16012. }
  16013. if input == nil {
  16014. input = &MoveAddressToVpcInput{}
  16015. }
  16016. output = &MoveAddressToVpcOutput{}
  16017. req = c.newRequest(op, input, output)
  16018. return
  16019. }
  16020. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  16021. //
  16022. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  16023. // platform. The Elastic IP address must be allocated to your account for more
  16024. // than 24 hours, and it must not be associated with an instance. After the
  16025. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  16026. // platform, unless you move it back using the RestoreAddressToClassic request.
  16027. // You cannot move an Elastic IP address that was originally allocated for use
  16028. // in the EC2-VPC platform to the EC2-Classic platform.
  16029. //
  16030. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16031. // with awserr.Error's Code and Message methods to get detailed information about
  16032. // the error.
  16033. //
  16034. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16035. // API operation MoveAddressToVpc for usage and error information.
  16036. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  16037. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  16038. req, out := c.MoveAddressToVpcRequest(input)
  16039. return out, req.Send()
  16040. }
  16041. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  16042. // the ability to pass a context and additional request options.
  16043. //
  16044. // See MoveAddressToVpc for details on how to use this API operation.
  16045. //
  16046. // The context must be non-nil and will be used for request cancellation. If
  16047. // the context is nil a panic will occur. In the future the SDK may create
  16048. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16049. // for more information on using Contexts.
  16050. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  16051. req, out := c.MoveAddressToVpcRequest(input)
  16052. req.SetContext(ctx)
  16053. req.ApplyOptions(opts...)
  16054. return out, req.Send()
  16055. }
  16056. const opPurchaseHostReservation = "PurchaseHostReservation"
  16057. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  16058. // client's request for the PurchaseHostReservation operation. The "output" return
  16059. // value can be used to capture response data after the request's "Send" method
  16060. // is called.
  16061. //
  16062. // See PurchaseHostReservation for usage and error information.
  16063. //
  16064. // Creating a request object using this method should be used when you want to inject
  16065. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16066. // access properties on the request object before or after sending the request. If
  16067. // you just want the service response, call the PurchaseHostReservation method directly
  16068. // instead.
  16069. //
  16070. // Note: You must call the "Send" method on the returned request object in order
  16071. // to execute the request.
  16072. //
  16073. // // Example sending a request using the PurchaseHostReservationRequest method.
  16074. // req, resp := client.PurchaseHostReservationRequest(params)
  16075. //
  16076. // err := req.Send()
  16077. // if err == nil { // resp is now filled
  16078. // fmt.Println(resp)
  16079. // }
  16080. //
  16081. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  16082. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  16083. op := &request.Operation{
  16084. Name: opPurchaseHostReservation,
  16085. HTTPMethod: "POST",
  16086. HTTPPath: "/",
  16087. }
  16088. if input == nil {
  16089. input = &PurchaseHostReservationInput{}
  16090. }
  16091. output = &PurchaseHostReservationOutput{}
  16092. req = c.newRequest(op, input, output)
  16093. return
  16094. }
  16095. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  16096. //
  16097. // Purchase a reservation with configurations that match those of your Dedicated
  16098. // Host. You must have active Dedicated Hosts in your account before you purchase
  16099. // a reservation. This action results in the specified reservation being purchased
  16100. // and charged to your account.
  16101. //
  16102. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16103. // with awserr.Error's Code and Message methods to get detailed information about
  16104. // the error.
  16105. //
  16106. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16107. // API operation PurchaseHostReservation for usage and error information.
  16108. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  16109. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  16110. req, out := c.PurchaseHostReservationRequest(input)
  16111. return out, req.Send()
  16112. }
  16113. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  16114. // the ability to pass a context and additional request options.
  16115. //
  16116. // See PurchaseHostReservation for details on how to use this API operation.
  16117. //
  16118. // The context must be non-nil and will be used for request cancellation. If
  16119. // the context is nil a panic will occur. In the future the SDK may create
  16120. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16121. // for more information on using Contexts.
  16122. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  16123. req, out := c.PurchaseHostReservationRequest(input)
  16124. req.SetContext(ctx)
  16125. req.ApplyOptions(opts...)
  16126. return out, req.Send()
  16127. }
  16128. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  16129. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  16130. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  16131. // value can be used to capture response data after the request's "Send" method
  16132. // is called.
  16133. //
  16134. // See PurchaseReservedInstancesOffering for usage and error information.
  16135. //
  16136. // Creating a request object using this method should be used when you want to inject
  16137. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16138. // access properties on the request object before or after sending the request. If
  16139. // you just want the service response, call the PurchaseReservedInstancesOffering method directly
  16140. // instead.
  16141. //
  16142. // Note: You must call the "Send" method on the returned request object in order
  16143. // to execute the request.
  16144. //
  16145. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  16146. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  16147. //
  16148. // err := req.Send()
  16149. // if err == nil { // resp is now filled
  16150. // fmt.Println(resp)
  16151. // }
  16152. //
  16153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  16154. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  16155. op := &request.Operation{
  16156. Name: opPurchaseReservedInstancesOffering,
  16157. HTTPMethod: "POST",
  16158. HTTPPath: "/",
  16159. }
  16160. if input == nil {
  16161. input = &PurchaseReservedInstancesOfferingInput{}
  16162. }
  16163. output = &PurchaseReservedInstancesOfferingOutput{}
  16164. req = c.newRequest(op, input, output)
  16165. return
  16166. }
  16167. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  16168. //
  16169. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  16170. // you pay a lower hourly rate compared to On-Demand instance pricing.
  16171. //
  16172. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  16173. // offerings that match your specifications. After you've purchased a Reserved
  16174. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  16175. //
  16176. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  16177. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  16178. // in the Amazon Elastic Compute Cloud User Guide.
  16179. //
  16180. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16181. // with awserr.Error's Code and Message methods to get detailed information about
  16182. // the error.
  16183. //
  16184. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16185. // API operation PurchaseReservedInstancesOffering for usage and error information.
  16186. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  16187. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  16188. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  16189. return out, req.Send()
  16190. }
  16191. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  16192. // the ability to pass a context and additional request options.
  16193. //
  16194. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  16195. //
  16196. // The context must be non-nil and will be used for request cancellation. If
  16197. // the context is nil a panic will occur. In the future the SDK may create
  16198. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16199. // for more information on using Contexts.
  16200. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  16201. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  16202. req.SetContext(ctx)
  16203. req.ApplyOptions(opts...)
  16204. return out, req.Send()
  16205. }
  16206. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  16207. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  16208. // client's request for the PurchaseScheduledInstances operation. The "output" return
  16209. // value can be used to capture response data after the request's "Send" method
  16210. // is called.
  16211. //
  16212. // See PurchaseScheduledInstances for usage and error information.
  16213. //
  16214. // Creating a request object using this method should be used when you want to inject
  16215. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16216. // access properties on the request object before or after sending the request. If
  16217. // you just want the service response, call the PurchaseScheduledInstances method directly
  16218. // instead.
  16219. //
  16220. // Note: You must call the "Send" method on the returned request object in order
  16221. // to execute the request.
  16222. //
  16223. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  16224. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  16225. //
  16226. // err := req.Send()
  16227. // if err == nil { // resp is now filled
  16228. // fmt.Println(resp)
  16229. // }
  16230. //
  16231. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  16232. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  16233. op := &request.Operation{
  16234. Name: opPurchaseScheduledInstances,
  16235. HTTPMethod: "POST",
  16236. HTTPPath: "/",
  16237. }
  16238. if input == nil {
  16239. input = &PurchaseScheduledInstancesInput{}
  16240. }
  16241. output = &PurchaseScheduledInstancesOutput{}
  16242. req = c.newRequest(op, input, output)
  16243. return
  16244. }
  16245. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  16246. //
  16247. // Purchases one or more Scheduled Instances with the specified schedule.
  16248. //
  16249. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  16250. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  16251. // you must call DescribeScheduledInstanceAvailability to check for available
  16252. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  16253. // you must call RunScheduledInstances during each scheduled time period.
  16254. //
  16255. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  16256. // your purchase.
  16257. //
  16258. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16259. // with awserr.Error's Code and Message methods to get detailed information about
  16260. // the error.
  16261. //
  16262. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16263. // API operation PurchaseScheduledInstances for usage and error information.
  16264. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  16265. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  16266. req, out := c.PurchaseScheduledInstancesRequest(input)
  16267. return out, req.Send()
  16268. }
  16269. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  16270. // the ability to pass a context and additional request options.
  16271. //
  16272. // See PurchaseScheduledInstances for details on how to use this API operation.
  16273. //
  16274. // The context must be non-nil and will be used for request cancellation. If
  16275. // the context is nil a panic will occur. In the future the SDK may create
  16276. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16277. // for more information on using Contexts.
  16278. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  16279. req, out := c.PurchaseScheduledInstancesRequest(input)
  16280. req.SetContext(ctx)
  16281. req.ApplyOptions(opts...)
  16282. return out, req.Send()
  16283. }
  16284. const opRebootInstances = "RebootInstances"
  16285. // RebootInstancesRequest generates a "aws/request.Request" representing the
  16286. // client's request for the RebootInstances operation. The "output" return
  16287. // value can be used to capture response data after the request's "Send" method
  16288. // is called.
  16289. //
  16290. // See RebootInstances for usage and error information.
  16291. //
  16292. // Creating a request object using this method should be used when you want to inject
  16293. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16294. // access properties on the request object before or after sending the request. If
  16295. // you just want the service response, call the RebootInstances method directly
  16296. // instead.
  16297. //
  16298. // Note: You must call the "Send" method on the returned request object in order
  16299. // to execute the request.
  16300. //
  16301. // // Example sending a request using the RebootInstancesRequest method.
  16302. // req, resp := client.RebootInstancesRequest(params)
  16303. //
  16304. // err := req.Send()
  16305. // if err == nil { // resp is now filled
  16306. // fmt.Println(resp)
  16307. // }
  16308. //
  16309. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  16310. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  16311. op := &request.Operation{
  16312. Name: opRebootInstances,
  16313. HTTPMethod: "POST",
  16314. HTTPPath: "/",
  16315. }
  16316. if input == nil {
  16317. input = &RebootInstancesInput{}
  16318. }
  16319. output = &RebootInstancesOutput{}
  16320. req = c.newRequest(op, input, output)
  16321. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16322. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16323. return
  16324. }
  16325. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  16326. //
  16327. // Requests a reboot of one or more instances. This operation is asynchronous;
  16328. // it only queues a request to reboot the specified instances. The operation
  16329. // succeeds if the instances are valid and belong to you. Requests to reboot
  16330. // terminated instances are ignored.
  16331. //
  16332. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  16333. // performs a hard reboot.
  16334. //
  16335. // For more information about troubleshooting, see Getting Console Output and
  16336. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  16337. // in the Amazon Elastic Compute Cloud User Guide.
  16338. //
  16339. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16340. // with awserr.Error's Code and Message methods to get detailed information about
  16341. // the error.
  16342. //
  16343. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16344. // API operation RebootInstances for usage and error information.
  16345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  16346. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  16347. req, out := c.RebootInstancesRequest(input)
  16348. return out, req.Send()
  16349. }
  16350. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  16351. // the ability to pass a context and additional request options.
  16352. //
  16353. // See RebootInstances for details on how to use this API operation.
  16354. //
  16355. // The context must be non-nil and will be used for request cancellation. If
  16356. // the context is nil a panic will occur. In the future the SDK may create
  16357. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16358. // for more information on using Contexts.
  16359. func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  16360. req, out := c.RebootInstancesRequest(input)
  16361. req.SetContext(ctx)
  16362. req.ApplyOptions(opts...)
  16363. return out, req.Send()
  16364. }
  16365. const opRegisterImage = "RegisterImage"
  16366. // RegisterImageRequest generates a "aws/request.Request" representing the
  16367. // client's request for the RegisterImage operation. The "output" return
  16368. // value can be used to capture response data after the request's "Send" method
  16369. // is called.
  16370. //
  16371. // See RegisterImage for usage and error information.
  16372. //
  16373. // Creating a request object using this method should be used when you want to inject
  16374. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16375. // access properties on the request object before or after sending the request. If
  16376. // you just want the service response, call the RegisterImage method directly
  16377. // instead.
  16378. //
  16379. // Note: You must call the "Send" method on the returned request object in order
  16380. // to execute the request.
  16381. //
  16382. // // Example sending a request using the RegisterImageRequest method.
  16383. // req, resp := client.RegisterImageRequest(params)
  16384. //
  16385. // err := req.Send()
  16386. // if err == nil { // resp is now filled
  16387. // fmt.Println(resp)
  16388. // }
  16389. //
  16390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  16391. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  16392. op := &request.Operation{
  16393. Name: opRegisterImage,
  16394. HTTPMethod: "POST",
  16395. HTTPPath: "/",
  16396. }
  16397. if input == nil {
  16398. input = &RegisterImageInput{}
  16399. }
  16400. output = &RegisterImageOutput{}
  16401. req = c.newRequest(op, input, output)
  16402. return
  16403. }
  16404. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  16405. //
  16406. // Registers an AMI. When you're creating an AMI, this is the final step you
  16407. // must complete before you can launch an instance from the AMI. For more information
  16408. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  16409. // in the Amazon Elastic Compute Cloud User Guide.
  16410. //
  16411. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  16412. // in a single request, so you don't have to register the AMI yourself.
  16413. //
  16414. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  16415. // a snapshot of a root device volume. You specify the snapshot using the block
  16416. // device mapping. For more information, see Launching a Linux Instance from
  16417. // a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  16418. // in the Amazon Elastic Compute Cloud User Guide.
  16419. //
  16420. // You can't register an image where a secondary (non-root) snapshot has AWS
  16421. // Marketplace product codes.
  16422. //
  16423. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  16424. // Linux Enterprise Server (SLES), use the EC2 billing product code associated
  16425. // with an AMI to verify the subscription status for package updates. Creating
  16426. // an AMI from an EBS snapshot does not maintain this billing code, and subsequent
  16427. // instances launched from such an AMI will not be able to connect to package
  16428. // update infrastructure. To create an AMI that must retain billing codes, see
  16429. // CreateImage.
  16430. //
  16431. // If needed, you can deregister an AMI at any time. Any modifications you make
  16432. // to an AMI backed by an instance store volume invalidates its registration.
  16433. // If you make changes to an image, deregister the previous image and register
  16434. // the new image.
  16435. //
  16436. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16437. // with awserr.Error's Code and Message methods to get detailed information about
  16438. // the error.
  16439. //
  16440. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16441. // API operation RegisterImage for usage and error information.
  16442. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  16443. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  16444. req, out := c.RegisterImageRequest(input)
  16445. return out, req.Send()
  16446. }
  16447. // RegisterImageWithContext is the same as RegisterImage with the addition of
  16448. // the ability to pass a context and additional request options.
  16449. //
  16450. // See RegisterImage for details on how to use this API operation.
  16451. //
  16452. // The context must be non-nil and will be used for request cancellation. If
  16453. // the context is nil a panic will occur. In the future the SDK may create
  16454. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16455. // for more information on using Contexts.
  16456. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  16457. req, out := c.RegisterImageRequest(input)
  16458. req.SetContext(ctx)
  16459. req.ApplyOptions(opts...)
  16460. return out, req.Send()
  16461. }
  16462. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  16463. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  16464. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  16465. // value can be used to capture response data after the request's "Send" method
  16466. // is called.
  16467. //
  16468. // See RejectVpcPeeringConnection for usage and error information.
  16469. //
  16470. // Creating a request object using this method should be used when you want to inject
  16471. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16472. // access properties on the request object before or after sending the request. If
  16473. // you just want the service response, call the RejectVpcPeeringConnection method directly
  16474. // instead.
  16475. //
  16476. // Note: You must call the "Send" method on the returned request object in order
  16477. // to execute the request.
  16478. //
  16479. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  16480. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  16481. //
  16482. // err := req.Send()
  16483. // if err == nil { // resp is now filled
  16484. // fmt.Println(resp)
  16485. // }
  16486. //
  16487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  16488. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  16489. op := &request.Operation{
  16490. Name: opRejectVpcPeeringConnection,
  16491. HTTPMethod: "POST",
  16492. HTTPPath: "/",
  16493. }
  16494. if input == nil {
  16495. input = &RejectVpcPeeringConnectionInput{}
  16496. }
  16497. output = &RejectVpcPeeringConnectionOutput{}
  16498. req = c.newRequest(op, input, output)
  16499. return
  16500. }
  16501. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  16502. //
  16503. // Rejects a VPC peering connection request. The VPC peering connection must
  16504. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  16505. // request to view your outstanding VPC peering connection requests. To delete
  16506. // an active VPC peering connection, or to delete a VPC peering connection request
  16507. // that you initiated, use DeleteVpcPeeringConnection.
  16508. //
  16509. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16510. // with awserr.Error's Code and Message methods to get detailed information about
  16511. // the error.
  16512. //
  16513. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16514. // API operation RejectVpcPeeringConnection for usage and error information.
  16515. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  16516. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  16517. req, out := c.RejectVpcPeeringConnectionRequest(input)
  16518. return out, req.Send()
  16519. }
  16520. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  16521. // the ability to pass a context and additional request options.
  16522. //
  16523. // See RejectVpcPeeringConnection for details on how to use this API operation.
  16524. //
  16525. // The context must be non-nil and will be used for request cancellation. If
  16526. // the context is nil a panic will occur. In the future the SDK may create
  16527. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16528. // for more information on using Contexts.
  16529. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  16530. req, out := c.RejectVpcPeeringConnectionRequest(input)
  16531. req.SetContext(ctx)
  16532. req.ApplyOptions(opts...)
  16533. return out, req.Send()
  16534. }
  16535. const opReleaseAddress = "ReleaseAddress"
  16536. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  16537. // client's request for the ReleaseAddress operation. The "output" return
  16538. // value can be used to capture response data after the request's "Send" method
  16539. // is called.
  16540. //
  16541. // See ReleaseAddress for usage and error information.
  16542. //
  16543. // Creating a request object using this method should be used when you want to inject
  16544. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16545. // access properties on the request object before or after sending the request. If
  16546. // you just want the service response, call the ReleaseAddress method directly
  16547. // instead.
  16548. //
  16549. // Note: You must call the "Send" method on the returned request object in order
  16550. // to execute the request.
  16551. //
  16552. // // Example sending a request using the ReleaseAddressRequest method.
  16553. // req, resp := client.ReleaseAddressRequest(params)
  16554. //
  16555. // err := req.Send()
  16556. // if err == nil { // resp is now filled
  16557. // fmt.Println(resp)
  16558. // }
  16559. //
  16560. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  16561. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  16562. op := &request.Operation{
  16563. Name: opReleaseAddress,
  16564. HTTPMethod: "POST",
  16565. HTTPPath: "/",
  16566. }
  16567. if input == nil {
  16568. input = &ReleaseAddressInput{}
  16569. }
  16570. output = &ReleaseAddressOutput{}
  16571. req = c.newRequest(op, input, output)
  16572. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16573. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16574. return
  16575. }
  16576. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  16577. //
  16578. // Releases the specified Elastic IP address.
  16579. //
  16580. // After releasing an Elastic IP address, it is released to the IP address pool
  16581. // and might be unavailable to you. Be sure to update your DNS records and any
  16582. // servers or devices that communicate with the address. If you attempt to release
  16583. // an Elastic IP address that you already released, you'll get an AuthFailure
  16584. // error if the address is already allocated to another AWS account.
  16585. //
  16586. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  16587. // disassociates it from any instance that it's associated with. To disassociate
  16588. // an Elastic IP address without releasing it, use DisassociateAddress.
  16589. //
  16590. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  16591. // IP address before you try to release it. Otherwise, Amazon EC2 returns an
  16592. // error (InvalidIPAddress.InUse).
  16593. //
  16594. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16595. // with awserr.Error's Code and Message methods to get detailed information about
  16596. // the error.
  16597. //
  16598. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16599. // API operation ReleaseAddress for usage and error information.
  16600. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  16601. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  16602. req, out := c.ReleaseAddressRequest(input)
  16603. return out, req.Send()
  16604. }
  16605. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  16606. // the ability to pass a context and additional request options.
  16607. //
  16608. // See ReleaseAddress for details on how to use this API operation.
  16609. //
  16610. // The context must be non-nil and will be used for request cancellation. If
  16611. // the context is nil a panic will occur. In the future the SDK may create
  16612. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16613. // for more information on using Contexts.
  16614. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  16615. req, out := c.ReleaseAddressRequest(input)
  16616. req.SetContext(ctx)
  16617. req.ApplyOptions(opts...)
  16618. return out, req.Send()
  16619. }
  16620. const opReleaseHosts = "ReleaseHosts"
  16621. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  16622. // client's request for the ReleaseHosts operation. The "output" return
  16623. // value can be used to capture response data after the request's "Send" method
  16624. // is called.
  16625. //
  16626. // See ReleaseHosts for usage and error information.
  16627. //
  16628. // Creating a request object using this method should be used when you want to inject
  16629. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16630. // access properties on the request object before or after sending the request. If
  16631. // you just want the service response, call the ReleaseHosts method directly
  16632. // instead.
  16633. //
  16634. // Note: You must call the "Send" method on the returned request object in order
  16635. // to execute the request.
  16636. //
  16637. // // Example sending a request using the ReleaseHostsRequest method.
  16638. // req, resp := client.ReleaseHostsRequest(params)
  16639. //
  16640. // err := req.Send()
  16641. // if err == nil { // resp is now filled
  16642. // fmt.Println(resp)
  16643. // }
  16644. //
  16645. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  16646. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  16647. op := &request.Operation{
  16648. Name: opReleaseHosts,
  16649. HTTPMethod: "POST",
  16650. HTTPPath: "/",
  16651. }
  16652. if input == nil {
  16653. input = &ReleaseHostsInput{}
  16654. }
  16655. output = &ReleaseHostsOutput{}
  16656. req = c.newRequest(op, input, output)
  16657. return
  16658. }
  16659. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  16660. //
  16661. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  16662. // On-Demand billing is stopped and the host goes into released state. The host
  16663. // ID of Dedicated Hosts that have been released can no longer be specified
  16664. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  16665. // on a host before it can be released.
  16666. //
  16667. // When Dedicated Hosts are released, it make take some time for them to stop
  16668. // counting toward your limit and you may receive capacity errors when trying
  16669. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  16670. // again.
  16671. //
  16672. // Released hosts will still appear in a DescribeHosts response.
  16673. //
  16674. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16675. // with awserr.Error's Code and Message methods to get detailed information about
  16676. // the error.
  16677. //
  16678. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16679. // API operation ReleaseHosts for usage and error information.
  16680. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  16681. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  16682. req, out := c.ReleaseHostsRequest(input)
  16683. return out, req.Send()
  16684. }
  16685. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  16686. // the ability to pass a context and additional request options.
  16687. //
  16688. // See ReleaseHosts for details on how to use this API operation.
  16689. //
  16690. // The context must be non-nil and will be used for request cancellation. If
  16691. // the context is nil a panic will occur. In the future the SDK may create
  16692. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16693. // for more information on using Contexts.
  16694. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  16695. req, out := c.ReleaseHostsRequest(input)
  16696. req.SetContext(ctx)
  16697. req.ApplyOptions(opts...)
  16698. return out, req.Send()
  16699. }
  16700. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  16701. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  16702. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  16703. // value can be used to capture response data after the request's "Send" method
  16704. // is called.
  16705. //
  16706. // See ReplaceIamInstanceProfileAssociation for usage and error information.
  16707. //
  16708. // Creating a request object using this method should be used when you want to inject
  16709. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16710. // access properties on the request object before or after sending the request. If
  16711. // you just want the service response, call the ReplaceIamInstanceProfileAssociation method directly
  16712. // instead.
  16713. //
  16714. // Note: You must call the "Send" method on the returned request object in order
  16715. // to execute the request.
  16716. //
  16717. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  16718. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  16719. //
  16720. // err := req.Send()
  16721. // if err == nil { // resp is now filled
  16722. // fmt.Println(resp)
  16723. // }
  16724. //
  16725. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  16726. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  16727. op := &request.Operation{
  16728. Name: opReplaceIamInstanceProfileAssociation,
  16729. HTTPMethod: "POST",
  16730. HTTPPath: "/",
  16731. }
  16732. if input == nil {
  16733. input = &ReplaceIamInstanceProfileAssociationInput{}
  16734. }
  16735. output = &ReplaceIamInstanceProfileAssociationOutput{}
  16736. req = c.newRequest(op, input, output)
  16737. return
  16738. }
  16739. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  16740. //
  16741. // Replaces an IAM instance profile for the specified running instance. You
  16742. // can use this action to change the IAM instance profile that's associated
  16743. // with an instance without having to disassociate the existing IAM instance
  16744. // profile first.
  16745. //
  16746. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  16747. //
  16748. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16749. // with awserr.Error's Code and Message methods to get detailed information about
  16750. // the error.
  16751. //
  16752. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16753. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  16754. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  16755. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  16756. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  16757. return out, req.Send()
  16758. }
  16759. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  16760. // the ability to pass a context and additional request options.
  16761. //
  16762. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  16763. //
  16764. // The context must be non-nil and will be used for request cancellation. If
  16765. // the context is nil a panic will occur. In the future the SDK may create
  16766. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16767. // for more information on using Contexts.
  16768. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  16769. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  16770. req.SetContext(ctx)
  16771. req.ApplyOptions(opts...)
  16772. return out, req.Send()
  16773. }
  16774. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  16775. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  16776. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  16777. // value can be used to capture response data after the request's "Send" method
  16778. // is called.
  16779. //
  16780. // See ReplaceNetworkAclAssociation for usage and error information.
  16781. //
  16782. // Creating a request object using this method should be used when you want to inject
  16783. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16784. // access properties on the request object before or after sending the request. If
  16785. // you just want the service response, call the ReplaceNetworkAclAssociation method directly
  16786. // instead.
  16787. //
  16788. // Note: You must call the "Send" method on the returned request object in order
  16789. // to execute the request.
  16790. //
  16791. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  16792. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  16793. //
  16794. // err := req.Send()
  16795. // if err == nil { // resp is now filled
  16796. // fmt.Println(resp)
  16797. // }
  16798. //
  16799. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  16800. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  16801. op := &request.Operation{
  16802. Name: opReplaceNetworkAclAssociation,
  16803. HTTPMethod: "POST",
  16804. HTTPPath: "/",
  16805. }
  16806. if input == nil {
  16807. input = &ReplaceNetworkAclAssociationInput{}
  16808. }
  16809. output = &ReplaceNetworkAclAssociationOutput{}
  16810. req = c.newRequest(op, input, output)
  16811. return
  16812. }
  16813. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  16814. //
  16815. // Changes which network ACL a subnet is associated with. By default when you
  16816. // create a subnet, it's automatically associated with the default network ACL.
  16817. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  16818. // in the Amazon Virtual Private Cloud User Guide.
  16819. //
  16820. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16821. // with awserr.Error's Code and Message methods to get detailed information about
  16822. // the error.
  16823. //
  16824. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16825. // API operation ReplaceNetworkAclAssociation for usage and error information.
  16826. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  16827. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  16828. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  16829. return out, req.Send()
  16830. }
  16831. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  16832. // the ability to pass a context and additional request options.
  16833. //
  16834. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  16835. //
  16836. // The context must be non-nil and will be used for request cancellation. If
  16837. // the context is nil a panic will occur. In the future the SDK may create
  16838. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16839. // for more information on using Contexts.
  16840. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  16841. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  16842. req.SetContext(ctx)
  16843. req.ApplyOptions(opts...)
  16844. return out, req.Send()
  16845. }
  16846. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  16847. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  16848. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  16849. // value can be used to capture response data after the request's "Send" method
  16850. // is called.
  16851. //
  16852. // See ReplaceNetworkAclEntry for usage and error information.
  16853. //
  16854. // Creating a request object using this method should be used when you want to inject
  16855. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16856. // access properties on the request object before or after sending the request. If
  16857. // you just want the service response, call the ReplaceNetworkAclEntry method directly
  16858. // instead.
  16859. //
  16860. // Note: You must call the "Send" method on the returned request object in order
  16861. // to execute the request.
  16862. //
  16863. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  16864. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  16865. //
  16866. // err := req.Send()
  16867. // if err == nil { // resp is now filled
  16868. // fmt.Println(resp)
  16869. // }
  16870. //
  16871. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  16872. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  16873. op := &request.Operation{
  16874. Name: opReplaceNetworkAclEntry,
  16875. HTTPMethod: "POST",
  16876. HTTPPath: "/",
  16877. }
  16878. if input == nil {
  16879. input = &ReplaceNetworkAclEntryInput{}
  16880. }
  16881. output = &ReplaceNetworkAclEntryOutput{}
  16882. req = c.newRequest(op, input, output)
  16883. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16884. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16885. return
  16886. }
  16887. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  16888. //
  16889. // Replaces an entry (rule) in a network ACL. For more information about network
  16890. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  16891. // in the Amazon Virtual Private Cloud User Guide.
  16892. //
  16893. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16894. // with awserr.Error's Code and Message methods to get detailed information about
  16895. // the error.
  16896. //
  16897. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16898. // API operation ReplaceNetworkAclEntry for usage and error information.
  16899. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  16900. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  16901. req, out := c.ReplaceNetworkAclEntryRequest(input)
  16902. return out, req.Send()
  16903. }
  16904. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  16905. // the ability to pass a context and additional request options.
  16906. //
  16907. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  16908. //
  16909. // The context must be non-nil and will be used for request cancellation. If
  16910. // the context is nil a panic will occur. In the future the SDK may create
  16911. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16912. // for more information on using Contexts.
  16913. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  16914. req, out := c.ReplaceNetworkAclEntryRequest(input)
  16915. req.SetContext(ctx)
  16916. req.ApplyOptions(opts...)
  16917. return out, req.Send()
  16918. }
  16919. const opReplaceRoute = "ReplaceRoute"
  16920. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  16921. // client's request for the ReplaceRoute operation. The "output" return
  16922. // value can be used to capture response data after the request's "Send" method
  16923. // is called.
  16924. //
  16925. // See ReplaceRoute for usage and error information.
  16926. //
  16927. // Creating a request object using this method should be used when you want to inject
  16928. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16929. // access properties on the request object before or after sending the request. If
  16930. // you just want the service response, call the ReplaceRoute method directly
  16931. // instead.
  16932. //
  16933. // Note: You must call the "Send" method on the returned request object in order
  16934. // to execute the request.
  16935. //
  16936. // // Example sending a request using the ReplaceRouteRequest method.
  16937. // req, resp := client.ReplaceRouteRequest(params)
  16938. //
  16939. // err := req.Send()
  16940. // if err == nil { // resp is now filled
  16941. // fmt.Println(resp)
  16942. // }
  16943. //
  16944. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  16945. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  16946. op := &request.Operation{
  16947. Name: opReplaceRoute,
  16948. HTTPMethod: "POST",
  16949. HTTPPath: "/",
  16950. }
  16951. if input == nil {
  16952. input = &ReplaceRouteInput{}
  16953. }
  16954. output = &ReplaceRouteOutput{}
  16955. req = c.newRequest(op, input, output)
  16956. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16957. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16958. return
  16959. }
  16960. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  16961. //
  16962. // Replaces an existing route within a route table in a VPC. You must provide
  16963. // only one of the following: Internet gateway or virtual private gateway, NAT
  16964. // instance, NAT gateway, VPC peering connection, network interface, or egress-only
  16965. // Internet gateway.
  16966. //
  16967. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  16968. // in the Amazon Virtual Private Cloud User Guide.
  16969. //
  16970. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16971. // with awserr.Error's Code and Message methods to get detailed information about
  16972. // the error.
  16973. //
  16974. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16975. // API operation ReplaceRoute for usage and error information.
  16976. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  16977. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  16978. req, out := c.ReplaceRouteRequest(input)
  16979. return out, req.Send()
  16980. }
  16981. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  16982. // the ability to pass a context and additional request options.
  16983. //
  16984. // See ReplaceRoute for details on how to use this API operation.
  16985. //
  16986. // The context must be non-nil and will be used for request cancellation. If
  16987. // the context is nil a panic will occur. In the future the SDK may create
  16988. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16989. // for more information on using Contexts.
  16990. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  16991. req, out := c.ReplaceRouteRequest(input)
  16992. req.SetContext(ctx)
  16993. req.ApplyOptions(opts...)
  16994. return out, req.Send()
  16995. }
  16996. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  16997. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  16998. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  16999. // value can be used to capture response data after the request's "Send" method
  17000. // is called.
  17001. //
  17002. // See ReplaceRouteTableAssociation for usage and error information.
  17003. //
  17004. // Creating a request object using this method should be used when you want to inject
  17005. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17006. // access properties on the request object before or after sending the request. If
  17007. // you just want the service response, call the ReplaceRouteTableAssociation method directly
  17008. // instead.
  17009. //
  17010. // Note: You must call the "Send" method on the returned request object in order
  17011. // to execute the request.
  17012. //
  17013. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  17014. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  17015. //
  17016. // err := req.Send()
  17017. // if err == nil { // resp is now filled
  17018. // fmt.Println(resp)
  17019. // }
  17020. //
  17021. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  17022. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  17023. op := &request.Operation{
  17024. Name: opReplaceRouteTableAssociation,
  17025. HTTPMethod: "POST",
  17026. HTTPPath: "/",
  17027. }
  17028. if input == nil {
  17029. input = &ReplaceRouteTableAssociationInput{}
  17030. }
  17031. output = &ReplaceRouteTableAssociationOutput{}
  17032. req = c.newRequest(op, input, output)
  17033. return
  17034. }
  17035. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  17036. //
  17037. // Changes the route table associated with a given subnet in a VPC. After the
  17038. // operation completes, the subnet uses the routes in the new route table it's
  17039. // associated with. For more information about route tables, see Route Tables
  17040. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  17041. // in the Amazon Virtual Private Cloud User Guide.
  17042. //
  17043. // You can also use ReplaceRouteTableAssociation to change which table is the
  17044. // main route table in the VPC. You just specify the main route table's association
  17045. // ID and the route table to be the new main route table.
  17046. //
  17047. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17048. // with awserr.Error's Code and Message methods to get detailed information about
  17049. // the error.
  17050. //
  17051. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17052. // API operation ReplaceRouteTableAssociation for usage and error information.
  17053. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  17054. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  17055. req, out := c.ReplaceRouteTableAssociationRequest(input)
  17056. return out, req.Send()
  17057. }
  17058. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  17059. // the ability to pass a context and additional request options.
  17060. //
  17061. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  17062. //
  17063. // The context must be non-nil and will be used for request cancellation. If
  17064. // the context is nil a panic will occur. In the future the SDK may create
  17065. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17066. // for more information on using Contexts.
  17067. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  17068. req, out := c.ReplaceRouteTableAssociationRequest(input)
  17069. req.SetContext(ctx)
  17070. req.ApplyOptions(opts...)
  17071. return out, req.Send()
  17072. }
  17073. const opReportInstanceStatus = "ReportInstanceStatus"
  17074. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  17075. // client's request for the ReportInstanceStatus operation. The "output" return
  17076. // value can be used to capture response data after the request's "Send" method
  17077. // is called.
  17078. //
  17079. // See ReportInstanceStatus for usage and error information.
  17080. //
  17081. // Creating a request object using this method should be used when you want to inject
  17082. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17083. // access properties on the request object before or after sending the request. If
  17084. // you just want the service response, call the ReportInstanceStatus method directly
  17085. // instead.
  17086. //
  17087. // Note: You must call the "Send" method on the returned request object in order
  17088. // to execute the request.
  17089. //
  17090. // // Example sending a request using the ReportInstanceStatusRequest method.
  17091. // req, resp := client.ReportInstanceStatusRequest(params)
  17092. //
  17093. // err := req.Send()
  17094. // if err == nil { // resp is now filled
  17095. // fmt.Println(resp)
  17096. // }
  17097. //
  17098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  17099. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  17100. op := &request.Operation{
  17101. Name: opReportInstanceStatus,
  17102. HTTPMethod: "POST",
  17103. HTTPPath: "/",
  17104. }
  17105. if input == nil {
  17106. input = &ReportInstanceStatusInput{}
  17107. }
  17108. output = &ReportInstanceStatusOutput{}
  17109. req = c.newRequest(op, input, output)
  17110. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17111. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17112. return
  17113. }
  17114. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  17115. //
  17116. // Submits feedback about the status of an instance. The instance must be in
  17117. // the running state. If your experience with the instance differs from the
  17118. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  17119. // to report your experience with the instance. Amazon EC2 collects this information
  17120. // to improve the accuracy of status checks.
  17121. //
  17122. // Use of this action does not change the value returned by DescribeInstanceStatus.
  17123. //
  17124. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17125. // with awserr.Error's Code and Message methods to get detailed information about
  17126. // the error.
  17127. //
  17128. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17129. // API operation ReportInstanceStatus for usage and error information.
  17130. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  17131. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  17132. req, out := c.ReportInstanceStatusRequest(input)
  17133. return out, req.Send()
  17134. }
  17135. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  17136. // the ability to pass a context and additional request options.
  17137. //
  17138. // See ReportInstanceStatus for details on how to use this API operation.
  17139. //
  17140. // The context must be non-nil and will be used for request cancellation. If
  17141. // the context is nil a panic will occur. In the future the SDK may create
  17142. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17143. // for more information on using Contexts.
  17144. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  17145. req, out := c.ReportInstanceStatusRequest(input)
  17146. req.SetContext(ctx)
  17147. req.ApplyOptions(opts...)
  17148. return out, req.Send()
  17149. }
  17150. const opRequestSpotFleet = "RequestSpotFleet"
  17151. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  17152. // client's request for the RequestSpotFleet operation. The "output" return
  17153. // value can be used to capture response data after the request's "Send" method
  17154. // is called.
  17155. //
  17156. // See RequestSpotFleet for usage and error information.
  17157. //
  17158. // Creating a request object using this method should be used when you want to inject
  17159. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17160. // access properties on the request object before or after sending the request. If
  17161. // you just want the service response, call the RequestSpotFleet method directly
  17162. // instead.
  17163. //
  17164. // Note: You must call the "Send" method on the returned request object in order
  17165. // to execute the request.
  17166. //
  17167. // // Example sending a request using the RequestSpotFleetRequest method.
  17168. // req, resp := client.RequestSpotFleetRequest(params)
  17169. //
  17170. // err := req.Send()
  17171. // if err == nil { // resp is now filled
  17172. // fmt.Println(resp)
  17173. // }
  17174. //
  17175. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  17176. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  17177. op := &request.Operation{
  17178. Name: opRequestSpotFleet,
  17179. HTTPMethod: "POST",
  17180. HTTPPath: "/",
  17181. }
  17182. if input == nil {
  17183. input = &RequestSpotFleetInput{}
  17184. }
  17185. output = &RequestSpotFleetOutput{}
  17186. req = c.newRequest(op, input, output)
  17187. return
  17188. }
  17189. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  17190. //
  17191. // Creates a Spot fleet request.
  17192. //
  17193. // You can submit a single request that includes multiple launch specifications
  17194. // that vary by instance type, AMI, Availability Zone, or subnet.
  17195. //
  17196. // By default, the Spot fleet requests Spot instances in the Spot pool where
  17197. // the price per unit is the lowest. Each launch specification can include its
  17198. // own instance weighting that reflects the value of the instance type to your
  17199. // application workload.
  17200. //
  17201. // Alternatively, you can specify that the Spot fleet distribute the target
  17202. // capacity across the Spot pools included in its launch specifications. By
  17203. // ensuring that the Spot instances in your Spot fleet are in different Spot
  17204. // pools, you can improve the availability of your fleet.
  17205. //
  17206. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  17207. // in the Amazon Elastic Compute Cloud User Guide.
  17208. //
  17209. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17210. // with awserr.Error's Code and Message methods to get detailed information about
  17211. // the error.
  17212. //
  17213. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17214. // API operation RequestSpotFleet for usage and error information.
  17215. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  17216. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  17217. req, out := c.RequestSpotFleetRequest(input)
  17218. return out, req.Send()
  17219. }
  17220. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  17221. // the ability to pass a context and additional request options.
  17222. //
  17223. // See RequestSpotFleet for details on how to use this API operation.
  17224. //
  17225. // The context must be non-nil and will be used for request cancellation. If
  17226. // the context is nil a panic will occur. In the future the SDK may create
  17227. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17228. // for more information on using Contexts.
  17229. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  17230. req, out := c.RequestSpotFleetRequest(input)
  17231. req.SetContext(ctx)
  17232. req.ApplyOptions(opts...)
  17233. return out, req.Send()
  17234. }
  17235. const opRequestSpotInstances = "RequestSpotInstances"
  17236. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  17237. // client's request for the RequestSpotInstances operation. The "output" return
  17238. // value can be used to capture response data after the request's "Send" method
  17239. // is called.
  17240. //
  17241. // See RequestSpotInstances for usage and error information.
  17242. //
  17243. // Creating a request object using this method should be used when you want to inject
  17244. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17245. // access properties on the request object before or after sending the request. If
  17246. // you just want the service response, call the RequestSpotInstances method directly
  17247. // instead.
  17248. //
  17249. // Note: You must call the "Send" method on the returned request object in order
  17250. // to execute the request.
  17251. //
  17252. // // Example sending a request using the RequestSpotInstancesRequest method.
  17253. // req, resp := client.RequestSpotInstancesRequest(params)
  17254. //
  17255. // err := req.Send()
  17256. // if err == nil { // resp is now filled
  17257. // fmt.Println(resp)
  17258. // }
  17259. //
  17260. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  17261. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  17262. op := &request.Operation{
  17263. Name: opRequestSpotInstances,
  17264. HTTPMethod: "POST",
  17265. HTTPPath: "/",
  17266. }
  17267. if input == nil {
  17268. input = &RequestSpotInstancesInput{}
  17269. }
  17270. output = &RequestSpotInstancesOutput{}
  17271. req = c.newRequest(op, input, output)
  17272. return
  17273. }
  17274. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  17275. //
  17276. // Creates a Spot instance request. Spot instances are instances that Amazon
  17277. // EC2 launches when the bid price that you specify exceeds the current Spot
  17278. // price. Amazon EC2 periodically sets the Spot price based on available Spot
  17279. // Instance capacity and current Spot instance requests. For more information,
  17280. // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  17281. // in the Amazon Elastic Compute Cloud User Guide.
  17282. //
  17283. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17284. // with awserr.Error's Code and Message methods to get detailed information about
  17285. // the error.
  17286. //
  17287. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17288. // API operation RequestSpotInstances for usage and error information.
  17289. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  17290. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  17291. req, out := c.RequestSpotInstancesRequest(input)
  17292. return out, req.Send()
  17293. }
  17294. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  17295. // the ability to pass a context and additional request options.
  17296. //
  17297. // See RequestSpotInstances for details on how to use this API operation.
  17298. //
  17299. // The context must be non-nil and will be used for request cancellation. If
  17300. // the context is nil a panic will occur. In the future the SDK may create
  17301. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17302. // for more information on using Contexts.
  17303. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  17304. req, out := c.RequestSpotInstancesRequest(input)
  17305. req.SetContext(ctx)
  17306. req.ApplyOptions(opts...)
  17307. return out, req.Send()
  17308. }
  17309. const opResetImageAttribute = "ResetImageAttribute"
  17310. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  17311. // client's request for the ResetImageAttribute operation. The "output" return
  17312. // value can be used to capture response data after the request's "Send" method
  17313. // is called.
  17314. //
  17315. // See ResetImageAttribute for usage and error information.
  17316. //
  17317. // Creating a request object using this method should be used when you want to inject
  17318. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17319. // access properties on the request object before or after sending the request. If
  17320. // you just want the service response, call the ResetImageAttribute method directly
  17321. // instead.
  17322. //
  17323. // Note: You must call the "Send" method on the returned request object in order
  17324. // to execute the request.
  17325. //
  17326. // // Example sending a request using the ResetImageAttributeRequest method.
  17327. // req, resp := client.ResetImageAttributeRequest(params)
  17328. //
  17329. // err := req.Send()
  17330. // if err == nil { // resp is now filled
  17331. // fmt.Println(resp)
  17332. // }
  17333. //
  17334. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  17335. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  17336. op := &request.Operation{
  17337. Name: opResetImageAttribute,
  17338. HTTPMethod: "POST",
  17339. HTTPPath: "/",
  17340. }
  17341. if input == nil {
  17342. input = &ResetImageAttributeInput{}
  17343. }
  17344. output = &ResetImageAttributeOutput{}
  17345. req = c.newRequest(op, input, output)
  17346. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17347. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17348. return
  17349. }
  17350. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  17351. //
  17352. // Resets an attribute of an AMI to its default value.
  17353. //
  17354. // The productCodes attribute can't be reset.
  17355. //
  17356. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17357. // with awserr.Error's Code and Message methods to get detailed information about
  17358. // the error.
  17359. //
  17360. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17361. // API operation ResetImageAttribute for usage and error information.
  17362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  17363. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  17364. req, out := c.ResetImageAttributeRequest(input)
  17365. return out, req.Send()
  17366. }
  17367. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  17368. // the ability to pass a context and additional request options.
  17369. //
  17370. // See ResetImageAttribute for details on how to use this API operation.
  17371. //
  17372. // The context must be non-nil and will be used for request cancellation. If
  17373. // the context is nil a panic will occur. In the future the SDK may create
  17374. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17375. // for more information on using Contexts.
  17376. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  17377. req, out := c.ResetImageAttributeRequest(input)
  17378. req.SetContext(ctx)
  17379. req.ApplyOptions(opts...)
  17380. return out, req.Send()
  17381. }
  17382. const opResetInstanceAttribute = "ResetInstanceAttribute"
  17383. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  17384. // client's request for the ResetInstanceAttribute operation. The "output" return
  17385. // value can be used to capture response data after the request's "Send" method
  17386. // is called.
  17387. //
  17388. // See ResetInstanceAttribute for usage and error information.
  17389. //
  17390. // Creating a request object using this method should be used when you want to inject
  17391. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17392. // access properties on the request object before or after sending the request. If
  17393. // you just want the service response, call the ResetInstanceAttribute method directly
  17394. // instead.
  17395. //
  17396. // Note: You must call the "Send" method on the returned request object in order
  17397. // to execute the request.
  17398. //
  17399. // // Example sending a request using the ResetInstanceAttributeRequest method.
  17400. // req, resp := client.ResetInstanceAttributeRequest(params)
  17401. //
  17402. // err := req.Send()
  17403. // if err == nil { // resp is now filled
  17404. // fmt.Println(resp)
  17405. // }
  17406. //
  17407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  17408. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  17409. op := &request.Operation{
  17410. Name: opResetInstanceAttribute,
  17411. HTTPMethod: "POST",
  17412. HTTPPath: "/",
  17413. }
  17414. if input == nil {
  17415. input = &ResetInstanceAttributeInput{}
  17416. }
  17417. output = &ResetInstanceAttributeOutput{}
  17418. req = c.newRequest(op, input, output)
  17419. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17420. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17421. return
  17422. }
  17423. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  17424. //
  17425. // Resets an attribute of an instance to its default value. To reset the kernel
  17426. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  17427. // the instance can be either running or stopped.
  17428. //
  17429. // The sourceDestCheck attribute controls whether source/destination checking
  17430. // is enabled. The default value is true, which means checking is enabled. This
  17431. // value must be false for a NAT instance to perform NAT. For more information,
  17432. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  17433. // in the Amazon Virtual Private Cloud User Guide.
  17434. //
  17435. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17436. // with awserr.Error's Code and Message methods to get detailed information about
  17437. // the error.
  17438. //
  17439. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17440. // API operation ResetInstanceAttribute for usage and error information.
  17441. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  17442. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  17443. req, out := c.ResetInstanceAttributeRequest(input)
  17444. return out, req.Send()
  17445. }
  17446. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  17447. // the ability to pass a context and additional request options.
  17448. //
  17449. // See ResetInstanceAttribute for details on how to use this API operation.
  17450. //
  17451. // The context must be non-nil and will be used for request cancellation. If
  17452. // the context is nil a panic will occur. In the future the SDK may create
  17453. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17454. // for more information on using Contexts.
  17455. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  17456. req, out := c.ResetInstanceAttributeRequest(input)
  17457. req.SetContext(ctx)
  17458. req.ApplyOptions(opts...)
  17459. return out, req.Send()
  17460. }
  17461. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  17462. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  17463. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  17464. // value can be used to capture response data after the request's "Send" method
  17465. // is called.
  17466. //
  17467. // See ResetNetworkInterfaceAttribute for usage and error information.
  17468. //
  17469. // Creating a request object using this method should be used when you want to inject
  17470. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17471. // access properties on the request object before or after sending the request. If
  17472. // you just want the service response, call the ResetNetworkInterfaceAttribute method directly
  17473. // instead.
  17474. //
  17475. // Note: You must call the "Send" method on the returned request object in order
  17476. // to execute the request.
  17477. //
  17478. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  17479. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  17480. //
  17481. // err := req.Send()
  17482. // if err == nil { // resp is now filled
  17483. // fmt.Println(resp)
  17484. // }
  17485. //
  17486. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  17487. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  17488. op := &request.Operation{
  17489. Name: opResetNetworkInterfaceAttribute,
  17490. HTTPMethod: "POST",
  17491. HTTPPath: "/",
  17492. }
  17493. if input == nil {
  17494. input = &ResetNetworkInterfaceAttributeInput{}
  17495. }
  17496. output = &ResetNetworkInterfaceAttributeOutput{}
  17497. req = c.newRequest(op, input, output)
  17498. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17499. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17500. return
  17501. }
  17502. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  17503. //
  17504. // Resets a network interface attribute. You can specify only one attribute
  17505. // at a time.
  17506. //
  17507. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17508. // with awserr.Error's Code and Message methods to get detailed information about
  17509. // the error.
  17510. //
  17511. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17512. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  17513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  17514. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  17515. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  17516. return out, req.Send()
  17517. }
  17518. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  17519. // the ability to pass a context and additional request options.
  17520. //
  17521. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  17522. //
  17523. // The context must be non-nil and will be used for request cancellation. If
  17524. // the context is nil a panic will occur. In the future the SDK may create
  17525. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17526. // for more information on using Contexts.
  17527. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  17528. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  17529. req.SetContext(ctx)
  17530. req.ApplyOptions(opts...)
  17531. return out, req.Send()
  17532. }
  17533. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  17534. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  17535. // client's request for the ResetSnapshotAttribute operation. The "output" return
  17536. // value can be used to capture response data after the request's "Send" method
  17537. // is called.
  17538. //
  17539. // See ResetSnapshotAttribute for usage and error information.
  17540. //
  17541. // Creating a request object using this method should be used when you want to inject
  17542. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17543. // access properties on the request object before or after sending the request. If
  17544. // you just want the service response, call the ResetSnapshotAttribute method directly
  17545. // instead.
  17546. //
  17547. // Note: You must call the "Send" method on the returned request object in order
  17548. // to execute the request.
  17549. //
  17550. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  17551. // req, resp := client.ResetSnapshotAttributeRequest(params)
  17552. //
  17553. // err := req.Send()
  17554. // if err == nil { // resp is now filled
  17555. // fmt.Println(resp)
  17556. // }
  17557. //
  17558. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  17559. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  17560. op := &request.Operation{
  17561. Name: opResetSnapshotAttribute,
  17562. HTTPMethod: "POST",
  17563. HTTPPath: "/",
  17564. }
  17565. if input == nil {
  17566. input = &ResetSnapshotAttributeInput{}
  17567. }
  17568. output = &ResetSnapshotAttributeOutput{}
  17569. req = c.newRequest(op, input, output)
  17570. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17571. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17572. return
  17573. }
  17574. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  17575. //
  17576. // Resets permission settings for the specified snapshot.
  17577. //
  17578. // For more information on modifying snapshot permissions, see Sharing Snapshots
  17579. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  17580. // in the Amazon Elastic Compute Cloud User Guide.
  17581. //
  17582. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17583. // with awserr.Error's Code and Message methods to get detailed information about
  17584. // the error.
  17585. //
  17586. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17587. // API operation ResetSnapshotAttribute for usage and error information.
  17588. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  17589. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  17590. req, out := c.ResetSnapshotAttributeRequest(input)
  17591. return out, req.Send()
  17592. }
  17593. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  17594. // the ability to pass a context and additional request options.
  17595. //
  17596. // See ResetSnapshotAttribute for details on how to use this API operation.
  17597. //
  17598. // The context must be non-nil and will be used for request cancellation. If
  17599. // the context is nil a panic will occur. In the future the SDK may create
  17600. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17601. // for more information on using Contexts.
  17602. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  17603. req, out := c.ResetSnapshotAttributeRequest(input)
  17604. req.SetContext(ctx)
  17605. req.ApplyOptions(opts...)
  17606. return out, req.Send()
  17607. }
  17608. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  17609. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  17610. // client's request for the RestoreAddressToClassic operation. The "output" return
  17611. // value can be used to capture response data after the request's "Send" method
  17612. // is called.
  17613. //
  17614. // See RestoreAddressToClassic for usage and error information.
  17615. //
  17616. // Creating a request object using this method should be used when you want to inject
  17617. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17618. // access properties on the request object before or after sending the request. If
  17619. // you just want the service response, call the RestoreAddressToClassic method directly
  17620. // instead.
  17621. //
  17622. // Note: You must call the "Send" method on the returned request object in order
  17623. // to execute the request.
  17624. //
  17625. // // Example sending a request using the RestoreAddressToClassicRequest method.
  17626. // req, resp := client.RestoreAddressToClassicRequest(params)
  17627. //
  17628. // err := req.Send()
  17629. // if err == nil { // resp is now filled
  17630. // fmt.Println(resp)
  17631. // }
  17632. //
  17633. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  17634. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  17635. op := &request.Operation{
  17636. Name: opRestoreAddressToClassic,
  17637. HTTPMethod: "POST",
  17638. HTTPPath: "/",
  17639. }
  17640. if input == nil {
  17641. input = &RestoreAddressToClassicInput{}
  17642. }
  17643. output = &RestoreAddressToClassicOutput{}
  17644. req = c.newRequest(op, input, output)
  17645. return
  17646. }
  17647. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  17648. //
  17649. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  17650. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  17651. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  17652. // not be associated with an instance or network interface.
  17653. //
  17654. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17655. // with awserr.Error's Code and Message methods to get detailed information about
  17656. // the error.
  17657. //
  17658. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17659. // API operation RestoreAddressToClassic for usage and error information.
  17660. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  17661. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  17662. req, out := c.RestoreAddressToClassicRequest(input)
  17663. return out, req.Send()
  17664. }
  17665. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  17666. // the ability to pass a context and additional request options.
  17667. //
  17668. // See RestoreAddressToClassic for details on how to use this API operation.
  17669. //
  17670. // The context must be non-nil and will be used for request cancellation. If
  17671. // the context is nil a panic will occur. In the future the SDK may create
  17672. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17673. // for more information on using Contexts.
  17674. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  17675. req, out := c.RestoreAddressToClassicRequest(input)
  17676. req.SetContext(ctx)
  17677. req.ApplyOptions(opts...)
  17678. return out, req.Send()
  17679. }
  17680. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  17681. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  17682. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  17683. // value can be used to capture response data after the request's "Send" method
  17684. // is called.
  17685. //
  17686. // See RevokeSecurityGroupEgress for usage and error information.
  17687. //
  17688. // Creating a request object using this method should be used when you want to inject
  17689. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17690. // access properties on the request object before or after sending the request. If
  17691. // you just want the service response, call the RevokeSecurityGroupEgress method directly
  17692. // instead.
  17693. //
  17694. // Note: You must call the "Send" method on the returned request object in order
  17695. // to execute the request.
  17696. //
  17697. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  17698. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  17699. //
  17700. // err := req.Send()
  17701. // if err == nil { // resp is now filled
  17702. // fmt.Println(resp)
  17703. // }
  17704. //
  17705. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  17706. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  17707. op := &request.Operation{
  17708. Name: opRevokeSecurityGroupEgress,
  17709. HTTPMethod: "POST",
  17710. HTTPPath: "/",
  17711. }
  17712. if input == nil {
  17713. input = &RevokeSecurityGroupEgressInput{}
  17714. }
  17715. output = &RevokeSecurityGroupEgressOutput{}
  17716. req = c.newRequest(op, input, output)
  17717. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17718. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17719. return
  17720. }
  17721. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  17722. //
  17723. // [EC2-VPC only] Removes one or more egress rules from a security group for
  17724. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  17725. // The values that you specify in the revoke request (for example, ports) must
  17726. // match the existing rule's values for the rule to be revoked.
  17727. //
  17728. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  17729. // security group. For the TCP and UDP protocols, you must also specify the
  17730. // destination port or range of ports. For the ICMP protocol, you must also
  17731. // specify the ICMP type and code.
  17732. //
  17733. // Rule changes are propagated to instances within the security group as quickly
  17734. // as possible. However, a small delay might occur.
  17735. //
  17736. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17737. // with awserr.Error's Code and Message methods to get detailed information about
  17738. // the error.
  17739. //
  17740. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17741. // API operation RevokeSecurityGroupEgress for usage and error information.
  17742. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  17743. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  17744. req, out := c.RevokeSecurityGroupEgressRequest(input)
  17745. return out, req.Send()
  17746. }
  17747. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  17748. // the ability to pass a context and additional request options.
  17749. //
  17750. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  17751. //
  17752. // The context must be non-nil and will be used for request cancellation. If
  17753. // the context is nil a panic will occur. In the future the SDK may create
  17754. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17755. // for more information on using Contexts.
  17756. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  17757. req, out := c.RevokeSecurityGroupEgressRequest(input)
  17758. req.SetContext(ctx)
  17759. req.ApplyOptions(opts...)
  17760. return out, req.Send()
  17761. }
  17762. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  17763. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  17764. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  17765. // value can be used to capture response data after the request's "Send" method
  17766. // is called.
  17767. //
  17768. // See RevokeSecurityGroupIngress for usage and error information.
  17769. //
  17770. // Creating a request object using this method should be used when you want to inject
  17771. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17772. // access properties on the request object before or after sending the request. If
  17773. // you just want the service response, call the RevokeSecurityGroupIngress method directly
  17774. // instead.
  17775. //
  17776. // Note: You must call the "Send" method on the returned request object in order
  17777. // to execute the request.
  17778. //
  17779. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  17780. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  17781. //
  17782. // err := req.Send()
  17783. // if err == nil { // resp is now filled
  17784. // fmt.Println(resp)
  17785. // }
  17786. //
  17787. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  17788. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  17789. op := &request.Operation{
  17790. Name: opRevokeSecurityGroupIngress,
  17791. HTTPMethod: "POST",
  17792. HTTPPath: "/",
  17793. }
  17794. if input == nil {
  17795. input = &RevokeSecurityGroupIngressInput{}
  17796. }
  17797. output = &RevokeSecurityGroupIngressOutput{}
  17798. req = c.newRequest(op, input, output)
  17799. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17800. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17801. return
  17802. }
  17803. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  17804. //
  17805. // Removes one or more ingress rules from a security group. The values that
  17806. // you specify in the revoke request (for example, ports) must match the existing
  17807. // rule's values for the rule to be removed.
  17808. //
  17809. // Each rule consists of the protocol and the CIDR range or source security
  17810. // group. For the TCP and UDP protocols, you must also specify the destination
  17811. // port or range of ports. For the ICMP protocol, you must also specify the
  17812. // ICMP type and code.
  17813. //
  17814. // Rule changes are propagated to instances within the security group as quickly
  17815. // as possible. However, a small delay might occur.
  17816. //
  17817. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17818. // with awserr.Error's Code and Message methods to get detailed information about
  17819. // the error.
  17820. //
  17821. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17822. // API operation RevokeSecurityGroupIngress for usage and error information.
  17823. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  17824. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  17825. req, out := c.RevokeSecurityGroupIngressRequest(input)
  17826. return out, req.Send()
  17827. }
  17828. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  17829. // the ability to pass a context and additional request options.
  17830. //
  17831. // See RevokeSecurityGroupIngress for details on how to use this API operation.
  17832. //
  17833. // The context must be non-nil and will be used for request cancellation. If
  17834. // the context is nil a panic will occur. In the future the SDK may create
  17835. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17836. // for more information on using Contexts.
  17837. func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  17838. req, out := c.RevokeSecurityGroupIngressRequest(input)
  17839. req.SetContext(ctx)
  17840. req.ApplyOptions(opts...)
  17841. return out, req.Send()
  17842. }
  17843. const opRunInstances = "RunInstances"
  17844. // RunInstancesRequest generates a "aws/request.Request" representing the
  17845. // client's request for the RunInstances operation. The "output" return
  17846. // value can be used to capture response data after the request's "Send" method
  17847. // is called.
  17848. //
  17849. // See RunInstances for usage and error information.
  17850. //
  17851. // Creating a request object using this method should be used when you want to inject
  17852. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17853. // access properties on the request object before or after sending the request. If
  17854. // you just want the service response, call the RunInstances method directly
  17855. // instead.
  17856. //
  17857. // Note: You must call the "Send" method on the returned request object in order
  17858. // to execute the request.
  17859. //
  17860. // // Example sending a request using the RunInstancesRequest method.
  17861. // req, resp := client.RunInstancesRequest(params)
  17862. //
  17863. // err := req.Send()
  17864. // if err == nil { // resp is now filled
  17865. // fmt.Println(resp)
  17866. // }
  17867. //
  17868. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  17869. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  17870. op := &request.Operation{
  17871. Name: opRunInstances,
  17872. HTTPMethod: "POST",
  17873. HTTPPath: "/",
  17874. }
  17875. if input == nil {
  17876. input = &RunInstancesInput{}
  17877. }
  17878. output = &Reservation{}
  17879. req = c.newRequest(op, input, output)
  17880. return
  17881. }
  17882. // RunInstances API operation for Amazon Elastic Compute Cloud.
  17883. //
  17884. // Launches the specified number of instances using an AMI for which you have
  17885. // permissions.
  17886. //
  17887. // You can specify a number of options, or leave the default options. The following
  17888. // rules apply:
  17889. //
  17890. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  17891. // from your default VPC for you. If you don't have a default VPC, you must
  17892. // specify a subnet ID in the request.
  17893. //
  17894. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  17895. // you.
  17896. //
  17897. // * Some instance types must be launched into a VPC. If you do not have
  17898. // a default VPC, or if you do not specify a subnet ID, the request fails.
  17899. // For more information, see Instance Types Available Only in a VPC (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html#vpc-only-instance-types).
  17900. //
  17901. // * [EC2-VPC] All instances have a network interface with a primary private
  17902. // IPv4 address. If you don't specify this address, we choose one from the
  17903. // IPv4 range of your subnet.
  17904. //
  17905. // * Not all instance types support IPv6 addresses. For more information,
  17906. // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  17907. //
  17908. // * If you don't specify a security group ID, we use the default security
  17909. // group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  17910. //
  17911. // * If any of the AMIs have a product code attached for which the user has
  17912. // not subscribed, the request fails.
  17913. //
  17914. // To ensure faster instance launches, break up large requests into smaller
  17915. // batches. For example, create 5 separate launch requests for 100 instances
  17916. // each instead of 1 launch request for 500 instances.
  17917. //
  17918. // An instance is ready for you to use when it's in the running state. You can
  17919. // check the state of your instance using DescribeInstances. You can tag instances
  17920. // and EBS volumes during launch, after launch, or both. For more information,
  17921. // see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  17922. //
  17923. // Linux instances have access to the public key of the key pair at boot. You
  17924. // can use this key to provide secure access to the instance. Amazon EC2 public
  17925. // images use this feature to provide secure access without passwords. For more
  17926. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  17927. // in the Amazon Elastic Compute Cloud User Guide.
  17928. //
  17929. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  17930. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  17931. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  17932. // in the Amazon Elastic Compute Cloud User Guide.
  17933. //
  17934. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17935. // with awserr.Error's Code and Message methods to get detailed information about
  17936. // the error.
  17937. //
  17938. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17939. // API operation RunInstances for usage and error information.
  17940. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  17941. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  17942. req, out := c.RunInstancesRequest(input)
  17943. return out, req.Send()
  17944. }
  17945. // RunInstancesWithContext is the same as RunInstances with the addition of
  17946. // the ability to pass a context and additional request options.
  17947. //
  17948. // See RunInstances for details on how to use this API operation.
  17949. //
  17950. // The context must be non-nil and will be used for request cancellation. If
  17951. // the context is nil a panic will occur. In the future the SDK may create
  17952. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17953. // for more information on using Contexts.
  17954. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  17955. req, out := c.RunInstancesRequest(input)
  17956. req.SetContext(ctx)
  17957. req.ApplyOptions(opts...)
  17958. return out, req.Send()
  17959. }
  17960. const opRunScheduledInstances = "RunScheduledInstances"
  17961. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  17962. // client's request for the RunScheduledInstances operation. The "output" return
  17963. // value can be used to capture response data after the request's "Send" method
  17964. // is called.
  17965. //
  17966. // See RunScheduledInstances for usage and error information.
  17967. //
  17968. // Creating a request object using this method should be used when you want to inject
  17969. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17970. // access properties on the request object before or after sending the request. If
  17971. // you just want the service response, call the RunScheduledInstances method directly
  17972. // instead.
  17973. //
  17974. // Note: You must call the "Send" method on the returned request object in order
  17975. // to execute the request.
  17976. //
  17977. // // Example sending a request using the RunScheduledInstancesRequest method.
  17978. // req, resp := client.RunScheduledInstancesRequest(params)
  17979. //
  17980. // err := req.Send()
  17981. // if err == nil { // resp is now filled
  17982. // fmt.Println(resp)
  17983. // }
  17984. //
  17985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  17986. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  17987. op := &request.Operation{
  17988. Name: opRunScheduledInstances,
  17989. HTTPMethod: "POST",
  17990. HTTPPath: "/",
  17991. }
  17992. if input == nil {
  17993. input = &RunScheduledInstancesInput{}
  17994. }
  17995. output = &RunScheduledInstancesOutput{}
  17996. req = c.newRequest(op, input, output)
  17997. return
  17998. }
  17999. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  18000. //
  18001. // Launches the specified Scheduled Instances.
  18002. //
  18003. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  18004. // an identifier using PurchaseScheduledInstances.
  18005. //
  18006. // You must launch a Scheduled Instance during its scheduled time period. You
  18007. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  18008. // If you terminate a Scheduled Instance before the current scheduled time period
  18009. // ends, you can launch it again after a few minutes. For more information,
  18010. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  18011. // in the Amazon Elastic Compute Cloud User Guide.
  18012. //
  18013. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18014. // with awserr.Error's Code and Message methods to get detailed information about
  18015. // the error.
  18016. //
  18017. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18018. // API operation RunScheduledInstances for usage and error information.
  18019. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  18020. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  18021. req, out := c.RunScheduledInstancesRequest(input)
  18022. return out, req.Send()
  18023. }
  18024. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  18025. // the ability to pass a context and additional request options.
  18026. //
  18027. // See RunScheduledInstances for details on how to use this API operation.
  18028. //
  18029. // The context must be non-nil and will be used for request cancellation. If
  18030. // the context is nil a panic will occur. In the future the SDK may create
  18031. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18032. // for more information on using Contexts.
  18033. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  18034. req, out := c.RunScheduledInstancesRequest(input)
  18035. req.SetContext(ctx)
  18036. req.ApplyOptions(opts...)
  18037. return out, req.Send()
  18038. }
  18039. const opStartInstances = "StartInstances"
  18040. // StartInstancesRequest generates a "aws/request.Request" representing the
  18041. // client's request for the StartInstances operation. The "output" return
  18042. // value can be used to capture response data after the request's "Send" method
  18043. // is called.
  18044. //
  18045. // See StartInstances for usage and error information.
  18046. //
  18047. // Creating a request object using this method should be used when you want to inject
  18048. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18049. // access properties on the request object before or after sending the request. If
  18050. // you just want the service response, call the StartInstances method directly
  18051. // instead.
  18052. //
  18053. // Note: You must call the "Send" method on the returned request object in order
  18054. // to execute the request.
  18055. //
  18056. // // Example sending a request using the StartInstancesRequest method.
  18057. // req, resp := client.StartInstancesRequest(params)
  18058. //
  18059. // err := req.Send()
  18060. // if err == nil { // resp is now filled
  18061. // fmt.Println(resp)
  18062. // }
  18063. //
  18064. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  18065. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  18066. op := &request.Operation{
  18067. Name: opStartInstances,
  18068. HTTPMethod: "POST",
  18069. HTTPPath: "/",
  18070. }
  18071. if input == nil {
  18072. input = &StartInstancesInput{}
  18073. }
  18074. output = &StartInstancesOutput{}
  18075. req = c.newRequest(op, input, output)
  18076. return
  18077. }
  18078. // StartInstances API operation for Amazon Elastic Compute Cloud.
  18079. //
  18080. // Starts an Amazon EBS-backed AMI that you've previously stopped.
  18081. //
  18082. // Instances that use Amazon EBS volumes as their root devices can be quickly
  18083. // stopped and started. When an instance is stopped, the compute resources are
  18084. // released and you are not billed for hourly instance usage. However, your
  18085. // root partition Amazon EBS volume remains, continues to persist your data,
  18086. // and you are charged for Amazon EBS volume usage. You can restart your instance
  18087. // at any time. Each time you transition an instance from stopped to started,
  18088. // Amazon EC2 charges a full instance hour, even if transitions happen multiple
  18089. // times within a single hour.
  18090. //
  18091. // Before stopping an instance, make sure it is in a state from which it can
  18092. // be restarted. Stopping an instance does not preserve data stored in RAM.
  18093. //
  18094. // Performing this operation on an instance that uses an instance store as its
  18095. // root device returns an error.
  18096. //
  18097. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  18098. // in the Amazon Elastic Compute Cloud User Guide.
  18099. //
  18100. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18101. // with awserr.Error's Code and Message methods to get detailed information about
  18102. // the error.
  18103. //
  18104. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18105. // API operation StartInstances for usage and error information.
  18106. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  18107. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  18108. req, out := c.StartInstancesRequest(input)
  18109. return out, req.Send()
  18110. }
  18111. // StartInstancesWithContext is the same as StartInstances with the addition of
  18112. // the ability to pass a context and additional request options.
  18113. //
  18114. // See StartInstances for details on how to use this API operation.
  18115. //
  18116. // The context must be non-nil and will be used for request cancellation. If
  18117. // the context is nil a panic will occur. In the future the SDK may create
  18118. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18119. // for more information on using Contexts.
  18120. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  18121. req, out := c.StartInstancesRequest(input)
  18122. req.SetContext(ctx)
  18123. req.ApplyOptions(opts...)
  18124. return out, req.Send()
  18125. }
  18126. const opStopInstances = "StopInstances"
  18127. // StopInstancesRequest generates a "aws/request.Request" representing the
  18128. // client's request for the StopInstances operation. The "output" return
  18129. // value can be used to capture response data after the request's "Send" method
  18130. // is called.
  18131. //
  18132. // See StopInstances for usage and error information.
  18133. //
  18134. // Creating a request object using this method should be used when you want to inject
  18135. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18136. // access properties on the request object before or after sending the request. If
  18137. // you just want the service response, call the StopInstances method directly
  18138. // instead.
  18139. //
  18140. // Note: You must call the "Send" method on the returned request object in order
  18141. // to execute the request.
  18142. //
  18143. // // Example sending a request using the StopInstancesRequest method.
  18144. // req, resp := client.StopInstancesRequest(params)
  18145. //
  18146. // err := req.Send()
  18147. // if err == nil { // resp is now filled
  18148. // fmt.Println(resp)
  18149. // }
  18150. //
  18151. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  18152. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  18153. op := &request.Operation{
  18154. Name: opStopInstances,
  18155. HTTPMethod: "POST",
  18156. HTTPPath: "/",
  18157. }
  18158. if input == nil {
  18159. input = &StopInstancesInput{}
  18160. }
  18161. output = &StopInstancesOutput{}
  18162. req = c.newRequest(op, input, output)
  18163. return
  18164. }
  18165. // StopInstances API operation for Amazon Elastic Compute Cloud.
  18166. //
  18167. // Stops an Amazon EBS-backed instance.
  18168. //
  18169. // We don't charge hourly usage for a stopped instance, or data transfer fees;
  18170. // however, your root partition Amazon EBS volume remains, continues to persist
  18171. // your data, and you are charged for Amazon EBS volume usage. Each time you
  18172. // transition an instance from stopped to started, Amazon EC2 charges a full
  18173. // instance hour, even if transitions happen multiple times within a single
  18174. // hour.
  18175. //
  18176. // You can't start or stop Spot instances, and you can't stop instance store-backed
  18177. // instances.
  18178. //
  18179. // When you stop an instance, we shut it down. You can restart your instance
  18180. // at any time. Before stopping an instance, make sure it is in a state from
  18181. // which it can be restarted. Stopping an instance does not preserve data stored
  18182. // in RAM.
  18183. //
  18184. // Stopping an instance is different to rebooting or terminating it. For example,
  18185. // when you stop an instance, the root device and any other devices attached
  18186. // to the instance persist. When you terminate an instance, the root device
  18187. // and any other devices attached during the instance launch are automatically
  18188. // deleted. For more information about the differences between rebooting, stopping,
  18189. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  18190. // in the Amazon Elastic Compute Cloud User Guide.
  18191. //
  18192. // When you stop an instance, we attempt to shut it down forcibly after a short
  18193. // while. If your instance appears stuck in the stopping state after a period
  18194. // of time, there may be an issue with the underlying host computer. For more
  18195. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  18196. // in the Amazon Elastic Compute Cloud User Guide.
  18197. //
  18198. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18199. // with awserr.Error's Code and Message methods to get detailed information about
  18200. // the error.
  18201. //
  18202. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18203. // API operation StopInstances for usage and error information.
  18204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  18205. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  18206. req, out := c.StopInstancesRequest(input)
  18207. return out, req.Send()
  18208. }
  18209. // StopInstancesWithContext is the same as StopInstances with the addition of
  18210. // the ability to pass a context and additional request options.
  18211. //
  18212. // See StopInstances for details on how to use this API operation.
  18213. //
  18214. // The context must be non-nil and will be used for request cancellation. If
  18215. // the context is nil a panic will occur. In the future the SDK may create
  18216. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18217. // for more information on using Contexts.
  18218. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  18219. req, out := c.StopInstancesRequest(input)
  18220. req.SetContext(ctx)
  18221. req.ApplyOptions(opts...)
  18222. return out, req.Send()
  18223. }
  18224. const opTerminateInstances = "TerminateInstances"
  18225. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  18226. // client's request for the TerminateInstances operation. The "output" return
  18227. // value can be used to capture response data after the request's "Send" method
  18228. // is called.
  18229. //
  18230. // See TerminateInstances for usage and error information.
  18231. //
  18232. // Creating a request object using this method should be used when you want to inject
  18233. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18234. // access properties on the request object before or after sending the request. If
  18235. // you just want the service response, call the TerminateInstances method directly
  18236. // instead.
  18237. //
  18238. // Note: You must call the "Send" method on the returned request object in order
  18239. // to execute the request.
  18240. //
  18241. // // Example sending a request using the TerminateInstancesRequest method.
  18242. // req, resp := client.TerminateInstancesRequest(params)
  18243. //
  18244. // err := req.Send()
  18245. // if err == nil { // resp is now filled
  18246. // fmt.Println(resp)
  18247. // }
  18248. //
  18249. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  18250. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  18251. op := &request.Operation{
  18252. Name: opTerminateInstances,
  18253. HTTPMethod: "POST",
  18254. HTTPPath: "/",
  18255. }
  18256. if input == nil {
  18257. input = &TerminateInstancesInput{}
  18258. }
  18259. output = &TerminateInstancesOutput{}
  18260. req = c.newRequest(op, input, output)
  18261. return
  18262. }
  18263. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  18264. //
  18265. // Shuts down one or more instances. This operation is idempotent; if you terminate
  18266. // an instance more than once, each call succeeds.
  18267. //
  18268. // If you specify multiple instances and the request fails (for example, because
  18269. // of a single incorrect instance ID), none of the instances are terminated.
  18270. //
  18271. // Terminated instances remain visible after termination (for approximately
  18272. // one hour).
  18273. //
  18274. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  18275. // instance launched. Volumes attached after instance launch continue running.
  18276. //
  18277. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  18278. // instance store-backed instances. What happens to an instance differs if you
  18279. // stop it or terminate it. For example, when you stop an instance, the root
  18280. // device and any other devices attached to the instance persist. When you terminate
  18281. // an instance, any attached EBS volumes with the DeleteOnTermination block
  18282. // device mapping parameter set to true are automatically deleted. For more
  18283. // information about the differences between stopping and terminating instances,
  18284. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  18285. // in the Amazon Elastic Compute Cloud User Guide.
  18286. //
  18287. // For more information about troubleshooting, see Troubleshooting Terminating
  18288. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  18289. // in the Amazon Elastic Compute Cloud User Guide.
  18290. //
  18291. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18292. // with awserr.Error's Code and Message methods to get detailed information about
  18293. // the error.
  18294. //
  18295. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18296. // API operation TerminateInstances for usage and error information.
  18297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  18298. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  18299. req, out := c.TerminateInstancesRequest(input)
  18300. return out, req.Send()
  18301. }
  18302. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  18303. // the ability to pass a context and additional request options.
  18304. //
  18305. // See TerminateInstances for details on how to use this API operation.
  18306. //
  18307. // The context must be non-nil and will be used for request cancellation. If
  18308. // the context is nil a panic will occur. In the future the SDK may create
  18309. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18310. // for more information on using Contexts.
  18311. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  18312. req, out := c.TerminateInstancesRequest(input)
  18313. req.SetContext(ctx)
  18314. req.ApplyOptions(opts...)
  18315. return out, req.Send()
  18316. }
  18317. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  18318. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  18319. // client's request for the UnassignIpv6Addresses operation. The "output" return
  18320. // value can be used to capture response data after the request's "Send" method
  18321. // is called.
  18322. //
  18323. // See UnassignIpv6Addresses for usage and error information.
  18324. //
  18325. // Creating a request object using this method should be used when you want to inject
  18326. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18327. // access properties on the request object before or after sending the request. If
  18328. // you just want the service response, call the UnassignIpv6Addresses method directly
  18329. // instead.
  18330. //
  18331. // Note: You must call the "Send" method on the returned request object in order
  18332. // to execute the request.
  18333. //
  18334. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  18335. // req, resp := client.UnassignIpv6AddressesRequest(params)
  18336. //
  18337. // err := req.Send()
  18338. // if err == nil { // resp is now filled
  18339. // fmt.Println(resp)
  18340. // }
  18341. //
  18342. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  18343. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  18344. op := &request.Operation{
  18345. Name: opUnassignIpv6Addresses,
  18346. HTTPMethod: "POST",
  18347. HTTPPath: "/",
  18348. }
  18349. if input == nil {
  18350. input = &UnassignIpv6AddressesInput{}
  18351. }
  18352. output = &UnassignIpv6AddressesOutput{}
  18353. req = c.newRequest(op, input, output)
  18354. return
  18355. }
  18356. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  18357. //
  18358. // Unassigns one or more IPv6 addresses from a network interface.
  18359. //
  18360. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18361. // with awserr.Error's Code and Message methods to get detailed information about
  18362. // the error.
  18363. //
  18364. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18365. // API operation UnassignIpv6Addresses for usage and error information.
  18366. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  18367. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  18368. req, out := c.UnassignIpv6AddressesRequest(input)
  18369. return out, req.Send()
  18370. }
  18371. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  18372. // the ability to pass a context and additional request options.
  18373. //
  18374. // See UnassignIpv6Addresses for details on how to use this API operation.
  18375. //
  18376. // The context must be non-nil and will be used for request cancellation. If
  18377. // the context is nil a panic will occur. In the future the SDK may create
  18378. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18379. // for more information on using Contexts.
  18380. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  18381. req, out := c.UnassignIpv6AddressesRequest(input)
  18382. req.SetContext(ctx)
  18383. req.ApplyOptions(opts...)
  18384. return out, req.Send()
  18385. }
  18386. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  18387. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  18388. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  18389. // value can be used to capture response data after the request's "Send" method
  18390. // is called.
  18391. //
  18392. // See UnassignPrivateIpAddresses for usage and error information.
  18393. //
  18394. // Creating a request object using this method should be used when you want to inject
  18395. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18396. // access properties on the request object before or after sending the request. If
  18397. // you just want the service response, call the UnassignPrivateIpAddresses method directly
  18398. // instead.
  18399. //
  18400. // Note: You must call the "Send" method on the returned request object in order
  18401. // to execute the request.
  18402. //
  18403. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  18404. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  18405. //
  18406. // err := req.Send()
  18407. // if err == nil { // resp is now filled
  18408. // fmt.Println(resp)
  18409. // }
  18410. //
  18411. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  18412. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  18413. op := &request.Operation{
  18414. Name: opUnassignPrivateIpAddresses,
  18415. HTTPMethod: "POST",
  18416. HTTPPath: "/",
  18417. }
  18418. if input == nil {
  18419. input = &UnassignPrivateIpAddressesInput{}
  18420. }
  18421. output = &UnassignPrivateIpAddressesOutput{}
  18422. req = c.newRequest(op, input, output)
  18423. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  18424. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  18425. return
  18426. }
  18427. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  18428. //
  18429. // Unassigns one or more secondary private IP addresses from a network interface.
  18430. //
  18431. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18432. // with awserr.Error's Code and Message methods to get detailed information about
  18433. // the error.
  18434. //
  18435. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18436. // API operation UnassignPrivateIpAddresses for usage and error information.
  18437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  18438. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  18439. req, out := c.UnassignPrivateIpAddressesRequest(input)
  18440. return out, req.Send()
  18441. }
  18442. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  18443. // the ability to pass a context and additional request options.
  18444. //
  18445. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  18446. //
  18447. // The context must be non-nil and will be used for request cancellation. If
  18448. // the context is nil a panic will occur. In the future the SDK may create
  18449. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18450. // for more information on using Contexts.
  18451. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  18452. req, out := c.UnassignPrivateIpAddressesRequest(input)
  18453. req.SetContext(ctx)
  18454. req.ApplyOptions(opts...)
  18455. return out, req.Send()
  18456. }
  18457. const opUnmonitorInstances = "UnmonitorInstances"
  18458. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  18459. // client's request for the UnmonitorInstances operation. The "output" return
  18460. // value can be used to capture response data after the request's "Send" method
  18461. // is called.
  18462. //
  18463. // See UnmonitorInstances for usage and error information.
  18464. //
  18465. // Creating a request object using this method should be used when you want to inject
  18466. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18467. // access properties on the request object before or after sending the request. If
  18468. // you just want the service response, call the UnmonitorInstances method directly
  18469. // instead.
  18470. //
  18471. // Note: You must call the "Send" method on the returned request object in order
  18472. // to execute the request.
  18473. //
  18474. // // Example sending a request using the UnmonitorInstancesRequest method.
  18475. // req, resp := client.UnmonitorInstancesRequest(params)
  18476. //
  18477. // err := req.Send()
  18478. // if err == nil { // resp is now filled
  18479. // fmt.Println(resp)
  18480. // }
  18481. //
  18482. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  18483. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  18484. op := &request.Operation{
  18485. Name: opUnmonitorInstances,
  18486. HTTPMethod: "POST",
  18487. HTTPPath: "/",
  18488. }
  18489. if input == nil {
  18490. input = &UnmonitorInstancesInput{}
  18491. }
  18492. output = &UnmonitorInstancesOutput{}
  18493. req = c.newRequest(op, input, output)
  18494. return
  18495. }
  18496. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  18497. //
  18498. // Disables detailed monitoring for a running instance. For more information,
  18499. // see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  18500. // in the Amazon Elastic Compute Cloud User Guide.
  18501. //
  18502. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18503. // with awserr.Error's Code and Message methods to get detailed information about
  18504. // the error.
  18505. //
  18506. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18507. // API operation UnmonitorInstances for usage and error information.
  18508. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  18509. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  18510. req, out := c.UnmonitorInstancesRequest(input)
  18511. return out, req.Send()
  18512. }
  18513. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  18514. // the ability to pass a context and additional request options.
  18515. //
  18516. // See UnmonitorInstances for details on how to use this API operation.
  18517. //
  18518. // The context must be non-nil and will be used for request cancellation. If
  18519. // the context is nil a panic will occur. In the future the SDK may create
  18520. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18521. // for more information on using Contexts.
  18522. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  18523. req, out := c.UnmonitorInstancesRequest(input)
  18524. req.SetContext(ctx)
  18525. req.ApplyOptions(opts...)
  18526. return out, req.Send()
  18527. }
  18528. // Contains the parameters for accepting the quote.
  18529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteRequest
  18530. type AcceptReservedInstancesExchangeQuoteInput struct {
  18531. _ struct{} `type:"structure"`
  18532. // Checks whether you have the required permissions for the action, without
  18533. // actually making the request, and provides an error response. If you have
  18534. // the required permissions, the error response is DryRunOperation. Otherwise,
  18535. // it is UnauthorizedOperation.
  18536. DryRun *bool `type:"boolean"`
  18537. // The IDs of the Convertible Reserved Instances to exchange for other Convertible
  18538. // Reserved Instances of the same or higher value.
  18539. //
  18540. // ReservedInstanceIds is a required field
  18541. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  18542. // The configurations of the Convertible Reserved Instance offerings that you
  18543. // are purchasing in this exchange.
  18544. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  18545. }
  18546. // String returns the string representation
  18547. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  18548. return awsutil.Prettify(s)
  18549. }
  18550. // GoString returns the string representation
  18551. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  18552. return s.String()
  18553. }
  18554. // Validate inspects the fields of the type to determine if they are valid.
  18555. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  18556. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  18557. if s.ReservedInstanceIds == nil {
  18558. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  18559. }
  18560. if s.TargetConfigurations != nil {
  18561. for i, v := range s.TargetConfigurations {
  18562. if v == nil {
  18563. continue
  18564. }
  18565. if err := v.Validate(); err != nil {
  18566. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  18567. }
  18568. }
  18569. }
  18570. if invalidParams.Len() > 0 {
  18571. return invalidParams
  18572. }
  18573. return nil
  18574. }
  18575. // SetDryRun sets the DryRun field's value.
  18576. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  18577. s.DryRun = &v
  18578. return s
  18579. }
  18580. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  18581. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  18582. s.ReservedInstanceIds = v
  18583. return s
  18584. }
  18585. // SetTargetConfigurations sets the TargetConfigurations field's value.
  18586. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  18587. s.TargetConfigurations = v
  18588. return s
  18589. }
  18590. // The result of the exchange and whether it was successful.
  18591. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteResult
  18592. type AcceptReservedInstancesExchangeQuoteOutput struct {
  18593. _ struct{} `type:"structure"`
  18594. // The ID of the successful exchange.
  18595. ExchangeId *string `locationName:"exchangeId" type:"string"`
  18596. }
  18597. // String returns the string representation
  18598. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  18599. return awsutil.Prettify(s)
  18600. }
  18601. // GoString returns the string representation
  18602. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  18603. return s.String()
  18604. }
  18605. // SetExchangeId sets the ExchangeId field's value.
  18606. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  18607. s.ExchangeId = &v
  18608. return s
  18609. }
  18610. // Contains the parameters for AcceptVpcPeeringConnection.
  18611. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionRequest
  18612. type AcceptVpcPeeringConnectionInput struct {
  18613. _ struct{} `type:"structure"`
  18614. // Checks whether you have the required permissions for the action, without
  18615. // actually making the request, and provides an error response. If you have
  18616. // the required permissions, the error response is DryRunOperation. Otherwise,
  18617. // it is UnauthorizedOperation.
  18618. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18619. // The ID of the VPC peering connection.
  18620. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  18621. }
  18622. // String returns the string representation
  18623. func (s AcceptVpcPeeringConnectionInput) String() string {
  18624. return awsutil.Prettify(s)
  18625. }
  18626. // GoString returns the string representation
  18627. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  18628. return s.String()
  18629. }
  18630. // SetDryRun sets the DryRun field's value.
  18631. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  18632. s.DryRun = &v
  18633. return s
  18634. }
  18635. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  18636. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  18637. s.VpcPeeringConnectionId = &v
  18638. return s
  18639. }
  18640. // Contains the output of AcceptVpcPeeringConnection.
  18641. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionResult
  18642. type AcceptVpcPeeringConnectionOutput struct {
  18643. _ struct{} `type:"structure"`
  18644. // Information about the VPC peering connection.
  18645. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  18646. }
  18647. // String returns the string representation
  18648. func (s AcceptVpcPeeringConnectionOutput) String() string {
  18649. return awsutil.Prettify(s)
  18650. }
  18651. // GoString returns the string representation
  18652. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  18653. return s.String()
  18654. }
  18655. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  18656. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  18657. s.VpcPeeringConnection = v
  18658. return s
  18659. }
  18660. // Describes an account attribute.
  18661. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttribute
  18662. type AccountAttribute struct {
  18663. _ struct{} `type:"structure"`
  18664. // The name of the account attribute.
  18665. AttributeName *string `locationName:"attributeName" type:"string"`
  18666. // One or more values for the account attribute.
  18667. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  18668. }
  18669. // String returns the string representation
  18670. func (s AccountAttribute) String() string {
  18671. return awsutil.Prettify(s)
  18672. }
  18673. // GoString returns the string representation
  18674. func (s AccountAttribute) GoString() string {
  18675. return s.String()
  18676. }
  18677. // SetAttributeName sets the AttributeName field's value.
  18678. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  18679. s.AttributeName = &v
  18680. return s
  18681. }
  18682. // SetAttributeValues sets the AttributeValues field's value.
  18683. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  18684. s.AttributeValues = v
  18685. return s
  18686. }
  18687. // Describes a value of an account attribute.
  18688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttributeValue
  18689. type AccountAttributeValue struct {
  18690. _ struct{} `type:"structure"`
  18691. // The value of the attribute.
  18692. AttributeValue *string `locationName:"attributeValue" type:"string"`
  18693. }
  18694. // String returns the string representation
  18695. func (s AccountAttributeValue) String() string {
  18696. return awsutil.Prettify(s)
  18697. }
  18698. // GoString returns the string representation
  18699. func (s AccountAttributeValue) GoString() string {
  18700. return s.String()
  18701. }
  18702. // SetAttributeValue sets the AttributeValue field's value.
  18703. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  18704. s.AttributeValue = &v
  18705. return s
  18706. }
  18707. // Describes a running instance in a Spot fleet.
  18708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ActiveInstance
  18709. type ActiveInstance struct {
  18710. _ struct{} `type:"structure"`
  18711. // The health status of the instance. If the status of either the instance status
  18712. // check or the system status check is impaired, the health status of the instance
  18713. // is unhealthy. Otherwise, the health status is healthy.
  18714. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  18715. // The ID of the instance.
  18716. InstanceId *string `locationName:"instanceId" type:"string"`
  18717. // The instance type.
  18718. InstanceType *string `locationName:"instanceType" type:"string"`
  18719. // The ID of the Spot instance request.
  18720. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  18721. }
  18722. // String returns the string representation
  18723. func (s ActiveInstance) String() string {
  18724. return awsutil.Prettify(s)
  18725. }
  18726. // GoString returns the string representation
  18727. func (s ActiveInstance) GoString() string {
  18728. return s.String()
  18729. }
  18730. // SetInstanceHealth sets the InstanceHealth field's value.
  18731. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  18732. s.InstanceHealth = &v
  18733. return s
  18734. }
  18735. // SetInstanceId sets the InstanceId field's value.
  18736. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  18737. s.InstanceId = &v
  18738. return s
  18739. }
  18740. // SetInstanceType sets the InstanceType field's value.
  18741. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  18742. s.InstanceType = &v
  18743. return s
  18744. }
  18745. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  18746. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  18747. s.SpotInstanceRequestId = &v
  18748. return s
  18749. }
  18750. // Describes an Elastic IP address.
  18751. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Address
  18752. type Address struct {
  18753. _ struct{} `type:"structure"`
  18754. // The ID representing the allocation of the address for use with EC2-VPC.
  18755. AllocationId *string `locationName:"allocationId" type:"string"`
  18756. // The ID representing the association of the address with an instance in a
  18757. // VPC.
  18758. AssociationId *string `locationName:"associationId" type:"string"`
  18759. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  18760. // (standard) or instances in a VPC (vpc).
  18761. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  18762. // The ID of the instance that the address is associated with (if any).
  18763. InstanceId *string `locationName:"instanceId" type:"string"`
  18764. // The ID of the network interface.
  18765. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18766. // The ID of the AWS account that owns the network interface.
  18767. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  18768. // The private IP address associated with the Elastic IP address.
  18769. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  18770. // The Elastic IP address.
  18771. PublicIp *string `locationName:"publicIp" type:"string"`
  18772. }
  18773. // String returns the string representation
  18774. func (s Address) String() string {
  18775. return awsutil.Prettify(s)
  18776. }
  18777. // GoString returns the string representation
  18778. func (s Address) GoString() string {
  18779. return s.String()
  18780. }
  18781. // SetAllocationId sets the AllocationId field's value.
  18782. func (s *Address) SetAllocationId(v string) *Address {
  18783. s.AllocationId = &v
  18784. return s
  18785. }
  18786. // SetAssociationId sets the AssociationId field's value.
  18787. func (s *Address) SetAssociationId(v string) *Address {
  18788. s.AssociationId = &v
  18789. return s
  18790. }
  18791. // SetDomain sets the Domain field's value.
  18792. func (s *Address) SetDomain(v string) *Address {
  18793. s.Domain = &v
  18794. return s
  18795. }
  18796. // SetInstanceId sets the InstanceId field's value.
  18797. func (s *Address) SetInstanceId(v string) *Address {
  18798. s.InstanceId = &v
  18799. return s
  18800. }
  18801. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18802. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  18803. s.NetworkInterfaceId = &v
  18804. return s
  18805. }
  18806. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  18807. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  18808. s.NetworkInterfaceOwnerId = &v
  18809. return s
  18810. }
  18811. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  18812. func (s *Address) SetPrivateIpAddress(v string) *Address {
  18813. s.PrivateIpAddress = &v
  18814. return s
  18815. }
  18816. // SetPublicIp sets the PublicIp field's value.
  18817. func (s *Address) SetPublicIp(v string) *Address {
  18818. s.PublicIp = &v
  18819. return s
  18820. }
  18821. // Contains the parameters for AllocateAddress.
  18822. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressRequest
  18823. type AllocateAddressInput struct {
  18824. _ struct{} `type:"structure"`
  18825. // Set to vpc to allocate the address for use with instances in a VPC.
  18826. //
  18827. // Default: The address is for use with instances in EC2-Classic.
  18828. Domain *string `type:"string" enum:"DomainType"`
  18829. // Checks whether you have the required permissions for the action, without
  18830. // actually making the request, and provides an error response. If you have
  18831. // the required permissions, the error response is DryRunOperation. Otherwise,
  18832. // it is UnauthorizedOperation.
  18833. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18834. }
  18835. // String returns the string representation
  18836. func (s AllocateAddressInput) String() string {
  18837. return awsutil.Prettify(s)
  18838. }
  18839. // GoString returns the string representation
  18840. func (s AllocateAddressInput) GoString() string {
  18841. return s.String()
  18842. }
  18843. // SetDomain sets the Domain field's value.
  18844. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  18845. s.Domain = &v
  18846. return s
  18847. }
  18848. // SetDryRun sets the DryRun field's value.
  18849. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  18850. s.DryRun = &v
  18851. return s
  18852. }
  18853. // Contains the output of AllocateAddress.
  18854. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressResult
  18855. type AllocateAddressOutput struct {
  18856. _ struct{} `type:"structure"`
  18857. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  18858. // IP address for use with instances in a VPC.
  18859. AllocationId *string `locationName:"allocationId" type:"string"`
  18860. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  18861. // (standard) or instances in a VPC (vpc).
  18862. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  18863. // The Elastic IP address.
  18864. PublicIp *string `locationName:"publicIp" type:"string"`
  18865. }
  18866. // String returns the string representation
  18867. func (s AllocateAddressOutput) String() string {
  18868. return awsutil.Prettify(s)
  18869. }
  18870. // GoString returns the string representation
  18871. func (s AllocateAddressOutput) GoString() string {
  18872. return s.String()
  18873. }
  18874. // SetAllocationId sets the AllocationId field's value.
  18875. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  18876. s.AllocationId = &v
  18877. return s
  18878. }
  18879. // SetDomain sets the Domain field's value.
  18880. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  18881. s.Domain = &v
  18882. return s
  18883. }
  18884. // SetPublicIp sets the PublicIp field's value.
  18885. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  18886. s.PublicIp = &v
  18887. return s
  18888. }
  18889. // Contains the parameters for AllocateHosts.
  18890. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsRequest
  18891. type AllocateHostsInput struct {
  18892. _ struct{} `type:"structure"`
  18893. // This is enabled by default. This property allows instances to be automatically
  18894. // placed onto available Dedicated Hosts, when you are launching instances without
  18895. // specifying a host ID.
  18896. //
  18897. // Default: Enabled
  18898. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  18899. // The Availability Zone for the Dedicated Hosts.
  18900. //
  18901. // AvailabilityZone is a required field
  18902. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  18903. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  18904. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  18905. // in the Amazon Elastic Compute Cloud User Guide.
  18906. ClientToken *string `locationName:"clientToken" type:"string"`
  18907. // Specify the instance type that you want your Dedicated Hosts to be configured
  18908. // for. When you specify the instance type, that is the only instance type that
  18909. // you can launch onto that host.
  18910. //
  18911. // InstanceType is a required field
  18912. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  18913. // The number of Dedicated Hosts you want to allocate to your account with these
  18914. // parameters.
  18915. //
  18916. // Quantity is a required field
  18917. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  18918. }
  18919. // String returns the string representation
  18920. func (s AllocateHostsInput) String() string {
  18921. return awsutil.Prettify(s)
  18922. }
  18923. // GoString returns the string representation
  18924. func (s AllocateHostsInput) GoString() string {
  18925. return s.String()
  18926. }
  18927. // Validate inspects the fields of the type to determine if they are valid.
  18928. func (s *AllocateHostsInput) Validate() error {
  18929. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  18930. if s.AvailabilityZone == nil {
  18931. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  18932. }
  18933. if s.InstanceType == nil {
  18934. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  18935. }
  18936. if s.Quantity == nil {
  18937. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  18938. }
  18939. if invalidParams.Len() > 0 {
  18940. return invalidParams
  18941. }
  18942. return nil
  18943. }
  18944. // SetAutoPlacement sets the AutoPlacement field's value.
  18945. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  18946. s.AutoPlacement = &v
  18947. return s
  18948. }
  18949. // SetAvailabilityZone sets the AvailabilityZone field's value.
  18950. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  18951. s.AvailabilityZone = &v
  18952. return s
  18953. }
  18954. // SetClientToken sets the ClientToken field's value.
  18955. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  18956. s.ClientToken = &v
  18957. return s
  18958. }
  18959. // SetInstanceType sets the InstanceType field's value.
  18960. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  18961. s.InstanceType = &v
  18962. return s
  18963. }
  18964. // SetQuantity sets the Quantity field's value.
  18965. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  18966. s.Quantity = &v
  18967. return s
  18968. }
  18969. // Contains the output of AllocateHosts.
  18970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsResult
  18971. type AllocateHostsOutput struct {
  18972. _ struct{} `type:"structure"`
  18973. // The ID of the allocated Dedicated Host. This is used when you want to launch
  18974. // an instance onto a specific host.
  18975. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  18976. }
  18977. // String returns the string representation
  18978. func (s AllocateHostsOutput) String() string {
  18979. return awsutil.Prettify(s)
  18980. }
  18981. // GoString returns the string representation
  18982. func (s AllocateHostsOutput) GoString() string {
  18983. return s.String()
  18984. }
  18985. // SetHostIds sets the HostIds field's value.
  18986. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  18987. s.HostIds = v
  18988. return s
  18989. }
  18990. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesRequest
  18991. type AssignIpv6AddressesInput struct {
  18992. _ struct{} `type:"structure"`
  18993. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  18994. // automatically selects the IPv6 addresses from the subnet range. You can't
  18995. // use this option if specifying specific IPv6 addresses.
  18996. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  18997. // One or more specific IPv6 addresses to be assigned to the network interface.
  18998. // You can't use this option if you're specifying a number of IPv6 addresses.
  18999. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  19000. // The ID of the network interface.
  19001. //
  19002. // NetworkInterfaceId is a required field
  19003. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19004. }
  19005. // String returns the string representation
  19006. func (s AssignIpv6AddressesInput) String() string {
  19007. return awsutil.Prettify(s)
  19008. }
  19009. // GoString returns the string representation
  19010. func (s AssignIpv6AddressesInput) GoString() string {
  19011. return s.String()
  19012. }
  19013. // Validate inspects the fields of the type to determine if they are valid.
  19014. func (s *AssignIpv6AddressesInput) Validate() error {
  19015. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  19016. if s.NetworkInterfaceId == nil {
  19017. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19018. }
  19019. if invalidParams.Len() > 0 {
  19020. return invalidParams
  19021. }
  19022. return nil
  19023. }
  19024. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  19025. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  19026. s.Ipv6AddressCount = &v
  19027. return s
  19028. }
  19029. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  19030. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  19031. s.Ipv6Addresses = v
  19032. return s
  19033. }
  19034. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19035. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  19036. s.NetworkInterfaceId = &v
  19037. return s
  19038. }
  19039. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesResult
  19040. type AssignIpv6AddressesOutput struct {
  19041. _ struct{} `type:"structure"`
  19042. // The IPv6 addresses assigned to the network interface.
  19043. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  19044. // The ID of the network interface.
  19045. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  19046. }
  19047. // String returns the string representation
  19048. func (s AssignIpv6AddressesOutput) String() string {
  19049. return awsutil.Prettify(s)
  19050. }
  19051. // GoString returns the string representation
  19052. func (s AssignIpv6AddressesOutput) GoString() string {
  19053. return s.String()
  19054. }
  19055. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  19056. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  19057. s.AssignedIpv6Addresses = v
  19058. return s
  19059. }
  19060. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19061. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  19062. s.NetworkInterfaceId = &v
  19063. return s
  19064. }
  19065. // Contains the parameters for AssignPrivateIpAddresses.
  19066. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesRequest
  19067. type AssignPrivateIpAddressesInput struct {
  19068. _ struct{} `type:"structure"`
  19069. // Indicates whether to allow an IP address that is already assigned to another
  19070. // network interface or instance to be reassigned to the specified network interface.
  19071. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  19072. // The ID of the network interface.
  19073. //
  19074. // NetworkInterfaceId is a required field
  19075. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19076. // One or more IP addresses to be assigned as a secondary private IP address
  19077. // to the network interface. You can't specify this parameter when also specifying
  19078. // a number of secondary IP addresses.
  19079. //
  19080. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  19081. // address within the subnet range.
  19082. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  19083. // The number of secondary IP addresses to assign to the network interface.
  19084. // You can't specify this parameter when also specifying private IP addresses.
  19085. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  19086. }
  19087. // String returns the string representation
  19088. func (s AssignPrivateIpAddressesInput) String() string {
  19089. return awsutil.Prettify(s)
  19090. }
  19091. // GoString returns the string representation
  19092. func (s AssignPrivateIpAddressesInput) GoString() string {
  19093. return s.String()
  19094. }
  19095. // Validate inspects the fields of the type to determine if they are valid.
  19096. func (s *AssignPrivateIpAddressesInput) Validate() error {
  19097. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  19098. if s.NetworkInterfaceId == nil {
  19099. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19100. }
  19101. if invalidParams.Len() > 0 {
  19102. return invalidParams
  19103. }
  19104. return nil
  19105. }
  19106. // SetAllowReassignment sets the AllowReassignment field's value.
  19107. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  19108. s.AllowReassignment = &v
  19109. return s
  19110. }
  19111. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19112. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  19113. s.NetworkInterfaceId = &v
  19114. return s
  19115. }
  19116. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  19117. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  19118. s.PrivateIpAddresses = v
  19119. return s
  19120. }
  19121. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  19122. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  19123. s.SecondaryPrivateIpAddressCount = &v
  19124. return s
  19125. }
  19126. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesOutput
  19127. type AssignPrivateIpAddressesOutput struct {
  19128. _ struct{} `type:"structure"`
  19129. }
  19130. // String returns the string representation
  19131. func (s AssignPrivateIpAddressesOutput) String() string {
  19132. return awsutil.Prettify(s)
  19133. }
  19134. // GoString returns the string representation
  19135. func (s AssignPrivateIpAddressesOutput) GoString() string {
  19136. return s.String()
  19137. }
  19138. // Contains the parameters for AssociateAddress.
  19139. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressRequest
  19140. type AssociateAddressInput struct {
  19141. _ struct{} `type:"structure"`
  19142. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  19143. AllocationId *string `type:"string"`
  19144. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  19145. // IP address that is already associated with an instance or network interface
  19146. // to be reassociated with the specified instance or network interface. Otherwise,
  19147. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  19148. // automatic, therefore you can specify false to ensure the operation fails
  19149. // if the Elastic IP address is already associated with another resource.
  19150. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  19151. // Checks whether you have the required permissions for the action, without
  19152. // actually making the request, and provides an error response. If you have
  19153. // the required permissions, the error response is DryRunOperation. Otherwise,
  19154. // it is UnauthorizedOperation.
  19155. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19156. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  19157. // can specify either the instance ID or the network interface ID, but not both.
  19158. // The operation fails if you specify an instance ID unless exactly one network
  19159. // interface is attached.
  19160. InstanceId *string `type:"string"`
  19161. // [EC2-VPC] The ID of the network interface. If the instance has more than
  19162. // one network interface, you must specify a network interface ID.
  19163. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  19164. // [EC2-VPC] The primary or secondary private IP address to associate with the
  19165. // Elastic IP address. If no private IP address is specified, the Elastic IP
  19166. // address is associated with the primary private IP address.
  19167. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  19168. // The Elastic IP address. This is required for EC2-Classic.
  19169. PublicIp *string `type:"string"`
  19170. }
  19171. // String returns the string representation
  19172. func (s AssociateAddressInput) String() string {
  19173. return awsutil.Prettify(s)
  19174. }
  19175. // GoString returns the string representation
  19176. func (s AssociateAddressInput) GoString() string {
  19177. return s.String()
  19178. }
  19179. // SetAllocationId sets the AllocationId field's value.
  19180. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  19181. s.AllocationId = &v
  19182. return s
  19183. }
  19184. // SetAllowReassociation sets the AllowReassociation field's value.
  19185. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  19186. s.AllowReassociation = &v
  19187. return s
  19188. }
  19189. // SetDryRun sets the DryRun field's value.
  19190. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  19191. s.DryRun = &v
  19192. return s
  19193. }
  19194. // SetInstanceId sets the InstanceId field's value.
  19195. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  19196. s.InstanceId = &v
  19197. return s
  19198. }
  19199. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19200. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  19201. s.NetworkInterfaceId = &v
  19202. return s
  19203. }
  19204. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  19205. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  19206. s.PrivateIpAddress = &v
  19207. return s
  19208. }
  19209. // SetPublicIp sets the PublicIp field's value.
  19210. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  19211. s.PublicIp = &v
  19212. return s
  19213. }
  19214. // Contains the output of AssociateAddress.
  19215. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressResult
  19216. type AssociateAddressOutput struct {
  19217. _ struct{} `type:"structure"`
  19218. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  19219. // with an instance.
  19220. AssociationId *string `locationName:"associationId" type:"string"`
  19221. }
  19222. // String returns the string representation
  19223. func (s AssociateAddressOutput) String() string {
  19224. return awsutil.Prettify(s)
  19225. }
  19226. // GoString returns the string representation
  19227. func (s AssociateAddressOutput) GoString() string {
  19228. return s.String()
  19229. }
  19230. // SetAssociationId sets the AssociationId field's value.
  19231. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  19232. s.AssociationId = &v
  19233. return s
  19234. }
  19235. // Contains the parameters for AssociateDhcpOptions.
  19236. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsRequest
  19237. type AssociateDhcpOptionsInput struct {
  19238. _ struct{} `type:"structure"`
  19239. // The ID of the DHCP options set, or default to associate no DHCP options with
  19240. // the VPC.
  19241. //
  19242. // DhcpOptionsId is a required field
  19243. DhcpOptionsId *string `type:"string" required:"true"`
  19244. // Checks whether you have the required permissions for the action, without
  19245. // actually making the request, and provides an error response. If you have
  19246. // the required permissions, the error response is DryRunOperation. Otherwise,
  19247. // it is UnauthorizedOperation.
  19248. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19249. // The ID of the VPC.
  19250. //
  19251. // VpcId is a required field
  19252. VpcId *string `type:"string" required:"true"`
  19253. }
  19254. // String returns the string representation
  19255. func (s AssociateDhcpOptionsInput) String() string {
  19256. return awsutil.Prettify(s)
  19257. }
  19258. // GoString returns the string representation
  19259. func (s AssociateDhcpOptionsInput) GoString() string {
  19260. return s.String()
  19261. }
  19262. // Validate inspects the fields of the type to determine if they are valid.
  19263. func (s *AssociateDhcpOptionsInput) Validate() error {
  19264. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  19265. if s.DhcpOptionsId == nil {
  19266. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  19267. }
  19268. if s.VpcId == nil {
  19269. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19270. }
  19271. if invalidParams.Len() > 0 {
  19272. return invalidParams
  19273. }
  19274. return nil
  19275. }
  19276. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  19277. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  19278. s.DhcpOptionsId = &v
  19279. return s
  19280. }
  19281. // SetDryRun sets the DryRun field's value.
  19282. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  19283. s.DryRun = &v
  19284. return s
  19285. }
  19286. // SetVpcId sets the VpcId field's value.
  19287. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  19288. s.VpcId = &v
  19289. return s
  19290. }
  19291. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsOutput
  19292. type AssociateDhcpOptionsOutput struct {
  19293. _ struct{} `type:"structure"`
  19294. }
  19295. // String returns the string representation
  19296. func (s AssociateDhcpOptionsOutput) String() string {
  19297. return awsutil.Prettify(s)
  19298. }
  19299. // GoString returns the string representation
  19300. func (s AssociateDhcpOptionsOutput) GoString() string {
  19301. return s.String()
  19302. }
  19303. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileRequest
  19304. type AssociateIamInstanceProfileInput struct {
  19305. _ struct{} `type:"structure"`
  19306. // The IAM instance profile.
  19307. //
  19308. // IamInstanceProfile is a required field
  19309. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  19310. // The ID of the instance.
  19311. //
  19312. // InstanceId is a required field
  19313. InstanceId *string `type:"string" required:"true"`
  19314. }
  19315. // String returns the string representation
  19316. func (s AssociateIamInstanceProfileInput) String() string {
  19317. return awsutil.Prettify(s)
  19318. }
  19319. // GoString returns the string representation
  19320. func (s AssociateIamInstanceProfileInput) GoString() string {
  19321. return s.String()
  19322. }
  19323. // Validate inspects the fields of the type to determine if they are valid.
  19324. func (s *AssociateIamInstanceProfileInput) Validate() error {
  19325. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  19326. if s.IamInstanceProfile == nil {
  19327. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  19328. }
  19329. if s.InstanceId == nil {
  19330. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19331. }
  19332. if invalidParams.Len() > 0 {
  19333. return invalidParams
  19334. }
  19335. return nil
  19336. }
  19337. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  19338. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  19339. s.IamInstanceProfile = v
  19340. return s
  19341. }
  19342. // SetInstanceId sets the InstanceId field's value.
  19343. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  19344. s.InstanceId = &v
  19345. return s
  19346. }
  19347. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileResult
  19348. type AssociateIamInstanceProfileOutput struct {
  19349. _ struct{} `type:"structure"`
  19350. // Information about the IAM instance profile association.
  19351. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  19352. }
  19353. // String returns the string representation
  19354. func (s AssociateIamInstanceProfileOutput) String() string {
  19355. return awsutil.Prettify(s)
  19356. }
  19357. // GoString returns the string representation
  19358. func (s AssociateIamInstanceProfileOutput) GoString() string {
  19359. return s.String()
  19360. }
  19361. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  19362. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  19363. s.IamInstanceProfileAssociation = v
  19364. return s
  19365. }
  19366. // Contains the parameters for AssociateRouteTable.
  19367. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableRequest
  19368. type AssociateRouteTableInput struct {
  19369. _ struct{} `type:"structure"`
  19370. // Checks whether you have the required permissions for the action, without
  19371. // actually making the request, and provides an error response. If you have
  19372. // the required permissions, the error response is DryRunOperation. Otherwise,
  19373. // it is UnauthorizedOperation.
  19374. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19375. // The ID of the route table.
  19376. //
  19377. // RouteTableId is a required field
  19378. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  19379. // The ID of the subnet.
  19380. //
  19381. // SubnetId is a required field
  19382. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  19383. }
  19384. // String returns the string representation
  19385. func (s AssociateRouteTableInput) String() string {
  19386. return awsutil.Prettify(s)
  19387. }
  19388. // GoString returns the string representation
  19389. func (s AssociateRouteTableInput) GoString() string {
  19390. return s.String()
  19391. }
  19392. // Validate inspects the fields of the type to determine if they are valid.
  19393. func (s *AssociateRouteTableInput) Validate() error {
  19394. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  19395. if s.RouteTableId == nil {
  19396. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  19397. }
  19398. if s.SubnetId == nil {
  19399. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  19400. }
  19401. if invalidParams.Len() > 0 {
  19402. return invalidParams
  19403. }
  19404. return nil
  19405. }
  19406. // SetDryRun sets the DryRun field's value.
  19407. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  19408. s.DryRun = &v
  19409. return s
  19410. }
  19411. // SetRouteTableId sets the RouteTableId field's value.
  19412. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  19413. s.RouteTableId = &v
  19414. return s
  19415. }
  19416. // SetSubnetId sets the SubnetId field's value.
  19417. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  19418. s.SubnetId = &v
  19419. return s
  19420. }
  19421. // Contains the output of AssociateRouteTable.
  19422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableResult
  19423. type AssociateRouteTableOutput struct {
  19424. _ struct{} `type:"structure"`
  19425. // The route table association ID (needed to disassociate the route table).
  19426. AssociationId *string `locationName:"associationId" type:"string"`
  19427. }
  19428. // String returns the string representation
  19429. func (s AssociateRouteTableOutput) String() string {
  19430. return awsutil.Prettify(s)
  19431. }
  19432. // GoString returns the string representation
  19433. func (s AssociateRouteTableOutput) GoString() string {
  19434. return s.String()
  19435. }
  19436. // SetAssociationId sets the AssociationId field's value.
  19437. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  19438. s.AssociationId = &v
  19439. return s
  19440. }
  19441. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockRequest
  19442. type AssociateSubnetCidrBlockInput struct {
  19443. _ struct{} `type:"structure"`
  19444. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  19445. //
  19446. // Ipv6CidrBlock is a required field
  19447. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  19448. // The ID of your subnet.
  19449. //
  19450. // SubnetId is a required field
  19451. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  19452. }
  19453. // String returns the string representation
  19454. func (s AssociateSubnetCidrBlockInput) String() string {
  19455. return awsutil.Prettify(s)
  19456. }
  19457. // GoString returns the string representation
  19458. func (s AssociateSubnetCidrBlockInput) GoString() string {
  19459. return s.String()
  19460. }
  19461. // Validate inspects the fields of the type to determine if they are valid.
  19462. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  19463. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  19464. if s.Ipv6CidrBlock == nil {
  19465. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  19466. }
  19467. if s.SubnetId == nil {
  19468. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  19469. }
  19470. if invalidParams.Len() > 0 {
  19471. return invalidParams
  19472. }
  19473. return nil
  19474. }
  19475. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  19476. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  19477. s.Ipv6CidrBlock = &v
  19478. return s
  19479. }
  19480. // SetSubnetId sets the SubnetId field's value.
  19481. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  19482. s.SubnetId = &v
  19483. return s
  19484. }
  19485. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockResult
  19486. type AssociateSubnetCidrBlockOutput struct {
  19487. _ struct{} `type:"structure"`
  19488. // Information about the IPv6 CIDR block association.
  19489. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  19490. // The ID of the subnet.
  19491. SubnetId *string `locationName:"subnetId" type:"string"`
  19492. }
  19493. // String returns the string representation
  19494. func (s AssociateSubnetCidrBlockOutput) String() string {
  19495. return awsutil.Prettify(s)
  19496. }
  19497. // GoString returns the string representation
  19498. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  19499. return s.String()
  19500. }
  19501. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  19502. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  19503. s.Ipv6CidrBlockAssociation = v
  19504. return s
  19505. }
  19506. // SetSubnetId sets the SubnetId field's value.
  19507. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  19508. s.SubnetId = &v
  19509. return s
  19510. }
  19511. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockRequest
  19512. type AssociateVpcCidrBlockInput struct {
  19513. _ struct{} `type:"structure"`
  19514. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  19515. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  19516. // CIDR block.
  19517. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  19518. // The ID of the VPC.
  19519. //
  19520. // VpcId is a required field
  19521. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19522. }
  19523. // String returns the string representation
  19524. func (s AssociateVpcCidrBlockInput) String() string {
  19525. return awsutil.Prettify(s)
  19526. }
  19527. // GoString returns the string representation
  19528. func (s AssociateVpcCidrBlockInput) GoString() string {
  19529. return s.String()
  19530. }
  19531. // Validate inspects the fields of the type to determine if they are valid.
  19532. func (s *AssociateVpcCidrBlockInput) Validate() error {
  19533. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  19534. if s.VpcId == nil {
  19535. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19536. }
  19537. if invalidParams.Len() > 0 {
  19538. return invalidParams
  19539. }
  19540. return nil
  19541. }
  19542. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  19543. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  19544. s.AmazonProvidedIpv6CidrBlock = &v
  19545. return s
  19546. }
  19547. // SetVpcId sets the VpcId field's value.
  19548. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  19549. s.VpcId = &v
  19550. return s
  19551. }
  19552. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockResult
  19553. type AssociateVpcCidrBlockOutput struct {
  19554. _ struct{} `type:"structure"`
  19555. // Information about the IPv6 CIDR block association.
  19556. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  19557. // The ID of the VPC.
  19558. VpcId *string `locationName:"vpcId" type:"string"`
  19559. }
  19560. // String returns the string representation
  19561. func (s AssociateVpcCidrBlockOutput) String() string {
  19562. return awsutil.Prettify(s)
  19563. }
  19564. // GoString returns the string representation
  19565. func (s AssociateVpcCidrBlockOutput) GoString() string {
  19566. return s.String()
  19567. }
  19568. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  19569. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  19570. s.Ipv6CidrBlockAssociation = v
  19571. return s
  19572. }
  19573. // SetVpcId sets the VpcId field's value.
  19574. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  19575. s.VpcId = &v
  19576. return s
  19577. }
  19578. // Contains the parameters for AttachClassicLinkVpc.
  19579. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcRequest
  19580. type AttachClassicLinkVpcInput struct {
  19581. _ struct{} `type:"structure"`
  19582. // Checks whether you have the required permissions for the action, without
  19583. // actually making the request, and provides an error response. If you have
  19584. // the required permissions, the error response is DryRunOperation. Otherwise,
  19585. // it is UnauthorizedOperation.
  19586. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19587. // The ID of one or more of the VPC's security groups. You cannot specify security
  19588. // groups from a different VPC.
  19589. //
  19590. // Groups is a required field
  19591. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  19592. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  19593. //
  19594. // InstanceId is a required field
  19595. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  19596. // The ID of a ClassicLink-enabled VPC.
  19597. //
  19598. // VpcId is a required field
  19599. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19600. }
  19601. // String returns the string representation
  19602. func (s AttachClassicLinkVpcInput) String() string {
  19603. return awsutil.Prettify(s)
  19604. }
  19605. // GoString returns the string representation
  19606. func (s AttachClassicLinkVpcInput) GoString() string {
  19607. return s.String()
  19608. }
  19609. // Validate inspects the fields of the type to determine if they are valid.
  19610. func (s *AttachClassicLinkVpcInput) Validate() error {
  19611. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  19612. if s.Groups == nil {
  19613. invalidParams.Add(request.NewErrParamRequired("Groups"))
  19614. }
  19615. if s.InstanceId == nil {
  19616. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19617. }
  19618. if s.VpcId == nil {
  19619. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19620. }
  19621. if invalidParams.Len() > 0 {
  19622. return invalidParams
  19623. }
  19624. return nil
  19625. }
  19626. // SetDryRun sets the DryRun field's value.
  19627. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  19628. s.DryRun = &v
  19629. return s
  19630. }
  19631. // SetGroups sets the Groups field's value.
  19632. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  19633. s.Groups = v
  19634. return s
  19635. }
  19636. // SetInstanceId sets the InstanceId field's value.
  19637. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  19638. s.InstanceId = &v
  19639. return s
  19640. }
  19641. // SetVpcId sets the VpcId field's value.
  19642. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  19643. s.VpcId = &v
  19644. return s
  19645. }
  19646. // Contains the output of AttachClassicLinkVpc.
  19647. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcResult
  19648. type AttachClassicLinkVpcOutput struct {
  19649. _ struct{} `type:"structure"`
  19650. // Returns true if the request succeeds; otherwise, it returns an error.
  19651. Return *bool `locationName:"return" type:"boolean"`
  19652. }
  19653. // String returns the string representation
  19654. func (s AttachClassicLinkVpcOutput) String() string {
  19655. return awsutil.Prettify(s)
  19656. }
  19657. // GoString returns the string representation
  19658. func (s AttachClassicLinkVpcOutput) GoString() string {
  19659. return s.String()
  19660. }
  19661. // SetReturn sets the Return field's value.
  19662. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  19663. s.Return = &v
  19664. return s
  19665. }
  19666. // Contains the parameters for AttachInternetGateway.
  19667. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayRequest
  19668. type AttachInternetGatewayInput struct {
  19669. _ struct{} `type:"structure"`
  19670. // Checks whether you have the required permissions for the action, without
  19671. // actually making the request, and provides an error response. If you have
  19672. // the required permissions, the error response is DryRunOperation. Otherwise,
  19673. // it is UnauthorizedOperation.
  19674. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19675. // The ID of the Internet gateway.
  19676. //
  19677. // InternetGatewayId is a required field
  19678. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  19679. // The ID of the VPC.
  19680. //
  19681. // VpcId is a required field
  19682. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19683. }
  19684. // String returns the string representation
  19685. func (s AttachInternetGatewayInput) String() string {
  19686. return awsutil.Prettify(s)
  19687. }
  19688. // GoString returns the string representation
  19689. func (s AttachInternetGatewayInput) GoString() string {
  19690. return s.String()
  19691. }
  19692. // Validate inspects the fields of the type to determine if they are valid.
  19693. func (s *AttachInternetGatewayInput) Validate() error {
  19694. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  19695. if s.InternetGatewayId == nil {
  19696. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  19697. }
  19698. if s.VpcId == nil {
  19699. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19700. }
  19701. if invalidParams.Len() > 0 {
  19702. return invalidParams
  19703. }
  19704. return nil
  19705. }
  19706. // SetDryRun sets the DryRun field's value.
  19707. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  19708. s.DryRun = &v
  19709. return s
  19710. }
  19711. // SetInternetGatewayId sets the InternetGatewayId field's value.
  19712. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  19713. s.InternetGatewayId = &v
  19714. return s
  19715. }
  19716. // SetVpcId sets the VpcId field's value.
  19717. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  19718. s.VpcId = &v
  19719. return s
  19720. }
  19721. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayOutput
  19722. type AttachInternetGatewayOutput struct {
  19723. _ struct{} `type:"structure"`
  19724. }
  19725. // String returns the string representation
  19726. func (s AttachInternetGatewayOutput) String() string {
  19727. return awsutil.Prettify(s)
  19728. }
  19729. // GoString returns the string representation
  19730. func (s AttachInternetGatewayOutput) GoString() string {
  19731. return s.String()
  19732. }
  19733. // Contains the parameters for AttachNetworkInterface.
  19734. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceRequest
  19735. type AttachNetworkInterfaceInput struct {
  19736. _ struct{} `type:"structure"`
  19737. // The index of the device for the network interface attachment.
  19738. //
  19739. // DeviceIndex is a required field
  19740. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  19741. // Checks whether you have the required permissions for the action, without
  19742. // actually making the request, and provides an error response. If you have
  19743. // the required permissions, the error response is DryRunOperation. Otherwise,
  19744. // it is UnauthorizedOperation.
  19745. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19746. // The ID of the instance.
  19747. //
  19748. // InstanceId is a required field
  19749. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  19750. // The ID of the network interface.
  19751. //
  19752. // NetworkInterfaceId is a required field
  19753. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19754. }
  19755. // String returns the string representation
  19756. func (s AttachNetworkInterfaceInput) String() string {
  19757. return awsutil.Prettify(s)
  19758. }
  19759. // GoString returns the string representation
  19760. func (s AttachNetworkInterfaceInput) GoString() string {
  19761. return s.String()
  19762. }
  19763. // Validate inspects the fields of the type to determine if they are valid.
  19764. func (s *AttachNetworkInterfaceInput) Validate() error {
  19765. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  19766. if s.DeviceIndex == nil {
  19767. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  19768. }
  19769. if s.InstanceId == nil {
  19770. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19771. }
  19772. if s.NetworkInterfaceId == nil {
  19773. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19774. }
  19775. if invalidParams.Len() > 0 {
  19776. return invalidParams
  19777. }
  19778. return nil
  19779. }
  19780. // SetDeviceIndex sets the DeviceIndex field's value.
  19781. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  19782. s.DeviceIndex = &v
  19783. return s
  19784. }
  19785. // SetDryRun sets the DryRun field's value.
  19786. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  19787. s.DryRun = &v
  19788. return s
  19789. }
  19790. // SetInstanceId sets the InstanceId field's value.
  19791. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  19792. s.InstanceId = &v
  19793. return s
  19794. }
  19795. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19796. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  19797. s.NetworkInterfaceId = &v
  19798. return s
  19799. }
  19800. // Contains the output of AttachNetworkInterface.
  19801. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceResult
  19802. type AttachNetworkInterfaceOutput struct {
  19803. _ struct{} `type:"structure"`
  19804. // The ID of the network interface attachment.
  19805. AttachmentId *string `locationName:"attachmentId" type:"string"`
  19806. }
  19807. // String returns the string representation
  19808. func (s AttachNetworkInterfaceOutput) String() string {
  19809. return awsutil.Prettify(s)
  19810. }
  19811. // GoString returns the string representation
  19812. func (s AttachNetworkInterfaceOutput) GoString() string {
  19813. return s.String()
  19814. }
  19815. // SetAttachmentId sets the AttachmentId field's value.
  19816. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  19817. s.AttachmentId = &v
  19818. return s
  19819. }
  19820. // Contains the parameters for AttachVolume.
  19821. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolumeRequest
  19822. type AttachVolumeInput struct {
  19823. _ struct{} `type:"structure"`
  19824. // The device name to expose to the instance (for example, /dev/sdh or xvdh).
  19825. //
  19826. // Device is a required field
  19827. Device *string `type:"string" required:"true"`
  19828. // Checks whether you have the required permissions for the action, without
  19829. // actually making the request, and provides an error response. If you have
  19830. // the required permissions, the error response is DryRunOperation. Otherwise,
  19831. // it is UnauthorizedOperation.
  19832. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19833. // The ID of the instance.
  19834. //
  19835. // InstanceId is a required field
  19836. InstanceId *string `type:"string" required:"true"`
  19837. // The ID of the EBS volume. The volume and instance must be within the same
  19838. // Availability Zone.
  19839. //
  19840. // VolumeId is a required field
  19841. VolumeId *string `type:"string" required:"true"`
  19842. }
  19843. // String returns the string representation
  19844. func (s AttachVolumeInput) String() string {
  19845. return awsutil.Prettify(s)
  19846. }
  19847. // GoString returns the string representation
  19848. func (s AttachVolumeInput) GoString() string {
  19849. return s.String()
  19850. }
  19851. // Validate inspects the fields of the type to determine if they are valid.
  19852. func (s *AttachVolumeInput) Validate() error {
  19853. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  19854. if s.Device == nil {
  19855. invalidParams.Add(request.NewErrParamRequired("Device"))
  19856. }
  19857. if s.InstanceId == nil {
  19858. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19859. }
  19860. if s.VolumeId == nil {
  19861. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  19862. }
  19863. if invalidParams.Len() > 0 {
  19864. return invalidParams
  19865. }
  19866. return nil
  19867. }
  19868. // SetDevice sets the Device field's value.
  19869. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  19870. s.Device = &v
  19871. return s
  19872. }
  19873. // SetDryRun sets the DryRun field's value.
  19874. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  19875. s.DryRun = &v
  19876. return s
  19877. }
  19878. // SetInstanceId sets the InstanceId field's value.
  19879. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  19880. s.InstanceId = &v
  19881. return s
  19882. }
  19883. // SetVolumeId sets the VolumeId field's value.
  19884. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  19885. s.VolumeId = &v
  19886. return s
  19887. }
  19888. // Contains the parameters for AttachVpnGateway.
  19889. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayRequest
  19890. type AttachVpnGatewayInput struct {
  19891. _ struct{} `type:"structure"`
  19892. // Checks whether you have the required permissions for the action, without
  19893. // actually making the request, and provides an error response. If you have
  19894. // the required permissions, the error response is DryRunOperation. Otherwise,
  19895. // it is UnauthorizedOperation.
  19896. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19897. // The ID of the VPC.
  19898. //
  19899. // VpcId is a required field
  19900. VpcId *string `type:"string" required:"true"`
  19901. // The ID of the virtual private gateway.
  19902. //
  19903. // VpnGatewayId is a required field
  19904. VpnGatewayId *string `type:"string" required:"true"`
  19905. }
  19906. // String returns the string representation
  19907. func (s AttachVpnGatewayInput) String() string {
  19908. return awsutil.Prettify(s)
  19909. }
  19910. // GoString returns the string representation
  19911. func (s AttachVpnGatewayInput) GoString() string {
  19912. return s.String()
  19913. }
  19914. // Validate inspects the fields of the type to determine if they are valid.
  19915. func (s *AttachVpnGatewayInput) Validate() error {
  19916. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  19917. if s.VpcId == nil {
  19918. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19919. }
  19920. if s.VpnGatewayId == nil {
  19921. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  19922. }
  19923. if invalidParams.Len() > 0 {
  19924. return invalidParams
  19925. }
  19926. return nil
  19927. }
  19928. // SetDryRun sets the DryRun field's value.
  19929. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  19930. s.DryRun = &v
  19931. return s
  19932. }
  19933. // SetVpcId sets the VpcId field's value.
  19934. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  19935. s.VpcId = &v
  19936. return s
  19937. }
  19938. // SetVpnGatewayId sets the VpnGatewayId field's value.
  19939. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  19940. s.VpnGatewayId = &v
  19941. return s
  19942. }
  19943. // Contains the output of AttachVpnGateway.
  19944. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayResult
  19945. type AttachVpnGatewayOutput struct {
  19946. _ struct{} `type:"structure"`
  19947. // Information about the attachment.
  19948. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  19949. }
  19950. // String returns the string representation
  19951. func (s AttachVpnGatewayOutput) String() string {
  19952. return awsutil.Prettify(s)
  19953. }
  19954. // GoString returns the string representation
  19955. func (s AttachVpnGatewayOutput) GoString() string {
  19956. return s.String()
  19957. }
  19958. // SetVpcAttachment sets the VpcAttachment field's value.
  19959. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  19960. s.VpcAttachment = v
  19961. return s
  19962. }
  19963. // Describes a value for a resource attribute that is a Boolean value.
  19964. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeBooleanValue
  19965. type AttributeBooleanValue struct {
  19966. _ struct{} `type:"structure"`
  19967. // The attribute value. The valid values are true or false.
  19968. Value *bool `locationName:"value" type:"boolean"`
  19969. }
  19970. // String returns the string representation
  19971. func (s AttributeBooleanValue) String() string {
  19972. return awsutil.Prettify(s)
  19973. }
  19974. // GoString returns the string representation
  19975. func (s AttributeBooleanValue) GoString() string {
  19976. return s.String()
  19977. }
  19978. // SetValue sets the Value field's value.
  19979. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  19980. s.Value = &v
  19981. return s
  19982. }
  19983. // Describes a value for a resource attribute that is a String.
  19984. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeValue
  19985. type AttributeValue struct {
  19986. _ struct{} `type:"structure"`
  19987. // The attribute value. Note that the value is case-sensitive.
  19988. Value *string `locationName:"value" type:"string"`
  19989. }
  19990. // String returns the string representation
  19991. func (s AttributeValue) String() string {
  19992. return awsutil.Prettify(s)
  19993. }
  19994. // GoString returns the string representation
  19995. func (s AttributeValue) GoString() string {
  19996. return s.String()
  19997. }
  19998. // SetValue sets the Value field's value.
  19999. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  20000. s.Value = &v
  20001. return s
  20002. }
  20003. // Contains the parameters for AuthorizeSecurityGroupEgress.
  20004. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressRequest
  20005. type AuthorizeSecurityGroupEgressInput struct {
  20006. _ struct{} `type:"structure"`
  20007. // The CIDR IPv4 address range. We recommend that you specify the CIDR range
  20008. // in a set of IP permissions instead.
  20009. CidrIp *string `locationName:"cidrIp" type:"string"`
  20010. // Checks whether you have the required permissions for the action, without
  20011. // actually making the request, and provides an error response. If you have
  20012. // the required permissions, the error response is DryRunOperation. Otherwise,
  20013. // it is UnauthorizedOperation.
  20014. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20015. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  20016. // We recommend that you specify the port range in a set of IP permissions instead.
  20017. FromPort *int64 `locationName:"fromPort" type:"integer"`
  20018. // The ID of the security group.
  20019. //
  20020. // GroupId is a required field
  20021. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  20022. // A set of IP permissions. You can't specify a destination security group and
  20023. // a CIDR IP address range.
  20024. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  20025. // The IP protocol name or number. We recommend that you specify the protocol
  20026. // in a set of IP permissions instead.
  20027. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  20028. // The name of a destination security group. To authorize outbound access to
  20029. // a destination security group, we recommend that you use a set of IP permissions
  20030. // instead.
  20031. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  20032. // The AWS account number for a destination security group. To authorize outbound
  20033. // access to a destination security group, we recommend that you use a set of
  20034. // IP permissions instead.
  20035. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  20036. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  20037. // We recommend that you specify the port range in a set of IP permissions instead.
  20038. ToPort *int64 `locationName:"toPort" type:"integer"`
  20039. }
  20040. // String returns the string representation
  20041. func (s AuthorizeSecurityGroupEgressInput) String() string {
  20042. return awsutil.Prettify(s)
  20043. }
  20044. // GoString returns the string representation
  20045. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  20046. return s.String()
  20047. }
  20048. // Validate inspects the fields of the type to determine if they are valid.
  20049. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  20050. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  20051. if s.GroupId == nil {
  20052. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  20053. }
  20054. if invalidParams.Len() > 0 {
  20055. return invalidParams
  20056. }
  20057. return nil
  20058. }
  20059. // SetCidrIp sets the CidrIp field's value.
  20060. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  20061. s.CidrIp = &v
  20062. return s
  20063. }
  20064. // SetDryRun sets the DryRun field's value.
  20065. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  20066. s.DryRun = &v
  20067. return s
  20068. }
  20069. // SetFromPort sets the FromPort field's value.
  20070. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  20071. s.FromPort = &v
  20072. return s
  20073. }
  20074. // SetGroupId sets the GroupId field's value.
  20075. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  20076. s.GroupId = &v
  20077. return s
  20078. }
  20079. // SetIpPermissions sets the IpPermissions field's value.
  20080. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  20081. s.IpPermissions = v
  20082. return s
  20083. }
  20084. // SetIpProtocol sets the IpProtocol field's value.
  20085. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  20086. s.IpProtocol = &v
  20087. return s
  20088. }
  20089. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  20090. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  20091. s.SourceSecurityGroupName = &v
  20092. return s
  20093. }
  20094. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  20095. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  20096. s.SourceSecurityGroupOwnerId = &v
  20097. return s
  20098. }
  20099. // SetToPort sets the ToPort field's value.
  20100. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  20101. s.ToPort = &v
  20102. return s
  20103. }
  20104. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressOutput
  20105. type AuthorizeSecurityGroupEgressOutput struct {
  20106. _ struct{} `type:"structure"`
  20107. }
  20108. // String returns the string representation
  20109. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  20110. return awsutil.Prettify(s)
  20111. }
  20112. // GoString returns the string representation
  20113. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  20114. return s.String()
  20115. }
  20116. // Contains the parameters for AuthorizeSecurityGroupIngress.
  20117. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressRequest
  20118. type AuthorizeSecurityGroupIngressInput struct {
  20119. _ struct{} `type:"structure"`
  20120. // The CIDR IPv4 address range. You can't specify this parameter when specifying
  20121. // a source security group.
  20122. CidrIp *string `type:"string"`
  20123. // Checks whether you have the required permissions for the action, without
  20124. // actually making the request, and provides an error response. If you have
  20125. // the required permissions, the error response is DryRunOperation. Otherwise,
  20126. // it is UnauthorizedOperation.
  20127. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20128. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  20129. // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
  20130. FromPort *int64 `type:"integer"`
  20131. // The ID of the security group. Required for a nondefault VPC.
  20132. GroupId *string `type:"string"`
  20133. // [EC2-Classic, default VPC] The name of the security group.
  20134. GroupName *string `type:"string"`
  20135. // A set of IP permissions. Can be used to specify multiple rules in a single
  20136. // command.
  20137. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  20138. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  20139. // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
  20140. // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
  20141. // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
  20142. // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
  20143. // a port range; if you don't, traffic for all types and codes is allowed.
  20144. IpProtocol *string `type:"string"`
  20145. // [EC2-Classic, default VPC] The name of the source security group. You can't
  20146. // specify this parameter in combination with the following parameters: the
  20147. // CIDR IP address range, the start of the port range, the IP protocol, and
  20148. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  20149. // access. To create a rule with a specific IP protocol and port range, use
  20150. // a set of IP permissions instead. For EC2-VPC, the source security group must
  20151. // be in the same VPC.
  20152. SourceSecurityGroupName *string `type:"string"`
  20153. // [EC2-Classic] The AWS account number for the source security group, if the
  20154. // source security group is in a different account. You can't specify this parameter
  20155. // in combination with the following parameters: the CIDR IP address range,
  20156. // the IP protocol, the start of the port range, and the end of the port range.
  20157. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  20158. // with a specific IP protocol and port range, use a set of IP permissions instead.
  20159. SourceSecurityGroupOwnerId *string `type:"string"`
  20160. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
  20161. // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes.
  20162. ToPort *int64 `type:"integer"`
  20163. }
  20164. // String returns the string representation
  20165. func (s AuthorizeSecurityGroupIngressInput) String() string {
  20166. return awsutil.Prettify(s)
  20167. }
  20168. // GoString returns the string representation
  20169. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  20170. return s.String()
  20171. }
  20172. // SetCidrIp sets the CidrIp field's value.
  20173. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  20174. s.CidrIp = &v
  20175. return s
  20176. }
  20177. // SetDryRun sets the DryRun field's value.
  20178. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  20179. s.DryRun = &v
  20180. return s
  20181. }
  20182. // SetFromPort sets the FromPort field's value.
  20183. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  20184. s.FromPort = &v
  20185. return s
  20186. }
  20187. // SetGroupId sets the GroupId field's value.
  20188. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  20189. s.GroupId = &v
  20190. return s
  20191. }
  20192. // SetGroupName sets the GroupName field's value.
  20193. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  20194. s.GroupName = &v
  20195. return s
  20196. }
  20197. // SetIpPermissions sets the IpPermissions field's value.
  20198. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  20199. s.IpPermissions = v
  20200. return s
  20201. }
  20202. // SetIpProtocol sets the IpProtocol field's value.
  20203. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  20204. s.IpProtocol = &v
  20205. return s
  20206. }
  20207. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  20208. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  20209. s.SourceSecurityGroupName = &v
  20210. return s
  20211. }
  20212. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  20213. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  20214. s.SourceSecurityGroupOwnerId = &v
  20215. return s
  20216. }
  20217. // SetToPort sets the ToPort field's value.
  20218. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  20219. s.ToPort = &v
  20220. return s
  20221. }
  20222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressOutput
  20223. type AuthorizeSecurityGroupIngressOutput struct {
  20224. _ struct{} `type:"structure"`
  20225. }
  20226. // String returns the string representation
  20227. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  20228. return awsutil.Prettify(s)
  20229. }
  20230. // GoString returns the string representation
  20231. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  20232. return s.String()
  20233. }
  20234. // Describes an Availability Zone.
  20235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZone
  20236. type AvailabilityZone struct {
  20237. _ struct{} `type:"structure"`
  20238. // Any messages about the Availability Zone.
  20239. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  20240. // The name of the region.
  20241. RegionName *string `locationName:"regionName" type:"string"`
  20242. // The state of the Availability Zone.
  20243. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  20244. // The name of the Availability Zone.
  20245. ZoneName *string `locationName:"zoneName" type:"string"`
  20246. }
  20247. // String returns the string representation
  20248. func (s AvailabilityZone) String() string {
  20249. return awsutil.Prettify(s)
  20250. }
  20251. // GoString returns the string representation
  20252. func (s AvailabilityZone) GoString() string {
  20253. return s.String()
  20254. }
  20255. // SetMessages sets the Messages field's value.
  20256. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  20257. s.Messages = v
  20258. return s
  20259. }
  20260. // SetRegionName sets the RegionName field's value.
  20261. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  20262. s.RegionName = &v
  20263. return s
  20264. }
  20265. // SetState sets the State field's value.
  20266. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  20267. s.State = &v
  20268. return s
  20269. }
  20270. // SetZoneName sets the ZoneName field's value.
  20271. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  20272. s.ZoneName = &v
  20273. return s
  20274. }
  20275. // Describes a message about an Availability Zone.
  20276. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneMessage
  20277. type AvailabilityZoneMessage struct {
  20278. _ struct{} `type:"structure"`
  20279. // The message about the Availability Zone.
  20280. Message *string `locationName:"message" type:"string"`
  20281. }
  20282. // String returns the string representation
  20283. func (s AvailabilityZoneMessage) String() string {
  20284. return awsutil.Prettify(s)
  20285. }
  20286. // GoString returns the string representation
  20287. func (s AvailabilityZoneMessage) GoString() string {
  20288. return s.String()
  20289. }
  20290. // SetMessage sets the Message field's value.
  20291. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  20292. s.Message = &v
  20293. return s
  20294. }
  20295. // The capacity information for instances launched onto the Dedicated Host.
  20296. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailableCapacity
  20297. type AvailableCapacity struct {
  20298. _ struct{} `type:"structure"`
  20299. // The total number of instances that the Dedicated Host supports.
  20300. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  20301. // The number of vCPUs available on the Dedicated Host.
  20302. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  20303. }
  20304. // String returns the string representation
  20305. func (s AvailableCapacity) String() string {
  20306. return awsutil.Prettify(s)
  20307. }
  20308. // GoString returns the string representation
  20309. func (s AvailableCapacity) GoString() string {
  20310. return s.String()
  20311. }
  20312. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  20313. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  20314. s.AvailableInstanceCapacity = v
  20315. return s
  20316. }
  20317. // SetAvailableVCpus sets the AvailableVCpus field's value.
  20318. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  20319. s.AvailableVCpus = &v
  20320. return s
  20321. }
  20322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlobAttributeValue
  20323. type BlobAttributeValue struct {
  20324. _ struct{} `type:"structure"`
  20325. // Value is automatically base64 encoded/decoded by the SDK.
  20326. Value []byte `locationName:"value" type:"blob"`
  20327. }
  20328. // String returns the string representation
  20329. func (s BlobAttributeValue) String() string {
  20330. return awsutil.Prettify(s)
  20331. }
  20332. // GoString returns the string representation
  20333. func (s BlobAttributeValue) GoString() string {
  20334. return s.String()
  20335. }
  20336. // SetValue sets the Value field's value.
  20337. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  20338. s.Value = v
  20339. return s
  20340. }
  20341. // Describes a block device mapping.
  20342. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlockDeviceMapping
  20343. type BlockDeviceMapping struct {
  20344. _ struct{} `type:"structure"`
  20345. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  20346. DeviceName *string `locationName:"deviceName" type:"string"`
  20347. // Parameters used to automatically set up EBS volumes when the instance is
  20348. // launched.
  20349. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  20350. // Suppresses the specified device included in the block device mapping of the
  20351. // AMI.
  20352. NoDevice *string `locationName:"noDevice" type:"string"`
  20353. // The virtual device name (ephemeralN). Instance store volumes are numbered
  20354. // starting from 0. An instance type with 2 available instance store volumes
  20355. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  20356. // instance store volumes depends on the instance type. After you connect to
  20357. // the instance, you must mount the volume.
  20358. //
  20359. // Constraints: For M3 instances, you must specify instance store volumes in
  20360. // the block device mapping for the instance. When you launch an M3 instance,
  20361. // we ignore any instance store volumes specified in the block device mapping
  20362. // for the AMI.
  20363. VirtualName *string `locationName:"virtualName" type:"string"`
  20364. }
  20365. // String returns the string representation
  20366. func (s BlockDeviceMapping) String() string {
  20367. return awsutil.Prettify(s)
  20368. }
  20369. // GoString returns the string representation
  20370. func (s BlockDeviceMapping) GoString() string {
  20371. return s.String()
  20372. }
  20373. // SetDeviceName sets the DeviceName field's value.
  20374. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  20375. s.DeviceName = &v
  20376. return s
  20377. }
  20378. // SetEbs sets the Ebs field's value.
  20379. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  20380. s.Ebs = v
  20381. return s
  20382. }
  20383. // SetNoDevice sets the NoDevice field's value.
  20384. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  20385. s.NoDevice = &v
  20386. return s
  20387. }
  20388. // SetVirtualName sets the VirtualName field's value.
  20389. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  20390. s.VirtualName = &v
  20391. return s
  20392. }
  20393. // Contains the parameters for BundleInstance.
  20394. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceRequest
  20395. type BundleInstanceInput struct {
  20396. _ struct{} `type:"structure"`
  20397. // Checks whether you have the required permissions for the action, without
  20398. // actually making the request, and provides an error response. If you have
  20399. // the required permissions, the error response is DryRunOperation. Otherwise,
  20400. // it is UnauthorizedOperation.
  20401. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20402. // The ID of the instance to bundle.
  20403. //
  20404. // Type: String
  20405. //
  20406. // Default: None
  20407. //
  20408. // Required: Yes
  20409. //
  20410. // InstanceId is a required field
  20411. InstanceId *string `type:"string" required:"true"`
  20412. // The bucket in which to store the AMI. You can specify a bucket that you already
  20413. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  20414. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  20415. //
  20416. // Storage is a required field
  20417. Storage *Storage `type:"structure" required:"true"`
  20418. }
  20419. // String returns the string representation
  20420. func (s BundleInstanceInput) String() string {
  20421. return awsutil.Prettify(s)
  20422. }
  20423. // GoString returns the string representation
  20424. func (s BundleInstanceInput) GoString() string {
  20425. return s.String()
  20426. }
  20427. // Validate inspects the fields of the type to determine if they are valid.
  20428. func (s *BundleInstanceInput) Validate() error {
  20429. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  20430. if s.InstanceId == nil {
  20431. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  20432. }
  20433. if s.Storage == nil {
  20434. invalidParams.Add(request.NewErrParamRequired("Storage"))
  20435. }
  20436. if invalidParams.Len() > 0 {
  20437. return invalidParams
  20438. }
  20439. return nil
  20440. }
  20441. // SetDryRun sets the DryRun field's value.
  20442. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  20443. s.DryRun = &v
  20444. return s
  20445. }
  20446. // SetInstanceId sets the InstanceId field's value.
  20447. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  20448. s.InstanceId = &v
  20449. return s
  20450. }
  20451. // SetStorage sets the Storage field's value.
  20452. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  20453. s.Storage = v
  20454. return s
  20455. }
  20456. // Contains the output of BundleInstance.
  20457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceResult
  20458. type BundleInstanceOutput struct {
  20459. _ struct{} `type:"structure"`
  20460. // Information about the bundle task.
  20461. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  20462. }
  20463. // String returns the string representation
  20464. func (s BundleInstanceOutput) String() string {
  20465. return awsutil.Prettify(s)
  20466. }
  20467. // GoString returns the string representation
  20468. func (s BundleInstanceOutput) GoString() string {
  20469. return s.String()
  20470. }
  20471. // SetBundleTask sets the BundleTask field's value.
  20472. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  20473. s.BundleTask = v
  20474. return s
  20475. }
  20476. // Describes a bundle task.
  20477. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTask
  20478. type BundleTask struct {
  20479. _ struct{} `type:"structure"`
  20480. // The ID of the bundle task.
  20481. BundleId *string `locationName:"bundleId" type:"string"`
  20482. // If the task fails, a description of the error.
  20483. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  20484. // The ID of the instance associated with this bundle task.
  20485. InstanceId *string `locationName:"instanceId" type:"string"`
  20486. // The level of task completion, as a percent (for example, 20%).
  20487. Progress *string `locationName:"progress" type:"string"`
  20488. // The time this task started.
  20489. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  20490. // The state of the task.
  20491. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  20492. // The Amazon S3 storage locations.
  20493. Storage *Storage `locationName:"storage" type:"structure"`
  20494. // The time of the most recent update for the task.
  20495. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  20496. }
  20497. // String returns the string representation
  20498. func (s BundleTask) String() string {
  20499. return awsutil.Prettify(s)
  20500. }
  20501. // GoString returns the string representation
  20502. func (s BundleTask) GoString() string {
  20503. return s.String()
  20504. }
  20505. // SetBundleId sets the BundleId field's value.
  20506. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  20507. s.BundleId = &v
  20508. return s
  20509. }
  20510. // SetBundleTaskError sets the BundleTaskError field's value.
  20511. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  20512. s.BundleTaskError = v
  20513. return s
  20514. }
  20515. // SetInstanceId sets the InstanceId field's value.
  20516. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  20517. s.InstanceId = &v
  20518. return s
  20519. }
  20520. // SetProgress sets the Progress field's value.
  20521. func (s *BundleTask) SetProgress(v string) *BundleTask {
  20522. s.Progress = &v
  20523. return s
  20524. }
  20525. // SetStartTime sets the StartTime field's value.
  20526. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  20527. s.StartTime = &v
  20528. return s
  20529. }
  20530. // SetState sets the State field's value.
  20531. func (s *BundleTask) SetState(v string) *BundleTask {
  20532. s.State = &v
  20533. return s
  20534. }
  20535. // SetStorage sets the Storage field's value.
  20536. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  20537. s.Storage = v
  20538. return s
  20539. }
  20540. // SetUpdateTime sets the UpdateTime field's value.
  20541. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  20542. s.UpdateTime = &v
  20543. return s
  20544. }
  20545. // Describes an error for BundleInstance.
  20546. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTaskError
  20547. type BundleTaskError struct {
  20548. _ struct{} `type:"structure"`
  20549. // The error code.
  20550. Code *string `locationName:"code" type:"string"`
  20551. // The error message.
  20552. Message *string `locationName:"message" type:"string"`
  20553. }
  20554. // String returns the string representation
  20555. func (s BundleTaskError) String() string {
  20556. return awsutil.Prettify(s)
  20557. }
  20558. // GoString returns the string representation
  20559. func (s BundleTaskError) GoString() string {
  20560. return s.String()
  20561. }
  20562. // SetCode sets the Code field's value.
  20563. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  20564. s.Code = &v
  20565. return s
  20566. }
  20567. // SetMessage sets the Message field's value.
  20568. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  20569. s.Message = &v
  20570. return s
  20571. }
  20572. // Contains the parameters for CancelBundleTask.
  20573. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskRequest
  20574. type CancelBundleTaskInput struct {
  20575. _ struct{} `type:"structure"`
  20576. // The ID of the bundle task.
  20577. //
  20578. // BundleId is a required field
  20579. BundleId *string `type:"string" required:"true"`
  20580. // Checks whether you have the required permissions for the action, without
  20581. // actually making the request, and provides an error response. If you have
  20582. // the required permissions, the error response is DryRunOperation. Otherwise,
  20583. // it is UnauthorizedOperation.
  20584. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20585. }
  20586. // String returns the string representation
  20587. func (s CancelBundleTaskInput) String() string {
  20588. return awsutil.Prettify(s)
  20589. }
  20590. // GoString returns the string representation
  20591. func (s CancelBundleTaskInput) GoString() string {
  20592. return s.String()
  20593. }
  20594. // Validate inspects the fields of the type to determine if they are valid.
  20595. func (s *CancelBundleTaskInput) Validate() error {
  20596. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  20597. if s.BundleId == nil {
  20598. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  20599. }
  20600. if invalidParams.Len() > 0 {
  20601. return invalidParams
  20602. }
  20603. return nil
  20604. }
  20605. // SetBundleId sets the BundleId field's value.
  20606. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  20607. s.BundleId = &v
  20608. return s
  20609. }
  20610. // SetDryRun sets the DryRun field's value.
  20611. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  20612. s.DryRun = &v
  20613. return s
  20614. }
  20615. // Contains the output of CancelBundleTask.
  20616. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskResult
  20617. type CancelBundleTaskOutput struct {
  20618. _ struct{} `type:"structure"`
  20619. // Information about the bundle task.
  20620. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  20621. }
  20622. // String returns the string representation
  20623. func (s CancelBundleTaskOutput) String() string {
  20624. return awsutil.Prettify(s)
  20625. }
  20626. // GoString returns the string representation
  20627. func (s CancelBundleTaskOutput) GoString() string {
  20628. return s.String()
  20629. }
  20630. // SetBundleTask sets the BundleTask field's value.
  20631. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  20632. s.BundleTask = v
  20633. return s
  20634. }
  20635. // Contains the parameters for CancelConversionTask.
  20636. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionRequest
  20637. type CancelConversionTaskInput struct {
  20638. _ struct{} `type:"structure"`
  20639. // The ID of the conversion task.
  20640. //
  20641. // ConversionTaskId is a required field
  20642. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  20643. // Checks whether you have the required permissions for the action, without
  20644. // actually making the request, and provides an error response. If you have
  20645. // the required permissions, the error response is DryRunOperation. Otherwise,
  20646. // it is UnauthorizedOperation.
  20647. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20648. // The reason for canceling the conversion task.
  20649. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  20650. }
  20651. // String returns the string representation
  20652. func (s CancelConversionTaskInput) String() string {
  20653. return awsutil.Prettify(s)
  20654. }
  20655. // GoString returns the string representation
  20656. func (s CancelConversionTaskInput) GoString() string {
  20657. return s.String()
  20658. }
  20659. // Validate inspects the fields of the type to determine if they are valid.
  20660. func (s *CancelConversionTaskInput) Validate() error {
  20661. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  20662. if s.ConversionTaskId == nil {
  20663. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  20664. }
  20665. if invalidParams.Len() > 0 {
  20666. return invalidParams
  20667. }
  20668. return nil
  20669. }
  20670. // SetConversionTaskId sets the ConversionTaskId field's value.
  20671. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  20672. s.ConversionTaskId = &v
  20673. return s
  20674. }
  20675. // SetDryRun sets the DryRun field's value.
  20676. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  20677. s.DryRun = &v
  20678. return s
  20679. }
  20680. // SetReasonMessage sets the ReasonMessage field's value.
  20681. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  20682. s.ReasonMessage = &v
  20683. return s
  20684. }
  20685. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTaskOutput
  20686. type CancelConversionTaskOutput struct {
  20687. _ struct{} `type:"structure"`
  20688. }
  20689. // String returns the string representation
  20690. func (s CancelConversionTaskOutput) String() string {
  20691. return awsutil.Prettify(s)
  20692. }
  20693. // GoString returns the string representation
  20694. func (s CancelConversionTaskOutput) GoString() string {
  20695. return s.String()
  20696. }
  20697. // Contains the parameters for CancelExportTask.
  20698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskRequest
  20699. type CancelExportTaskInput struct {
  20700. _ struct{} `type:"structure"`
  20701. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  20702. //
  20703. // ExportTaskId is a required field
  20704. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  20705. }
  20706. // String returns the string representation
  20707. func (s CancelExportTaskInput) String() string {
  20708. return awsutil.Prettify(s)
  20709. }
  20710. // GoString returns the string representation
  20711. func (s CancelExportTaskInput) GoString() string {
  20712. return s.String()
  20713. }
  20714. // Validate inspects the fields of the type to determine if they are valid.
  20715. func (s *CancelExportTaskInput) Validate() error {
  20716. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  20717. if s.ExportTaskId == nil {
  20718. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  20719. }
  20720. if invalidParams.Len() > 0 {
  20721. return invalidParams
  20722. }
  20723. return nil
  20724. }
  20725. // SetExportTaskId sets the ExportTaskId field's value.
  20726. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  20727. s.ExportTaskId = &v
  20728. return s
  20729. }
  20730. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskOutput
  20731. type CancelExportTaskOutput struct {
  20732. _ struct{} `type:"structure"`
  20733. }
  20734. // String returns the string representation
  20735. func (s CancelExportTaskOutput) String() string {
  20736. return awsutil.Prettify(s)
  20737. }
  20738. // GoString returns the string representation
  20739. func (s CancelExportTaskOutput) GoString() string {
  20740. return s.String()
  20741. }
  20742. // Contains the parameters for CancelImportTask.
  20743. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskRequest
  20744. type CancelImportTaskInput struct {
  20745. _ struct{} `type:"structure"`
  20746. // The reason for canceling the task.
  20747. CancelReason *string `type:"string"`
  20748. // Checks whether you have the required permissions for the action, without
  20749. // actually making the request, and provides an error response. If you have
  20750. // the required permissions, the error response is DryRunOperation. Otherwise,
  20751. // it is UnauthorizedOperation.
  20752. DryRun *bool `type:"boolean"`
  20753. // The ID of the import image or import snapshot task to be canceled.
  20754. ImportTaskId *string `type:"string"`
  20755. }
  20756. // String returns the string representation
  20757. func (s CancelImportTaskInput) String() string {
  20758. return awsutil.Prettify(s)
  20759. }
  20760. // GoString returns the string representation
  20761. func (s CancelImportTaskInput) GoString() string {
  20762. return s.String()
  20763. }
  20764. // SetCancelReason sets the CancelReason field's value.
  20765. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  20766. s.CancelReason = &v
  20767. return s
  20768. }
  20769. // SetDryRun sets the DryRun field's value.
  20770. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  20771. s.DryRun = &v
  20772. return s
  20773. }
  20774. // SetImportTaskId sets the ImportTaskId field's value.
  20775. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  20776. s.ImportTaskId = &v
  20777. return s
  20778. }
  20779. // Contains the output for CancelImportTask.
  20780. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskResult
  20781. type CancelImportTaskOutput struct {
  20782. _ struct{} `type:"structure"`
  20783. // The ID of the task being canceled.
  20784. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  20785. // The current state of the task being canceled.
  20786. PreviousState *string `locationName:"previousState" type:"string"`
  20787. // The current state of the task being canceled.
  20788. State *string `locationName:"state" type:"string"`
  20789. }
  20790. // String returns the string representation
  20791. func (s CancelImportTaskOutput) String() string {
  20792. return awsutil.Prettify(s)
  20793. }
  20794. // GoString returns the string representation
  20795. func (s CancelImportTaskOutput) GoString() string {
  20796. return s.String()
  20797. }
  20798. // SetImportTaskId sets the ImportTaskId field's value.
  20799. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  20800. s.ImportTaskId = &v
  20801. return s
  20802. }
  20803. // SetPreviousState sets the PreviousState field's value.
  20804. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  20805. s.PreviousState = &v
  20806. return s
  20807. }
  20808. // SetState sets the State field's value.
  20809. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  20810. s.State = &v
  20811. return s
  20812. }
  20813. // Contains the parameters for CancelReservedInstancesListing.
  20814. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingRequest
  20815. type CancelReservedInstancesListingInput struct {
  20816. _ struct{} `type:"structure"`
  20817. // The ID of the Reserved Instance listing.
  20818. //
  20819. // ReservedInstancesListingId is a required field
  20820. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  20821. }
  20822. // String returns the string representation
  20823. func (s CancelReservedInstancesListingInput) String() string {
  20824. return awsutil.Prettify(s)
  20825. }
  20826. // GoString returns the string representation
  20827. func (s CancelReservedInstancesListingInput) GoString() string {
  20828. return s.String()
  20829. }
  20830. // Validate inspects the fields of the type to determine if they are valid.
  20831. func (s *CancelReservedInstancesListingInput) Validate() error {
  20832. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  20833. if s.ReservedInstancesListingId == nil {
  20834. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  20835. }
  20836. if invalidParams.Len() > 0 {
  20837. return invalidParams
  20838. }
  20839. return nil
  20840. }
  20841. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  20842. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  20843. s.ReservedInstancesListingId = &v
  20844. return s
  20845. }
  20846. // Contains the output of CancelReservedInstancesListing.
  20847. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingResult
  20848. type CancelReservedInstancesListingOutput struct {
  20849. _ struct{} `type:"structure"`
  20850. // The Reserved Instance listing.
  20851. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  20852. }
  20853. // String returns the string representation
  20854. func (s CancelReservedInstancesListingOutput) String() string {
  20855. return awsutil.Prettify(s)
  20856. }
  20857. // GoString returns the string representation
  20858. func (s CancelReservedInstancesListingOutput) GoString() string {
  20859. return s.String()
  20860. }
  20861. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  20862. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  20863. s.ReservedInstancesListings = v
  20864. return s
  20865. }
  20866. // Describes a Spot fleet error.
  20867. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsError
  20868. type CancelSpotFleetRequestsError struct {
  20869. _ struct{} `type:"structure"`
  20870. // The error code.
  20871. //
  20872. // Code is a required field
  20873. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  20874. // The description for the error code.
  20875. //
  20876. // Message is a required field
  20877. Message *string `locationName:"message" type:"string" required:"true"`
  20878. }
  20879. // String returns the string representation
  20880. func (s CancelSpotFleetRequestsError) String() string {
  20881. return awsutil.Prettify(s)
  20882. }
  20883. // GoString returns the string representation
  20884. func (s CancelSpotFleetRequestsError) GoString() string {
  20885. return s.String()
  20886. }
  20887. // SetCode sets the Code field's value.
  20888. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  20889. s.Code = &v
  20890. return s
  20891. }
  20892. // SetMessage sets the Message field's value.
  20893. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  20894. s.Message = &v
  20895. return s
  20896. }
  20897. // Describes a Spot fleet request that was not successfully canceled.
  20898. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsErrorItem
  20899. type CancelSpotFleetRequestsErrorItem struct {
  20900. _ struct{} `type:"structure"`
  20901. // The error.
  20902. //
  20903. // Error is a required field
  20904. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  20905. // The ID of the Spot fleet request.
  20906. //
  20907. // SpotFleetRequestId is a required field
  20908. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20909. }
  20910. // String returns the string representation
  20911. func (s CancelSpotFleetRequestsErrorItem) String() string {
  20912. return awsutil.Prettify(s)
  20913. }
  20914. // GoString returns the string representation
  20915. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  20916. return s.String()
  20917. }
  20918. // SetError sets the Error field's value.
  20919. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  20920. s.Error = v
  20921. return s
  20922. }
  20923. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  20924. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  20925. s.SpotFleetRequestId = &v
  20926. return s
  20927. }
  20928. // Contains the parameters for CancelSpotFleetRequests.
  20929. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsRequest
  20930. type CancelSpotFleetRequestsInput struct {
  20931. _ struct{} `type:"structure"`
  20932. // Checks whether you have the required permissions for the action, without
  20933. // actually making the request, and provides an error response. If you have
  20934. // the required permissions, the error response is DryRunOperation. Otherwise,
  20935. // it is UnauthorizedOperation.
  20936. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20937. // The IDs of the Spot fleet requests.
  20938. //
  20939. // SpotFleetRequestIds is a required field
  20940. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  20941. // Indicates whether to terminate instances for a Spot fleet request if it is
  20942. // canceled successfully.
  20943. //
  20944. // TerminateInstances is a required field
  20945. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  20946. }
  20947. // String returns the string representation
  20948. func (s CancelSpotFleetRequestsInput) String() string {
  20949. return awsutil.Prettify(s)
  20950. }
  20951. // GoString returns the string representation
  20952. func (s CancelSpotFleetRequestsInput) GoString() string {
  20953. return s.String()
  20954. }
  20955. // Validate inspects the fields of the type to determine if they are valid.
  20956. func (s *CancelSpotFleetRequestsInput) Validate() error {
  20957. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  20958. if s.SpotFleetRequestIds == nil {
  20959. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  20960. }
  20961. if s.TerminateInstances == nil {
  20962. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  20963. }
  20964. if invalidParams.Len() > 0 {
  20965. return invalidParams
  20966. }
  20967. return nil
  20968. }
  20969. // SetDryRun sets the DryRun field's value.
  20970. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  20971. s.DryRun = &v
  20972. return s
  20973. }
  20974. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  20975. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  20976. s.SpotFleetRequestIds = v
  20977. return s
  20978. }
  20979. // SetTerminateInstances sets the TerminateInstances field's value.
  20980. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  20981. s.TerminateInstances = &v
  20982. return s
  20983. }
  20984. // Contains the output of CancelSpotFleetRequests.
  20985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsResponse
  20986. type CancelSpotFleetRequestsOutput struct {
  20987. _ struct{} `type:"structure"`
  20988. // Information about the Spot fleet requests that are successfully canceled.
  20989. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  20990. // Information about the Spot fleet requests that are not successfully canceled.
  20991. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  20992. }
  20993. // String returns the string representation
  20994. func (s CancelSpotFleetRequestsOutput) String() string {
  20995. return awsutil.Prettify(s)
  20996. }
  20997. // GoString returns the string representation
  20998. func (s CancelSpotFleetRequestsOutput) GoString() string {
  20999. return s.String()
  21000. }
  21001. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  21002. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  21003. s.SuccessfulFleetRequests = v
  21004. return s
  21005. }
  21006. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  21007. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  21008. s.UnsuccessfulFleetRequests = v
  21009. return s
  21010. }
  21011. // Describes a Spot fleet request that was successfully canceled.
  21012. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsSuccessItem
  21013. type CancelSpotFleetRequestsSuccessItem struct {
  21014. _ struct{} `type:"structure"`
  21015. // The current state of the Spot fleet request.
  21016. //
  21017. // CurrentSpotFleetRequestState is a required field
  21018. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  21019. // The previous state of the Spot fleet request.
  21020. //
  21021. // PreviousSpotFleetRequestState is a required field
  21022. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  21023. // The ID of the Spot fleet request.
  21024. //
  21025. // SpotFleetRequestId is a required field
  21026. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  21027. }
  21028. // String returns the string representation
  21029. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  21030. return awsutil.Prettify(s)
  21031. }
  21032. // GoString returns the string representation
  21033. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  21034. return s.String()
  21035. }
  21036. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  21037. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  21038. s.CurrentSpotFleetRequestState = &v
  21039. return s
  21040. }
  21041. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  21042. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  21043. s.PreviousSpotFleetRequestState = &v
  21044. return s
  21045. }
  21046. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  21047. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  21048. s.SpotFleetRequestId = &v
  21049. return s
  21050. }
  21051. // Contains the parameters for CancelSpotInstanceRequests.
  21052. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsRequest
  21053. type CancelSpotInstanceRequestsInput struct {
  21054. _ struct{} `type:"structure"`
  21055. // Checks whether you have the required permissions for the action, without
  21056. // actually making the request, and provides an error response. If you have
  21057. // the required permissions, the error response is DryRunOperation. Otherwise,
  21058. // it is UnauthorizedOperation.
  21059. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21060. // One or more Spot instance request IDs.
  21061. //
  21062. // SpotInstanceRequestIds is a required field
  21063. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  21064. }
  21065. // String returns the string representation
  21066. func (s CancelSpotInstanceRequestsInput) String() string {
  21067. return awsutil.Prettify(s)
  21068. }
  21069. // GoString returns the string representation
  21070. func (s CancelSpotInstanceRequestsInput) GoString() string {
  21071. return s.String()
  21072. }
  21073. // Validate inspects the fields of the type to determine if they are valid.
  21074. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  21075. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  21076. if s.SpotInstanceRequestIds == nil {
  21077. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  21078. }
  21079. if invalidParams.Len() > 0 {
  21080. return invalidParams
  21081. }
  21082. return nil
  21083. }
  21084. // SetDryRun sets the DryRun field's value.
  21085. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  21086. s.DryRun = &v
  21087. return s
  21088. }
  21089. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  21090. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  21091. s.SpotInstanceRequestIds = v
  21092. return s
  21093. }
  21094. // Contains the output of CancelSpotInstanceRequests.
  21095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsResult
  21096. type CancelSpotInstanceRequestsOutput struct {
  21097. _ struct{} `type:"structure"`
  21098. // One or more Spot instance requests.
  21099. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  21100. }
  21101. // String returns the string representation
  21102. func (s CancelSpotInstanceRequestsOutput) String() string {
  21103. return awsutil.Prettify(s)
  21104. }
  21105. // GoString returns the string representation
  21106. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  21107. return s.String()
  21108. }
  21109. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  21110. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  21111. s.CancelledSpotInstanceRequests = v
  21112. return s
  21113. }
  21114. // Describes a request to cancel a Spot instance.
  21115. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelledSpotInstanceRequest
  21116. type CancelledSpotInstanceRequest struct {
  21117. _ struct{} `type:"structure"`
  21118. // The ID of the Spot instance request.
  21119. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  21120. // The state of the Spot instance request.
  21121. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  21122. }
  21123. // String returns the string representation
  21124. func (s CancelledSpotInstanceRequest) String() string {
  21125. return awsutil.Prettify(s)
  21126. }
  21127. // GoString returns the string representation
  21128. func (s CancelledSpotInstanceRequest) GoString() string {
  21129. return s.String()
  21130. }
  21131. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  21132. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  21133. s.SpotInstanceRequestId = &v
  21134. return s
  21135. }
  21136. // SetState sets the State field's value.
  21137. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  21138. s.State = &v
  21139. return s
  21140. }
  21141. // Describes the ClassicLink DNS support status of a VPC.
  21142. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkDnsSupport
  21143. type ClassicLinkDnsSupport struct {
  21144. _ struct{} `type:"structure"`
  21145. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  21146. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  21147. // The ID of the VPC.
  21148. VpcId *string `locationName:"vpcId" type:"string"`
  21149. }
  21150. // String returns the string representation
  21151. func (s ClassicLinkDnsSupport) String() string {
  21152. return awsutil.Prettify(s)
  21153. }
  21154. // GoString returns the string representation
  21155. func (s ClassicLinkDnsSupport) GoString() string {
  21156. return s.String()
  21157. }
  21158. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  21159. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  21160. s.ClassicLinkDnsSupported = &v
  21161. return s
  21162. }
  21163. // SetVpcId sets the VpcId field's value.
  21164. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  21165. s.VpcId = &v
  21166. return s
  21167. }
  21168. // Describes a linked EC2-Classic instance.
  21169. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkInstance
  21170. type ClassicLinkInstance struct {
  21171. _ struct{} `type:"structure"`
  21172. // A list of security groups.
  21173. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  21174. // The ID of the instance.
  21175. InstanceId *string `locationName:"instanceId" type:"string"`
  21176. // Any tags assigned to the instance.
  21177. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  21178. // The ID of the VPC.
  21179. VpcId *string `locationName:"vpcId" type:"string"`
  21180. }
  21181. // String returns the string representation
  21182. func (s ClassicLinkInstance) String() string {
  21183. return awsutil.Prettify(s)
  21184. }
  21185. // GoString returns the string representation
  21186. func (s ClassicLinkInstance) GoString() string {
  21187. return s.String()
  21188. }
  21189. // SetGroups sets the Groups field's value.
  21190. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  21191. s.Groups = v
  21192. return s
  21193. }
  21194. // SetInstanceId sets the InstanceId field's value.
  21195. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  21196. s.InstanceId = &v
  21197. return s
  21198. }
  21199. // SetTags sets the Tags field's value.
  21200. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  21201. s.Tags = v
  21202. return s
  21203. }
  21204. // SetVpcId sets the VpcId field's value.
  21205. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  21206. s.VpcId = &v
  21207. return s
  21208. }
  21209. // Describes the client-specific data.
  21210. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientData
  21211. type ClientData struct {
  21212. _ struct{} `type:"structure"`
  21213. // A user-defined comment about the disk upload.
  21214. Comment *string `type:"string"`
  21215. // The time that the disk upload ends.
  21216. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  21217. // The size of the uploaded disk image, in GiB.
  21218. UploadSize *float64 `type:"double"`
  21219. // The time that the disk upload starts.
  21220. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  21221. }
  21222. // String returns the string representation
  21223. func (s ClientData) String() string {
  21224. return awsutil.Prettify(s)
  21225. }
  21226. // GoString returns the string representation
  21227. func (s ClientData) GoString() string {
  21228. return s.String()
  21229. }
  21230. // SetComment sets the Comment field's value.
  21231. func (s *ClientData) SetComment(v string) *ClientData {
  21232. s.Comment = &v
  21233. return s
  21234. }
  21235. // SetUploadEnd sets the UploadEnd field's value.
  21236. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  21237. s.UploadEnd = &v
  21238. return s
  21239. }
  21240. // SetUploadSize sets the UploadSize field's value.
  21241. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  21242. s.UploadSize = &v
  21243. return s
  21244. }
  21245. // SetUploadStart sets the UploadStart field's value.
  21246. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  21247. s.UploadStart = &v
  21248. return s
  21249. }
  21250. // Contains the parameters for ConfirmProductInstance.
  21251. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceRequest
  21252. type ConfirmProductInstanceInput struct {
  21253. _ struct{} `type:"structure"`
  21254. // Checks whether you have the required permissions for the action, without
  21255. // actually making the request, and provides an error response. If you have
  21256. // the required permissions, the error response is DryRunOperation. Otherwise,
  21257. // it is UnauthorizedOperation.
  21258. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21259. // The ID of the instance.
  21260. //
  21261. // InstanceId is a required field
  21262. InstanceId *string `type:"string" required:"true"`
  21263. // The product code. This must be a product code that you own.
  21264. //
  21265. // ProductCode is a required field
  21266. ProductCode *string `type:"string" required:"true"`
  21267. }
  21268. // String returns the string representation
  21269. func (s ConfirmProductInstanceInput) String() string {
  21270. return awsutil.Prettify(s)
  21271. }
  21272. // GoString returns the string representation
  21273. func (s ConfirmProductInstanceInput) GoString() string {
  21274. return s.String()
  21275. }
  21276. // Validate inspects the fields of the type to determine if they are valid.
  21277. func (s *ConfirmProductInstanceInput) Validate() error {
  21278. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  21279. if s.InstanceId == nil {
  21280. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21281. }
  21282. if s.ProductCode == nil {
  21283. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  21284. }
  21285. if invalidParams.Len() > 0 {
  21286. return invalidParams
  21287. }
  21288. return nil
  21289. }
  21290. // SetDryRun sets the DryRun field's value.
  21291. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  21292. s.DryRun = &v
  21293. return s
  21294. }
  21295. // SetInstanceId sets the InstanceId field's value.
  21296. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  21297. s.InstanceId = &v
  21298. return s
  21299. }
  21300. // SetProductCode sets the ProductCode field's value.
  21301. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  21302. s.ProductCode = &v
  21303. return s
  21304. }
  21305. // Contains the output of ConfirmProductInstance.
  21306. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceResult
  21307. type ConfirmProductInstanceOutput struct {
  21308. _ struct{} `type:"structure"`
  21309. // The AWS account ID of the instance owner. This is only present if the product
  21310. // code is attached to the instance.
  21311. OwnerId *string `locationName:"ownerId" type:"string"`
  21312. // The return value of the request. Returns true if the specified product code
  21313. // is owned by the requester and associated with the specified instance.
  21314. Return *bool `locationName:"return" type:"boolean"`
  21315. }
  21316. // String returns the string representation
  21317. func (s ConfirmProductInstanceOutput) String() string {
  21318. return awsutil.Prettify(s)
  21319. }
  21320. // GoString returns the string representation
  21321. func (s ConfirmProductInstanceOutput) GoString() string {
  21322. return s.String()
  21323. }
  21324. // SetOwnerId sets the OwnerId field's value.
  21325. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  21326. s.OwnerId = &v
  21327. return s
  21328. }
  21329. // SetReturn sets the Return field's value.
  21330. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  21331. s.Return = &v
  21332. return s
  21333. }
  21334. // Describes a conversion task.
  21335. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConversionTask
  21336. type ConversionTask struct {
  21337. _ struct{} `type:"structure"`
  21338. // The ID of the conversion task.
  21339. //
  21340. // ConversionTaskId is a required field
  21341. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  21342. // The time when the task expires. If the upload isn't complete before the expiration
  21343. // time, we automatically cancel the task.
  21344. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  21345. // If the task is for importing an instance, this contains information about
  21346. // the import instance task.
  21347. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  21348. // If the task is for importing a volume, this contains information about the
  21349. // import volume task.
  21350. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  21351. // The state of the conversion task.
  21352. //
  21353. // State is a required field
  21354. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  21355. // The status message related to the conversion task.
  21356. StatusMessage *string `locationName:"statusMessage" type:"string"`
  21357. // Any tags assigned to the task.
  21358. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  21359. }
  21360. // String returns the string representation
  21361. func (s ConversionTask) String() string {
  21362. return awsutil.Prettify(s)
  21363. }
  21364. // GoString returns the string representation
  21365. func (s ConversionTask) GoString() string {
  21366. return s.String()
  21367. }
  21368. // SetConversionTaskId sets the ConversionTaskId field's value.
  21369. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  21370. s.ConversionTaskId = &v
  21371. return s
  21372. }
  21373. // SetExpirationTime sets the ExpirationTime field's value.
  21374. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  21375. s.ExpirationTime = &v
  21376. return s
  21377. }
  21378. // SetImportInstance sets the ImportInstance field's value.
  21379. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  21380. s.ImportInstance = v
  21381. return s
  21382. }
  21383. // SetImportVolume sets the ImportVolume field's value.
  21384. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  21385. s.ImportVolume = v
  21386. return s
  21387. }
  21388. // SetState sets the State field's value.
  21389. func (s *ConversionTask) SetState(v string) *ConversionTask {
  21390. s.State = &v
  21391. return s
  21392. }
  21393. // SetStatusMessage sets the StatusMessage field's value.
  21394. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  21395. s.StatusMessage = &v
  21396. return s
  21397. }
  21398. // SetTags sets the Tags field's value.
  21399. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  21400. s.Tags = v
  21401. return s
  21402. }
  21403. // Contains the parameters for CopyImage.
  21404. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageRequest
  21405. type CopyImageInput struct {
  21406. _ struct{} `type:"structure"`
  21407. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  21408. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  21409. // in the Amazon Elastic Compute Cloud User Guide.
  21410. ClientToken *string `type:"string"`
  21411. // A description for the new AMI in the destination region.
  21412. Description *string `type:"string"`
  21413. // Checks whether you have the required permissions for the action, without
  21414. // actually making the request, and provides an error response. If you have
  21415. // the required permissions, the error response is DryRunOperation. Otherwise,
  21416. // it is UnauthorizedOperation.
  21417. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21418. // Specifies whether the destination snapshots of the copied image should be
  21419. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  21420. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  21421. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  21422. // in the Amazon Elastic Compute Cloud User Guide.
  21423. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  21424. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  21425. // encrypting the snapshots of an image during a copy operation. This parameter
  21426. // is only required if you want to use a non-default CMK; if this parameter
  21427. // is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms
  21428. // namespace, followed by the region of the CMK, the AWS account ID of the CMK
  21429. // owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  21430. // The specified CMK must exist in the region that the snapshot is being copied
  21431. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  21432. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  21433. // The name of the new AMI in the destination region.
  21434. //
  21435. // Name is a required field
  21436. Name *string `type:"string" required:"true"`
  21437. // The ID of the AMI to copy.
  21438. //
  21439. // SourceImageId is a required field
  21440. SourceImageId *string `type:"string" required:"true"`
  21441. // The name of the region that contains the AMI to copy.
  21442. //
  21443. // SourceRegion is a required field
  21444. SourceRegion *string `type:"string" required:"true"`
  21445. }
  21446. // String returns the string representation
  21447. func (s CopyImageInput) String() string {
  21448. return awsutil.Prettify(s)
  21449. }
  21450. // GoString returns the string representation
  21451. func (s CopyImageInput) GoString() string {
  21452. return s.String()
  21453. }
  21454. // Validate inspects the fields of the type to determine if they are valid.
  21455. func (s *CopyImageInput) Validate() error {
  21456. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  21457. if s.Name == nil {
  21458. invalidParams.Add(request.NewErrParamRequired("Name"))
  21459. }
  21460. if s.SourceImageId == nil {
  21461. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  21462. }
  21463. if s.SourceRegion == nil {
  21464. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  21465. }
  21466. if invalidParams.Len() > 0 {
  21467. return invalidParams
  21468. }
  21469. return nil
  21470. }
  21471. // SetClientToken sets the ClientToken field's value.
  21472. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  21473. s.ClientToken = &v
  21474. return s
  21475. }
  21476. // SetDescription sets the Description field's value.
  21477. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  21478. s.Description = &v
  21479. return s
  21480. }
  21481. // SetDryRun sets the DryRun field's value.
  21482. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  21483. s.DryRun = &v
  21484. return s
  21485. }
  21486. // SetEncrypted sets the Encrypted field's value.
  21487. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  21488. s.Encrypted = &v
  21489. return s
  21490. }
  21491. // SetKmsKeyId sets the KmsKeyId field's value.
  21492. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  21493. s.KmsKeyId = &v
  21494. return s
  21495. }
  21496. // SetName sets the Name field's value.
  21497. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  21498. s.Name = &v
  21499. return s
  21500. }
  21501. // SetSourceImageId sets the SourceImageId field's value.
  21502. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  21503. s.SourceImageId = &v
  21504. return s
  21505. }
  21506. // SetSourceRegion sets the SourceRegion field's value.
  21507. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  21508. s.SourceRegion = &v
  21509. return s
  21510. }
  21511. // Contains the output of CopyImage.
  21512. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageResult
  21513. type CopyImageOutput struct {
  21514. _ struct{} `type:"structure"`
  21515. // The ID of the new AMI.
  21516. ImageId *string `locationName:"imageId" type:"string"`
  21517. }
  21518. // String returns the string representation
  21519. func (s CopyImageOutput) String() string {
  21520. return awsutil.Prettify(s)
  21521. }
  21522. // GoString returns the string representation
  21523. func (s CopyImageOutput) GoString() string {
  21524. return s.String()
  21525. }
  21526. // SetImageId sets the ImageId field's value.
  21527. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  21528. s.ImageId = &v
  21529. return s
  21530. }
  21531. // Contains the parameters for CopySnapshot.
  21532. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotRequest
  21533. type CopySnapshotInput struct {
  21534. _ struct{} `type:"structure"`
  21535. // A description for the EBS snapshot.
  21536. Description *string `type:"string"`
  21537. // The destination region to use in the PresignedUrl parameter of a snapshot
  21538. // copy operation. This parameter is only valid for specifying the destination
  21539. // region in a PresignedUrl parameter, where it is required.
  21540. //
  21541. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  21542. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  21543. // this is specified with the --region parameter or the default region in your
  21544. // AWS configuration file).
  21545. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  21546. // Checks whether you have the required permissions for the action, without
  21547. // actually making the request, and provides an error response. If you have
  21548. // the required permissions, the error response is DryRunOperation. Otherwise,
  21549. // it is UnauthorizedOperation.
  21550. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21551. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  21552. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  21553. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  21554. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  21555. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  21556. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  21557. // the Amazon Elastic Compute Cloud User Guide.
  21558. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  21559. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  21560. // creating the snapshot copy. This parameter is only required if you want to
  21561. // use a non-default CMK; if this parameter is not specified, the default CMK
  21562. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  21563. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  21564. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  21565. // The specified CMK must exist in the region that the snapshot is being copied
  21566. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  21567. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  21568. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  21569. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  21570. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  21571. // should use the snapshot source endpoint, the CopySnapshot action, and include
  21572. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  21573. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  21574. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  21575. // same logic that is described in Authenticating Requests by Using Query Parameters
  21576. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  21577. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  21578. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  21579. // and the snapshot will move to an error state.
  21580. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  21581. // The ID of the region that contains the snapshot to be copied.
  21582. //
  21583. // SourceRegion is a required field
  21584. SourceRegion *string `type:"string" required:"true"`
  21585. // The ID of the EBS snapshot to copy.
  21586. //
  21587. // SourceSnapshotId is a required field
  21588. SourceSnapshotId *string `type:"string" required:"true"`
  21589. }
  21590. // String returns the string representation
  21591. func (s CopySnapshotInput) String() string {
  21592. return awsutil.Prettify(s)
  21593. }
  21594. // GoString returns the string representation
  21595. func (s CopySnapshotInput) GoString() string {
  21596. return s.String()
  21597. }
  21598. // Validate inspects the fields of the type to determine if they are valid.
  21599. func (s *CopySnapshotInput) Validate() error {
  21600. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  21601. if s.SourceRegion == nil {
  21602. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  21603. }
  21604. if s.SourceSnapshotId == nil {
  21605. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  21606. }
  21607. if invalidParams.Len() > 0 {
  21608. return invalidParams
  21609. }
  21610. return nil
  21611. }
  21612. // SetDescription sets the Description field's value.
  21613. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  21614. s.Description = &v
  21615. return s
  21616. }
  21617. // SetDestinationRegion sets the DestinationRegion field's value.
  21618. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  21619. s.DestinationRegion = &v
  21620. return s
  21621. }
  21622. // SetDryRun sets the DryRun field's value.
  21623. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  21624. s.DryRun = &v
  21625. return s
  21626. }
  21627. // SetEncrypted sets the Encrypted field's value.
  21628. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  21629. s.Encrypted = &v
  21630. return s
  21631. }
  21632. // SetKmsKeyId sets the KmsKeyId field's value.
  21633. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  21634. s.KmsKeyId = &v
  21635. return s
  21636. }
  21637. // SetPresignedUrl sets the PresignedUrl field's value.
  21638. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  21639. s.PresignedUrl = &v
  21640. return s
  21641. }
  21642. // SetSourceRegion sets the SourceRegion field's value.
  21643. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  21644. s.SourceRegion = &v
  21645. return s
  21646. }
  21647. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  21648. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  21649. s.SourceSnapshotId = &v
  21650. return s
  21651. }
  21652. // Contains the output of CopySnapshot.
  21653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotResult
  21654. type CopySnapshotOutput struct {
  21655. _ struct{} `type:"structure"`
  21656. // The ID of the new snapshot.
  21657. SnapshotId *string `locationName:"snapshotId" type:"string"`
  21658. }
  21659. // String returns the string representation
  21660. func (s CopySnapshotOutput) String() string {
  21661. return awsutil.Prettify(s)
  21662. }
  21663. // GoString returns the string representation
  21664. func (s CopySnapshotOutput) GoString() string {
  21665. return s.String()
  21666. }
  21667. // SetSnapshotId sets the SnapshotId field's value.
  21668. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  21669. s.SnapshotId = &v
  21670. return s
  21671. }
  21672. // Contains the parameters for CreateCustomerGateway.
  21673. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayRequest
  21674. type CreateCustomerGatewayInput struct {
  21675. _ struct{} `type:"structure"`
  21676. // For devices that support BGP, the customer gateway's BGP ASN.
  21677. //
  21678. // Default: 65000
  21679. //
  21680. // BgpAsn is a required field
  21681. BgpAsn *int64 `type:"integer" required:"true"`
  21682. // Checks whether you have the required permissions for the action, without
  21683. // actually making the request, and provides an error response. If you have
  21684. // the required permissions, the error response is DryRunOperation. Otherwise,
  21685. // it is UnauthorizedOperation.
  21686. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21687. // The Internet-routable IP address for the customer gateway's outside interface.
  21688. // The address must be static.
  21689. //
  21690. // PublicIp is a required field
  21691. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  21692. // The type of VPN connection that this customer gateway supports (ipsec.1).
  21693. //
  21694. // Type is a required field
  21695. Type *string `type:"string" required:"true" enum:"GatewayType"`
  21696. }
  21697. // String returns the string representation
  21698. func (s CreateCustomerGatewayInput) String() string {
  21699. return awsutil.Prettify(s)
  21700. }
  21701. // GoString returns the string representation
  21702. func (s CreateCustomerGatewayInput) GoString() string {
  21703. return s.String()
  21704. }
  21705. // Validate inspects the fields of the type to determine if they are valid.
  21706. func (s *CreateCustomerGatewayInput) Validate() error {
  21707. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  21708. if s.BgpAsn == nil {
  21709. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  21710. }
  21711. if s.PublicIp == nil {
  21712. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  21713. }
  21714. if s.Type == nil {
  21715. invalidParams.Add(request.NewErrParamRequired("Type"))
  21716. }
  21717. if invalidParams.Len() > 0 {
  21718. return invalidParams
  21719. }
  21720. return nil
  21721. }
  21722. // SetBgpAsn sets the BgpAsn field's value.
  21723. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  21724. s.BgpAsn = &v
  21725. return s
  21726. }
  21727. // SetDryRun sets the DryRun field's value.
  21728. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  21729. s.DryRun = &v
  21730. return s
  21731. }
  21732. // SetPublicIp sets the PublicIp field's value.
  21733. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  21734. s.PublicIp = &v
  21735. return s
  21736. }
  21737. // SetType sets the Type field's value.
  21738. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  21739. s.Type = &v
  21740. return s
  21741. }
  21742. // Contains the output of CreateCustomerGateway.
  21743. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayResult
  21744. type CreateCustomerGatewayOutput struct {
  21745. _ struct{} `type:"structure"`
  21746. // Information about the customer gateway.
  21747. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  21748. }
  21749. // String returns the string representation
  21750. func (s CreateCustomerGatewayOutput) String() string {
  21751. return awsutil.Prettify(s)
  21752. }
  21753. // GoString returns the string representation
  21754. func (s CreateCustomerGatewayOutput) GoString() string {
  21755. return s.String()
  21756. }
  21757. // SetCustomerGateway sets the CustomerGateway field's value.
  21758. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  21759. s.CustomerGateway = v
  21760. return s
  21761. }
  21762. // Contains the parameters for CreateDefaultVpc.
  21763. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcRequest
  21764. type CreateDefaultVpcInput struct {
  21765. _ struct{} `type:"structure"`
  21766. // Checks whether you have the required permissions for the action, without
  21767. // actually making the request, and provides an error response. If you have
  21768. // the required permissions, the error response is DryRunOperation. Otherwise,
  21769. // it is UnauthorizedOperation.
  21770. DryRun *bool `type:"boolean"`
  21771. }
  21772. // String returns the string representation
  21773. func (s CreateDefaultVpcInput) String() string {
  21774. return awsutil.Prettify(s)
  21775. }
  21776. // GoString returns the string representation
  21777. func (s CreateDefaultVpcInput) GoString() string {
  21778. return s.String()
  21779. }
  21780. // SetDryRun sets the DryRun field's value.
  21781. func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
  21782. s.DryRun = &v
  21783. return s
  21784. }
  21785. // Contains the output of CreateDefaultVpc.
  21786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpcResult
  21787. type CreateDefaultVpcOutput struct {
  21788. _ struct{} `type:"structure"`
  21789. // Information about the VPC.
  21790. Vpc *Vpc `locationName:"vpc" type:"structure"`
  21791. }
  21792. // String returns the string representation
  21793. func (s CreateDefaultVpcOutput) String() string {
  21794. return awsutil.Prettify(s)
  21795. }
  21796. // GoString returns the string representation
  21797. func (s CreateDefaultVpcOutput) GoString() string {
  21798. return s.String()
  21799. }
  21800. // SetVpc sets the Vpc field's value.
  21801. func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
  21802. s.Vpc = v
  21803. return s
  21804. }
  21805. // Contains the parameters for CreateDhcpOptions.
  21806. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsRequest
  21807. type CreateDhcpOptionsInput struct {
  21808. _ struct{} `type:"structure"`
  21809. // A DHCP configuration option.
  21810. //
  21811. // DhcpConfigurations is a required field
  21812. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  21813. // Checks whether you have the required permissions for the action, without
  21814. // actually making the request, and provides an error response. If you have
  21815. // the required permissions, the error response is DryRunOperation. Otherwise,
  21816. // it is UnauthorizedOperation.
  21817. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21818. }
  21819. // String returns the string representation
  21820. func (s CreateDhcpOptionsInput) String() string {
  21821. return awsutil.Prettify(s)
  21822. }
  21823. // GoString returns the string representation
  21824. func (s CreateDhcpOptionsInput) GoString() string {
  21825. return s.String()
  21826. }
  21827. // Validate inspects the fields of the type to determine if they are valid.
  21828. func (s *CreateDhcpOptionsInput) Validate() error {
  21829. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  21830. if s.DhcpConfigurations == nil {
  21831. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  21832. }
  21833. if invalidParams.Len() > 0 {
  21834. return invalidParams
  21835. }
  21836. return nil
  21837. }
  21838. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  21839. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  21840. s.DhcpConfigurations = v
  21841. return s
  21842. }
  21843. // SetDryRun sets the DryRun field's value.
  21844. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  21845. s.DryRun = &v
  21846. return s
  21847. }
  21848. // Contains the output of CreateDhcpOptions.
  21849. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsResult
  21850. type CreateDhcpOptionsOutput struct {
  21851. _ struct{} `type:"structure"`
  21852. // A set of DHCP options.
  21853. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  21854. }
  21855. // String returns the string representation
  21856. func (s CreateDhcpOptionsOutput) String() string {
  21857. return awsutil.Prettify(s)
  21858. }
  21859. // GoString returns the string representation
  21860. func (s CreateDhcpOptionsOutput) GoString() string {
  21861. return s.String()
  21862. }
  21863. // SetDhcpOptions sets the DhcpOptions field's value.
  21864. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  21865. s.DhcpOptions = v
  21866. return s
  21867. }
  21868. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayRequest
  21869. type CreateEgressOnlyInternetGatewayInput struct {
  21870. _ struct{} `type:"structure"`
  21871. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21872. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21873. ClientToken *string `type:"string"`
  21874. // Checks whether you have the required permissions for the action, without
  21875. // actually making the request, and provides an error response. If you have
  21876. // the required permissions, the error response is DryRunOperation. Otherwise,
  21877. // it is UnauthorizedOperation.
  21878. DryRun *bool `type:"boolean"`
  21879. // The ID of the VPC for which to create the egress-only Internet gateway.
  21880. //
  21881. // VpcId is a required field
  21882. VpcId *string `type:"string" required:"true"`
  21883. }
  21884. // String returns the string representation
  21885. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  21886. return awsutil.Prettify(s)
  21887. }
  21888. // GoString returns the string representation
  21889. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  21890. return s.String()
  21891. }
  21892. // Validate inspects the fields of the type to determine if they are valid.
  21893. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  21894. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  21895. if s.VpcId == nil {
  21896. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21897. }
  21898. if invalidParams.Len() > 0 {
  21899. return invalidParams
  21900. }
  21901. return nil
  21902. }
  21903. // SetClientToken sets the ClientToken field's value.
  21904. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  21905. s.ClientToken = &v
  21906. return s
  21907. }
  21908. // SetDryRun sets the DryRun field's value.
  21909. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  21910. s.DryRun = &v
  21911. return s
  21912. }
  21913. // SetVpcId sets the VpcId field's value.
  21914. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  21915. s.VpcId = &v
  21916. return s
  21917. }
  21918. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayResult
  21919. type CreateEgressOnlyInternetGatewayOutput struct {
  21920. _ struct{} `type:"structure"`
  21921. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21922. // the request.
  21923. ClientToken *string `locationName:"clientToken" type:"string"`
  21924. // Information about the egress-only Internet gateway.
  21925. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  21926. }
  21927. // String returns the string representation
  21928. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  21929. return awsutil.Prettify(s)
  21930. }
  21931. // GoString returns the string representation
  21932. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  21933. return s.String()
  21934. }
  21935. // SetClientToken sets the ClientToken field's value.
  21936. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  21937. s.ClientToken = &v
  21938. return s
  21939. }
  21940. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  21941. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  21942. s.EgressOnlyInternetGateway = v
  21943. return s
  21944. }
  21945. // Contains the parameters for CreateFlowLogs.
  21946. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsRequest
  21947. type CreateFlowLogsInput struct {
  21948. _ struct{} `type:"structure"`
  21949. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21950. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21951. ClientToken *string `type:"string"`
  21952. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  21953. // log group.
  21954. //
  21955. // DeliverLogsPermissionArn is a required field
  21956. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  21957. // The name of the CloudWatch log group.
  21958. //
  21959. // LogGroupName is a required field
  21960. LogGroupName *string `type:"string" required:"true"`
  21961. // One or more subnet, network interface, or VPC IDs.
  21962. //
  21963. // Constraints: Maximum of 1000 resources
  21964. //
  21965. // ResourceIds is a required field
  21966. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  21967. // The type of resource on which to create the flow log.
  21968. //
  21969. // ResourceType is a required field
  21970. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  21971. // The type of traffic to log.
  21972. //
  21973. // TrafficType is a required field
  21974. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  21975. }
  21976. // String returns the string representation
  21977. func (s CreateFlowLogsInput) String() string {
  21978. return awsutil.Prettify(s)
  21979. }
  21980. // GoString returns the string representation
  21981. func (s CreateFlowLogsInput) GoString() string {
  21982. return s.String()
  21983. }
  21984. // Validate inspects the fields of the type to determine if they are valid.
  21985. func (s *CreateFlowLogsInput) Validate() error {
  21986. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  21987. if s.DeliverLogsPermissionArn == nil {
  21988. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  21989. }
  21990. if s.LogGroupName == nil {
  21991. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  21992. }
  21993. if s.ResourceIds == nil {
  21994. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  21995. }
  21996. if s.ResourceType == nil {
  21997. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  21998. }
  21999. if s.TrafficType == nil {
  22000. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  22001. }
  22002. if invalidParams.Len() > 0 {
  22003. return invalidParams
  22004. }
  22005. return nil
  22006. }
  22007. // SetClientToken sets the ClientToken field's value.
  22008. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  22009. s.ClientToken = &v
  22010. return s
  22011. }
  22012. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  22013. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  22014. s.DeliverLogsPermissionArn = &v
  22015. return s
  22016. }
  22017. // SetLogGroupName sets the LogGroupName field's value.
  22018. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  22019. s.LogGroupName = &v
  22020. return s
  22021. }
  22022. // SetResourceIds sets the ResourceIds field's value.
  22023. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  22024. s.ResourceIds = v
  22025. return s
  22026. }
  22027. // SetResourceType sets the ResourceType field's value.
  22028. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  22029. s.ResourceType = &v
  22030. return s
  22031. }
  22032. // SetTrafficType sets the TrafficType field's value.
  22033. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  22034. s.TrafficType = &v
  22035. return s
  22036. }
  22037. // Contains the output of CreateFlowLogs.
  22038. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsResult
  22039. type CreateFlowLogsOutput struct {
  22040. _ struct{} `type:"structure"`
  22041. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  22042. // the request.
  22043. ClientToken *string `locationName:"clientToken" type:"string"`
  22044. // The IDs of the flow logs.
  22045. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  22046. // Information about the flow logs that could not be created successfully.
  22047. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  22048. }
  22049. // String returns the string representation
  22050. func (s CreateFlowLogsOutput) String() string {
  22051. return awsutil.Prettify(s)
  22052. }
  22053. // GoString returns the string representation
  22054. func (s CreateFlowLogsOutput) GoString() string {
  22055. return s.String()
  22056. }
  22057. // SetClientToken sets the ClientToken field's value.
  22058. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  22059. s.ClientToken = &v
  22060. return s
  22061. }
  22062. // SetFlowLogIds sets the FlowLogIds field's value.
  22063. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  22064. s.FlowLogIds = v
  22065. return s
  22066. }
  22067. // SetUnsuccessful sets the Unsuccessful field's value.
  22068. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  22069. s.Unsuccessful = v
  22070. return s
  22071. }
  22072. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageRequest
  22073. type CreateFpgaImageInput struct {
  22074. _ struct{} `type:"structure"`
  22075. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  22076. // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  22077. ClientToken *string `type:"string"`
  22078. // A description for the AFI.
  22079. Description *string `type:"string"`
  22080. // Checks whether you have the required permissions for the action, without
  22081. // actually making the request, and provides an error response. If you have
  22082. // the required permissions, the error response is DryRunOperation. Otherwise,
  22083. // it is UnauthorizedOperation.
  22084. DryRun *bool `type:"boolean"`
  22085. // The location of the encrypted design checkpoint in Amazon S3. The input must
  22086. // be a tarball.
  22087. //
  22088. // InputStorageLocation is a required field
  22089. InputStorageLocation *StorageLocation `type:"structure" required:"true"`
  22090. // The location in Amazon S3 for the output logs.
  22091. LogsStorageLocation *StorageLocation `type:"structure"`
  22092. // A name for the AFI.
  22093. Name *string `type:"string"`
  22094. }
  22095. // String returns the string representation
  22096. func (s CreateFpgaImageInput) String() string {
  22097. return awsutil.Prettify(s)
  22098. }
  22099. // GoString returns the string representation
  22100. func (s CreateFpgaImageInput) GoString() string {
  22101. return s.String()
  22102. }
  22103. // Validate inspects the fields of the type to determine if they are valid.
  22104. func (s *CreateFpgaImageInput) Validate() error {
  22105. invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
  22106. if s.InputStorageLocation == nil {
  22107. invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
  22108. }
  22109. if invalidParams.Len() > 0 {
  22110. return invalidParams
  22111. }
  22112. return nil
  22113. }
  22114. // SetClientToken sets the ClientToken field's value.
  22115. func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
  22116. s.ClientToken = &v
  22117. return s
  22118. }
  22119. // SetDescription sets the Description field's value.
  22120. func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
  22121. s.Description = &v
  22122. return s
  22123. }
  22124. // SetDryRun sets the DryRun field's value.
  22125. func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
  22126. s.DryRun = &v
  22127. return s
  22128. }
  22129. // SetInputStorageLocation sets the InputStorageLocation field's value.
  22130. func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  22131. s.InputStorageLocation = v
  22132. return s
  22133. }
  22134. // SetLogsStorageLocation sets the LogsStorageLocation field's value.
  22135. func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  22136. s.LogsStorageLocation = v
  22137. return s
  22138. }
  22139. // SetName sets the Name field's value.
  22140. func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
  22141. s.Name = &v
  22142. return s
  22143. }
  22144. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageResult
  22145. type CreateFpgaImageOutput struct {
  22146. _ struct{} `type:"structure"`
  22147. // The global FPGA image identifier (AGFI ID).
  22148. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  22149. // The FPGA image identifier (AFI ID).
  22150. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  22151. }
  22152. // String returns the string representation
  22153. func (s CreateFpgaImageOutput) String() string {
  22154. return awsutil.Prettify(s)
  22155. }
  22156. // GoString returns the string representation
  22157. func (s CreateFpgaImageOutput) GoString() string {
  22158. return s.String()
  22159. }
  22160. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  22161. func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
  22162. s.FpgaImageGlobalId = &v
  22163. return s
  22164. }
  22165. // SetFpgaImageId sets the FpgaImageId field's value.
  22166. func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
  22167. s.FpgaImageId = &v
  22168. return s
  22169. }
  22170. // Contains the parameters for CreateImage.
  22171. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageRequest
  22172. type CreateImageInput struct {
  22173. _ struct{} `type:"structure"`
  22174. // Information about one or more block device mappings.
  22175. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  22176. // A description for the new image.
  22177. Description *string `locationName:"description" type:"string"`
  22178. // Checks whether you have the required permissions for the action, without
  22179. // actually making the request, and provides an error response. If you have
  22180. // the required permissions, the error response is DryRunOperation. Otherwise,
  22181. // it is UnauthorizedOperation.
  22182. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22183. // The ID of the instance.
  22184. //
  22185. // InstanceId is a required field
  22186. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  22187. // A name for the new image.
  22188. //
  22189. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  22190. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  22191. // at-signs (@), or underscores(_)
  22192. //
  22193. // Name is a required field
  22194. Name *string `locationName:"name" type:"string" required:"true"`
  22195. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  22196. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  22197. // shut down the instance before creating the image. When this option is used,
  22198. // file system integrity on the created image can't be guaranteed.
  22199. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  22200. }
  22201. // String returns the string representation
  22202. func (s CreateImageInput) String() string {
  22203. return awsutil.Prettify(s)
  22204. }
  22205. // GoString returns the string representation
  22206. func (s CreateImageInput) GoString() string {
  22207. return s.String()
  22208. }
  22209. // Validate inspects the fields of the type to determine if they are valid.
  22210. func (s *CreateImageInput) Validate() error {
  22211. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  22212. if s.InstanceId == nil {
  22213. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22214. }
  22215. if s.Name == nil {
  22216. invalidParams.Add(request.NewErrParamRequired("Name"))
  22217. }
  22218. if invalidParams.Len() > 0 {
  22219. return invalidParams
  22220. }
  22221. return nil
  22222. }
  22223. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  22224. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  22225. s.BlockDeviceMappings = v
  22226. return s
  22227. }
  22228. // SetDescription sets the Description field's value.
  22229. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  22230. s.Description = &v
  22231. return s
  22232. }
  22233. // SetDryRun sets the DryRun field's value.
  22234. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  22235. s.DryRun = &v
  22236. return s
  22237. }
  22238. // SetInstanceId sets the InstanceId field's value.
  22239. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  22240. s.InstanceId = &v
  22241. return s
  22242. }
  22243. // SetName sets the Name field's value.
  22244. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  22245. s.Name = &v
  22246. return s
  22247. }
  22248. // SetNoReboot sets the NoReboot field's value.
  22249. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  22250. s.NoReboot = &v
  22251. return s
  22252. }
  22253. // Contains the output of CreateImage.
  22254. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageResult
  22255. type CreateImageOutput struct {
  22256. _ struct{} `type:"structure"`
  22257. // The ID of the new AMI.
  22258. ImageId *string `locationName:"imageId" type:"string"`
  22259. }
  22260. // String returns the string representation
  22261. func (s CreateImageOutput) String() string {
  22262. return awsutil.Prettify(s)
  22263. }
  22264. // GoString returns the string representation
  22265. func (s CreateImageOutput) GoString() string {
  22266. return s.String()
  22267. }
  22268. // SetImageId sets the ImageId field's value.
  22269. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  22270. s.ImageId = &v
  22271. return s
  22272. }
  22273. // Contains the parameters for CreateInstanceExportTask.
  22274. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskRequest
  22275. type CreateInstanceExportTaskInput struct {
  22276. _ struct{} `type:"structure"`
  22277. // A description for the conversion task or the resource being exported. The
  22278. // maximum length is 255 bytes.
  22279. Description *string `locationName:"description" type:"string"`
  22280. // The format and location for an instance export task.
  22281. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  22282. // The ID of the instance.
  22283. //
  22284. // InstanceId is a required field
  22285. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  22286. // The target virtualization environment.
  22287. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  22288. }
  22289. // String returns the string representation
  22290. func (s CreateInstanceExportTaskInput) String() string {
  22291. return awsutil.Prettify(s)
  22292. }
  22293. // GoString returns the string representation
  22294. func (s CreateInstanceExportTaskInput) GoString() string {
  22295. return s.String()
  22296. }
  22297. // Validate inspects the fields of the type to determine if they are valid.
  22298. func (s *CreateInstanceExportTaskInput) Validate() error {
  22299. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  22300. if s.InstanceId == nil {
  22301. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  22302. }
  22303. if invalidParams.Len() > 0 {
  22304. return invalidParams
  22305. }
  22306. return nil
  22307. }
  22308. // SetDescription sets the Description field's value.
  22309. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  22310. s.Description = &v
  22311. return s
  22312. }
  22313. // SetExportToS3Task sets the ExportToS3Task field's value.
  22314. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  22315. s.ExportToS3Task = v
  22316. return s
  22317. }
  22318. // SetInstanceId sets the InstanceId field's value.
  22319. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  22320. s.InstanceId = &v
  22321. return s
  22322. }
  22323. // SetTargetEnvironment sets the TargetEnvironment field's value.
  22324. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  22325. s.TargetEnvironment = &v
  22326. return s
  22327. }
  22328. // Contains the output for CreateInstanceExportTask.
  22329. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskResult
  22330. type CreateInstanceExportTaskOutput struct {
  22331. _ struct{} `type:"structure"`
  22332. // Information about the instance export task.
  22333. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  22334. }
  22335. // String returns the string representation
  22336. func (s CreateInstanceExportTaskOutput) String() string {
  22337. return awsutil.Prettify(s)
  22338. }
  22339. // GoString returns the string representation
  22340. func (s CreateInstanceExportTaskOutput) GoString() string {
  22341. return s.String()
  22342. }
  22343. // SetExportTask sets the ExportTask field's value.
  22344. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  22345. s.ExportTask = v
  22346. return s
  22347. }
  22348. // Contains the parameters for CreateInternetGateway.
  22349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayRequest
  22350. type CreateInternetGatewayInput struct {
  22351. _ struct{} `type:"structure"`
  22352. // Checks whether you have the required permissions for the action, without
  22353. // actually making the request, and provides an error response. If you have
  22354. // the required permissions, the error response is DryRunOperation. Otherwise,
  22355. // it is UnauthorizedOperation.
  22356. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22357. }
  22358. // String returns the string representation
  22359. func (s CreateInternetGatewayInput) String() string {
  22360. return awsutil.Prettify(s)
  22361. }
  22362. // GoString returns the string representation
  22363. func (s CreateInternetGatewayInput) GoString() string {
  22364. return s.String()
  22365. }
  22366. // SetDryRun sets the DryRun field's value.
  22367. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  22368. s.DryRun = &v
  22369. return s
  22370. }
  22371. // Contains the output of CreateInternetGateway.
  22372. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayResult
  22373. type CreateInternetGatewayOutput struct {
  22374. _ struct{} `type:"structure"`
  22375. // Information about the Internet gateway.
  22376. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  22377. }
  22378. // String returns the string representation
  22379. func (s CreateInternetGatewayOutput) String() string {
  22380. return awsutil.Prettify(s)
  22381. }
  22382. // GoString returns the string representation
  22383. func (s CreateInternetGatewayOutput) GoString() string {
  22384. return s.String()
  22385. }
  22386. // SetInternetGateway sets the InternetGateway field's value.
  22387. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  22388. s.InternetGateway = v
  22389. return s
  22390. }
  22391. // Contains the parameters for CreateKeyPair.
  22392. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPairRequest
  22393. type CreateKeyPairInput struct {
  22394. _ struct{} `type:"structure"`
  22395. // Checks whether you have the required permissions for the action, without
  22396. // actually making the request, and provides an error response. If you have
  22397. // the required permissions, the error response is DryRunOperation. Otherwise,
  22398. // it is UnauthorizedOperation.
  22399. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22400. // A unique name for the key pair.
  22401. //
  22402. // Constraints: Up to 255 ASCII characters
  22403. //
  22404. // KeyName is a required field
  22405. KeyName *string `type:"string" required:"true"`
  22406. }
  22407. // String returns the string representation
  22408. func (s CreateKeyPairInput) String() string {
  22409. return awsutil.Prettify(s)
  22410. }
  22411. // GoString returns the string representation
  22412. func (s CreateKeyPairInput) GoString() string {
  22413. return s.String()
  22414. }
  22415. // Validate inspects the fields of the type to determine if they are valid.
  22416. func (s *CreateKeyPairInput) Validate() error {
  22417. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  22418. if s.KeyName == nil {
  22419. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  22420. }
  22421. if invalidParams.Len() > 0 {
  22422. return invalidParams
  22423. }
  22424. return nil
  22425. }
  22426. // SetDryRun sets the DryRun field's value.
  22427. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  22428. s.DryRun = &v
  22429. return s
  22430. }
  22431. // SetKeyName sets the KeyName field's value.
  22432. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  22433. s.KeyName = &v
  22434. return s
  22435. }
  22436. // Describes a key pair.
  22437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPair
  22438. type CreateKeyPairOutput struct {
  22439. _ struct{} `type:"structure"`
  22440. // The SHA-1 digest of the DER encoded private key.
  22441. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  22442. // An unencrypted PEM encoded RSA private key.
  22443. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  22444. // The name of the key pair.
  22445. KeyName *string `locationName:"keyName" type:"string"`
  22446. }
  22447. // String returns the string representation
  22448. func (s CreateKeyPairOutput) String() string {
  22449. return awsutil.Prettify(s)
  22450. }
  22451. // GoString returns the string representation
  22452. func (s CreateKeyPairOutput) GoString() string {
  22453. return s.String()
  22454. }
  22455. // SetKeyFingerprint sets the KeyFingerprint field's value.
  22456. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  22457. s.KeyFingerprint = &v
  22458. return s
  22459. }
  22460. // SetKeyMaterial sets the KeyMaterial field's value.
  22461. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  22462. s.KeyMaterial = &v
  22463. return s
  22464. }
  22465. // SetKeyName sets the KeyName field's value.
  22466. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  22467. s.KeyName = &v
  22468. return s
  22469. }
  22470. // Contains the parameters for CreateNatGateway.
  22471. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest
  22472. type CreateNatGatewayInput struct {
  22473. _ struct{} `type:"structure"`
  22474. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  22475. // If the Elastic IP address is associated with another resource, you must first
  22476. // disassociate it.
  22477. //
  22478. // AllocationId is a required field
  22479. AllocationId *string `type:"string" required:"true"`
  22480. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  22481. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  22482. //
  22483. // Constraint: Maximum 64 ASCII characters.
  22484. ClientToken *string `type:"string"`
  22485. // The subnet in which to create the NAT gateway.
  22486. //
  22487. // SubnetId is a required field
  22488. SubnetId *string `type:"string" required:"true"`
  22489. }
  22490. // String returns the string representation
  22491. func (s CreateNatGatewayInput) String() string {
  22492. return awsutil.Prettify(s)
  22493. }
  22494. // GoString returns the string representation
  22495. func (s CreateNatGatewayInput) GoString() string {
  22496. return s.String()
  22497. }
  22498. // Validate inspects the fields of the type to determine if they are valid.
  22499. func (s *CreateNatGatewayInput) Validate() error {
  22500. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  22501. if s.AllocationId == nil {
  22502. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  22503. }
  22504. if s.SubnetId == nil {
  22505. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22506. }
  22507. if invalidParams.Len() > 0 {
  22508. return invalidParams
  22509. }
  22510. return nil
  22511. }
  22512. // SetAllocationId sets the AllocationId field's value.
  22513. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  22514. s.AllocationId = &v
  22515. return s
  22516. }
  22517. // SetClientToken sets the ClientToken field's value.
  22518. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  22519. s.ClientToken = &v
  22520. return s
  22521. }
  22522. // SetSubnetId sets the SubnetId field's value.
  22523. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  22524. s.SubnetId = &v
  22525. return s
  22526. }
  22527. // Contains the output of CreateNatGateway.
  22528. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayResult
  22529. type CreateNatGatewayOutput struct {
  22530. _ struct{} `type:"structure"`
  22531. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  22532. // Only returned if a client token was provided in the request.
  22533. ClientToken *string `locationName:"clientToken" type:"string"`
  22534. // Information about the NAT gateway.
  22535. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  22536. }
  22537. // String returns the string representation
  22538. func (s CreateNatGatewayOutput) String() string {
  22539. return awsutil.Prettify(s)
  22540. }
  22541. // GoString returns the string representation
  22542. func (s CreateNatGatewayOutput) GoString() string {
  22543. return s.String()
  22544. }
  22545. // SetClientToken sets the ClientToken field's value.
  22546. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  22547. s.ClientToken = &v
  22548. return s
  22549. }
  22550. // SetNatGateway sets the NatGateway field's value.
  22551. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  22552. s.NatGateway = v
  22553. return s
  22554. }
  22555. // Contains the parameters for CreateNetworkAclEntry.
  22556. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryRequest
  22557. type CreateNetworkAclEntryInput struct {
  22558. _ struct{} `type:"structure"`
  22559. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  22560. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  22561. // Checks whether you have the required permissions for the action, without
  22562. // actually making the request, and provides an error response. If you have
  22563. // the required permissions, the error response is DryRunOperation. Otherwise,
  22564. // it is UnauthorizedOperation.
  22565. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22566. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  22567. // the subnet).
  22568. //
  22569. // Egress is a required field
  22570. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  22571. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  22572. // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  22573. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  22574. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  22575. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  22576. // The ID of the network ACL.
  22577. //
  22578. // NetworkAclId is a required field
  22579. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  22580. // TCP or UDP protocols: The range of ports the rule applies to.
  22581. PortRange *PortRange `locationName:"portRange" type:"structure"`
  22582. // The protocol. A value of -1 or all means all protocols. If you specify all,
  22583. // -1, or a protocol number other than tcp, udp, or icmp, traffic on all ports
  22584. // is allowed, regardless of any ports or ICMP types or codes you specify. If
  22585. // you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic
  22586. // for all ICMP types and codes allowed, regardless of any that you specify.
  22587. // If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must
  22588. // specify an ICMP type and code.
  22589. //
  22590. // Protocol is a required field
  22591. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  22592. // Indicates whether to allow or deny the traffic that matches the rule.
  22593. //
  22594. // RuleAction is a required field
  22595. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  22596. // The rule number for the entry (for example, 100). ACL entries are processed
  22597. // in ascending order by rule number.
  22598. //
  22599. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  22600. // reserved for internal use.
  22601. //
  22602. // RuleNumber is a required field
  22603. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  22604. }
  22605. // String returns the string representation
  22606. func (s CreateNetworkAclEntryInput) String() string {
  22607. return awsutil.Prettify(s)
  22608. }
  22609. // GoString returns the string representation
  22610. func (s CreateNetworkAclEntryInput) GoString() string {
  22611. return s.String()
  22612. }
  22613. // Validate inspects the fields of the type to determine if they are valid.
  22614. func (s *CreateNetworkAclEntryInput) Validate() error {
  22615. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  22616. if s.Egress == nil {
  22617. invalidParams.Add(request.NewErrParamRequired("Egress"))
  22618. }
  22619. if s.NetworkAclId == nil {
  22620. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  22621. }
  22622. if s.Protocol == nil {
  22623. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  22624. }
  22625. if s.RuleAction == nil {
  22626. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  22627. }
  22628. if s.RuleNumber == nil {
  22629. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  22630. }
  22631. if invalidParams.Len() > 0 {
  22632. return invalidParams
  22633. }
  22634. return nil
  22635. }
  22636. // SetCidrBlock sets the CidrBlock field's value.
  22637. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  22638. s.CidrBlock = &v
  22639. return s
  22640. }
  22641. // SetDryRun sets the DryRun field's value.
  22642. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  22643. s.DryRun = &v
  22644. return s
  22645. }
  22646. // SetEgress sets the Egress field's value.
  22647. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  22648. s.Egress = &v
  22649. return s
  22650. }
  22651. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  22652. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  22653. s.IcmpTypeCode = v
  22654. return s
  22655. }
  22656. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  22657. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  22658. s.Ipv6CidrBlock = &v
  22659. return s
  22660. }
  22661. // SetNetworkAclId sets the NetworkAclId field's value.
  22662. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  22663. s.NetworkAclId = &v
  22664. return s
  22665. }
  22666. // SetPortRange sets the PortRange field's value.
  22667. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  22668. s.PortRange = v
  22669. return s
  22670. }
  22671. // SetProtocol sets the Protocol field's value.
  22672. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  22673. s.Protocol = &v
  22674. return s
  22675. }
  22676. // SetRuleAction sets the RuleAction field's value.
  22677. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  22678. s.RuleAction = &v
  22679. return s
  22680. }
  22681. // SetRuleNumber sets the RuleNumber field's value.
  22682. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  22683. s.RuleNumber = &v
  22684. return s
  22685. }
  22686. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryOutput
  22687. type CreateNetworkAclEntryOutput struct {
  22688. _ struct{} `type:"structure"`
  22689. }
  22690. // String returns the string representation
  22691. func (s CreateNetworkAclEntryOutput) String() string {
  22692. return awsutil.Prettify(s)
  22693. }
  22694. // GoString returns the string representation
  22695. func (s CreateNetworkAclEntryOutput) GoString() string {
  22696. return s.String()
  22697. }
  22698. // Contains the parameters for CreateNetworkAcl.
  22699. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclRequest
  22700. type CreateNetworkAclInput struct {
  22701. _ struct{} `type:"structure"`
  22702. // Checks whether you have the required permissions for the action, without
  22703. // actually making the request, and provides an error response. If you have
  22704. // the required permissions, the error response is DryRunOperation. Otherwise,
  22705. // it is UnauthorizedOperation.
  22706. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22707. // The ID of the VPC.
  22708. //
  22709. // VpcId is a required field
  22710. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22711. }
  22712. // String returns the string representation
  22713. func (s CreateNetworkAclInput) String() string {
  22714. return awsutil.Prettify(s)
  22715. }
  22716. // GoString returns the string representation
  22717. func (s CreateNetworkAclInput) GoString() string {
  22718. return s.String()
  22719. }
  22720. // Validate inspects the fields of the type to determine if they are valid.
  22721. func (s *CreateNetworkAclInput) Validate() error {
  22722. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  22723. if s.VpcId == nil {
  22724. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22725. }
  22726. if invalidParams.Len() > 0 {
  22727. return invalidParams
  22728. }
  22729. return nil
  22730. }
  22731. // SetDryRun sets the DryRun field's value.
  22732. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  22733. s.DryRun = &v
  22734. return s
  22735. }
  22736. // SetVpcId sets the VpcId field's value.
  22737. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  22738. s.VpcId = &v
  22739. return s
  22740. }
  22741. // Contains the output of CreateNetworkAcl.
  22742. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclResult
  22743. type CreateNetworkAclOutput struct {
  22744. _ struct{} `type:"structure"`
  22745. // Information about the network ACL.
  22746. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  22747. }
  22748. // String returns the string representation
  22749. func (s CreateNetworkAclOutput) String() string {
  22750. return awsutil.Prettify(s)
  22751. }
  22752. // GoString returns the string representation
  22753. func (s CreateNetworkAclOutput) GoString() string {
  22754. return s.String()
  22755. }
  22756. // SetNetworkAcl sets the NetworkAcl field's value.
  22757. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  22758. s.NetworkAcl = v
  22759. return s
  22760. }
  22761. // Contains the parameters for CreateNetworkInterface.
  22762. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceRequest
  22763. type CreateNetworkInterfaceInput struct {
  22764. _ struct{} `type:"structure"`
  22765. // A description for the network interface.
  22766. Description *string `locationName:"description" type:"string"`
  22767. // Checks whether you have the required permissions for the action, without
  22768. // actually making the request, and provides an error response. If you have
  22769. // the required permissions, the error response is DryRunOperation. Otherwise,
  22770. // it is UnauthorizedOperation.
  22771. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22772. // The IDs of one or more security groups.
  22773. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  22774. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  22775. // automatically selects the IPv6 addresses from the subnet range. You can't
  22776. // use this option if specifying specific IPv6 addresses. If your subnet has
  22777. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  22778. // to override this setting.
  22779. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  22780. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  22781. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  22782. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  22783. // The primary private IPv4 address of the network interface. If you don't specify
  22784. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  22785. // range. If you specify an IP address, you cannot indicate any IP addresses
  22786. // specified in privateIpAddresses as primary (only one IP address can be designated
  22787. // as primary).
  22788. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  22789. // One or more private IPv4 addresses.
  22790. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  22791. // The number of secondary private IPv4 addresses to assign to a network interface.
  22792. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  22793. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  22794. // this option and specify more than one private IP address using privateIpAddresses.
  22795. //
  22796. // The number of IP addresses you can assign to a network interface varies by
  22797. // instance type. For more information, see IP Addresses Per ENI Per Instance
  22798. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  22799. // in the Amazon Virtual Private Cloud User Guide.
  22800. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  22801. // The ID of the subnet to associate with the network interface.
  22802. //
  22803. // SubnetId is a required field
  22804. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  22805. }
  22806. // String returns the string representation
  22807. func (s CreateNetworkInterfaceInput) String() string {
  22808. return awsutil.Prettify(s)
  22809. }
  22810. // GoString returns the string representation
  22811. func (s CreateNetworkInterfaceInput) GoString() string {
  22812. return s.String()
  22813. }
  22814. // Validate inspects the fields of the type to determine if they are valid.
  22815. func (s *CreateNetworkInterfaceInput) Validate() error {
  22816. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  22817. if s.SubnetId == nil {
  22818. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22819. }
  22820. if s.PrivateIpAddresses != nil {
  22821. for i, v := range s.PrivateIpAddresses {
  22822. if v == nil {
  22823. continue
  22824. }
  22825. if err := v.Validate(); err != nil {
  22826. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  22827. }
  22828. }
  22829. }
  22830. if invalidParams.Len() > 0 {
  22831. return invalidParams
  22832. }
  22833. return nil
  22834. }
  22835. // SetDescription sets the Description field's value.
  22836. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  22837. s.Description = &v
  22838. return s
  22839. }
  22840. // SetDryRun sets the DryRun field's value.
  22841. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  22842. s.DryRun = &v
  22843. return s
  22844. }
  22845. // SetGroups sets the Groups field's value.
  22846. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  22847. s.Groups = v
  22848. return s
  22849. }
  22850. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  22851. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  22852. s.Ipv6AddressCount = &v
  22853. return s
  22854. }
  22855. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  22856. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  22857. s.Ipv6Addresses = v
  22858. return s
  22859. }
  22860. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  22861. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  22862. s.PrivateIpAddress = &v
  22863. return s
  22864. }
  22865. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  22866. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  22867. s.PrivateIpAddresses = v
  22868. return s
  22869. }
  22870. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  22871. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  22872. s.SecondaryPrivateIpAddressCount = &v
  22873. return s
  22874. }
  22875. // SetSubnetId sets the SubnetId field's value.
  22876. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  22877. s.SubnetId = &v
  22878. return s
  22879. }
  22880. // Contains the output of CreateNetworkInterface.
  22881. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceResult
  22882. type CreateNetworkInterfaceOutput struct {
  22883. _ struct{} `type:"structure"`
  22884. // Information about the network interface.
  22885. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  22886. }
  22887. // String returns the string representation
  22888. func (s CreateNetworkInterfaceOutput) String() string {
  22889. return awsutil.Prettify(s)
  22890. }
  22891. // GoString returns the string representation
  22892. func (s CreateNetworkInterfaceOutput) GoString() string {
  22893. return s.String()
  22894. }
  22895. // SetNetworkInterface sets the NetworkInterface field's value.
  22896. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  22897. s.NetworkInterface = v
  22898. return s
  22899. }
  22900. // Contains the parameters for CreateNetworkInterfacePermission.
  22901. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionRequest
  22902. type CreateNetworkInterfacePermissionInput struct {
  22903. _ struct{} `type:"structure"`
  22904. // The AWS account ID.
  22905. AwsAccountId *string `type:"string"`
  22906. // The AWS service. Currently not supported.
  22907. AwsService *string `type:"string"`
  22908. // Checks whether you have the required permissions for the action, without
  22909. // actually making the request, and provides an error response. If you have
  22910. // the required permissions, the error response is DryRunOperation. Otherwise,
  22911. // it is UnauthorizedOperation.
  22912. DryRun *bool `type:"boolean"`
  22913. // The ID of the network interface.
  22914. //
  22915. // NetworkInterfaceId is a required field
  22916. NetworkInterfaceId *string `type:"string" required:"true"`
  22917. // The type of permission to grant.
  22918. //
  22919. // Permission is a required field
  22920. Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
  22921. }
  22922. // String returns the string representation
  22923. func (s CreateNetworkInterfacePermissionInput) String() string {
  22924. return awsutil.Prettify(s)
  22925. }
  22926. // GoString returns the string representation
  22927. func (s CreateNetworkInterfacePermissionInput) GoString() string {
  22928. return s.String()
  22929. }
  22930. // Validate inspects the fields of the type to determine if they are valid.
  22931. func (s *CreateNetworkInterfacePermissionInput) Validate() error {
  22932. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
  22933. if s.NetworkInterfaceId == nil {
  22934. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  22935. }
  22936. if s.Permission == nil {
  22937. invalidParams.Add(request.NewErrParamRequired("Permission"))
  22938. }
  22939. if invalidParams.Len() > 0 {
  22940. return invalidParams
  22941. }
  22942. return nil
  22943. }
  22944. // SetAwsAccountId sets the AwsAccountId field's value.
  22945. func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
  22946. s.AwsAccountId = &v
  22947. return s
  22948. }
  22949. // SetAwsService sets the AwsService field's value.
  22950. func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
  22951. s.AwsService = &v
  22952. return s
  22953. }
  22954. // SetDryRun sets the DryRun field's value.
  22955. func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
  22956. s.DryRun = &v
  22957. return s
  22958. }
  22959. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22960. func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
  22961. s.NetworkInterfaceId = &v
  22962. return s
  22963. }
  22964. // SetPermission sets the Permission field's value.
  22965. func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
  22966. s.Permission = &v
  22967. return s
  22968. }
  22969. // Contains the output of CreateNetworkInterfacePermission.
  22970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionResult
  22971. type CreateNetworkInterfacePermissionOutput struct {
  22972. _ struct{} `type:"structure"`
  22973. // Information about the permission for the network interface.
  22974. InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
  22975. }
  22976. // String returns the string representation
  22977. func (s CreateNetworkInterfacePermissionOutput) String() string {
  22978. return awsutil.Prettify(s)
  22979. }
  22980. // GoString returns the string representation
  22981. func (s CreateNetworkInterfacePermissionOutput) GoString() string {
  22982. return s.String()
  22983. }
  22984. // SetInterfacePermission sets the InterfacePermission field's value.
  22985. func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
  22986. s.InterfacePermission = v
  22987. return s
  22988. }
  22989. // Contains the parameters for CreatePlacementGroup.
  22990. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupRequest
  22991. type CreatePlacementGroupInput struct {
  22992. _ struct{} `type:"structure"`
  22993. // Checks whether you have the required permissions for the action, without
  22994. // actually making the request, and provides an error response. If you have
  22995. // the required permissions, the error response is DryRunOperation. Otherwise,
  22996. // it is UnauthorizedOperation.
  22997. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22998. // A name for the placement group.
  22999. //
  23000. // Constraints: Up to 255 ASCII characters
  23001. //
  23002. // GroupName is a required field
  23003. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  23004. // The placement strategy.
  23005. //
  23006. // Strategy is a required field
  23007. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  23008. }
  23009. // String returns the string representation
  23010. func (s CreatePlacementGroupInput) String() string {
  23011. return awsutil.Prettify(s)
  23012. }
  23013. // GoString returns the string representation
  23014. func (s CreatePlacementGroupInput) GoString() string {
  23015. return s.String()
  23016. }
  23017. // Validate inspects the fields of the type to determine if they are valid.
  23018. func (s *CreatePlacementGroupInput) Validate() error {
  23019. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  23020. if s.GroupName == nil {
  23021. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  23022. }
  23023. if s.Strategy == nil {
  23024. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  23025. }
  23026. if invalidParams.Len() > 0 {
  23027. return invalidParams
  23028. }
  23029. return nil
  23030. }
  23031. // SetDryRun sets the DryRun field's value.
  23032. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  23033. s.DryRun = &v
  23034. return s
  23035. }
  23036. // SetGroupName sets the GroupName field's value.
  23037. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  23038. s.GroupName = &v
  23039. return s
  23040. }
  23041. // SetStrategy sets the Strategy field's value.
  23042. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  23043. s.Strategy = &v
  23044. return s
  23045. }
  23046. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupOutput
  23047. type CreatePlacementGroupOutput struct {
  23048. _ struct{} `type:"structure"`
  23049. }
  23050. // String returns the string representation
  23051. func (s CreatePlacementGroupOutput) String() string {
  23052. return awsutil.Prettify(s)
  23053. }
  23054. // GoString returns the string representation
  23055. func (s CreatePlacementGroupOutput) GoString() string {
  23056. return s.String()
  23057. }
  23058. // Contains the parameters for CreateReservedInstancesListing.
  23059. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingRequest
  23060. type CreateReservedInstancesListingInput struct {
  23061. _ struct{} `type:"structure"`
  23062. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  23063. // listings. This helps avoid duplicate listings. For more information, see
  23064. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  23065. //
  23066. // ClientToken is a required field
  23067. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  23068. // The number of instances that are a part of a Reserved Instance account to
  23069. // be listed in the Reserved Instance Marketplace. This number should be less
  23070. // than or equal to the instance count associated with the Reserved Instance
  23071. // ID specified in this call.
  23072. //
  23073. // InstanceCount is a required field
  23074. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  23075. // A list specifying the price of the Standard Reserved Instance for each month
  23076. // remaining in the Reserved Instance term.
  23077. //
  23078. // PriceSchedules is a required field
  23079. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  23080. // The ID of the active Standard Reserved Instance.
  23081. //
  23082. // ReservedInstancesId is a required field
  23083. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  23084. }
  23085. // String returns the string representation
  23086. func (s CreateReservedInstancesListingInput) String() string {
  23087. return awsutil.Prettify(s)
  23088. }
  23089. // GoString returns the string representation
  23090. func (s CreateReservedInstancesListingInput) GoString() string {
  23091. return s.String()
  23092. }
  23093. // Validate inspects the fields of the type to determine if they are valid.
  23094. func (s *CreateReservedInstancesListingInput) Validate() error {
  23095. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  23096. if s.ClientToken == nil {
  23097. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  23098. }
  23099. if s.InstanceCount == nil {
  23100. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  23101. }
  23102. if s.PriceSchedules == nil {
  23103. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  23104. }
  23105. if s.ReservedInstancesId == nil {
  23106. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  23107. }
  23108. if invalidParams.Len() > 0 {
  23109. return invalidParams
  23110. }
  23111. return nil
  23112. }
  23113. // SetClientToken sets the ClientToken field's value.
  23114. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  23115. s.ClientToken = &v
  23116. return s
  23117. }
  23118. // SetInstanceCount sets the InstanceCount field's value.
  23119. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  23120. s.InstanceCount = &v
  23121. return s
  23122. }
  23123. // SetPriceSchedules sets the PriceSchedules field's value.
  23124. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  23125. s.PriceSchedules = v
  23126. return s
  23127. }
  23128. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  23129. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  23130. s.ReservedInstancesId = &v
  23131. return s
  23132. }
  23133. // Contains the output of CreateReservedInstancesListing.
  23134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingResult
  23135. type CreateReservedInstancesListingOutput struct {
  23136. _ struct{} `type:"structure"`
  23137. // Information about the Standard Reserved Instance listing.
  23138. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  23139. }
  23140. // String returns the string representation
  23141. func (s CreateReservedInstancesListingOutput) String() string {
  23142. return awsutil.Prettify(s)
  23143. }
  23144. // GoString returns the string representation
  23145. func (s CreateReservedInstancesListingOutput) GoString() string {
  23146. return s.String()
  23147. }
  23148. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  23149. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  23150. s.ReservedInstancesListings = v
  23151. return s
  23152. }
  23153. // Contains the parameters for CreateRoute.
  23154. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteRequest
  23155. type CreateRouteInput struct {
  23156. _ struct{} `type:"structure"`
  23157. // The IPv4 CIDR address block used for the destination match. Routing decisions
  23158. // are based on the most specific match.
  23159. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  23160. // The IPv6 CIDR block used for the destination match. Routing decisions are
  23161. // based on the most specific match.
  23162. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  23163. // Checks whether you have the required permissions for the action, without
  23164. // actually making the request, and provides an error response. If you have
  23165. // the required permissions, the error response is DryRunOperation. Otherwise,
  23166. // it is UnauthorizedOperation.
  23167. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23168. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  23169. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  23170. // The ID of an Internet gateway or virtual private gateway attached to your
  23171. // VPC.
  23172. GatewayId *string `locationName:"gatewayId" type:"string"`
  23173. // The ID of a NAT instance in your VPC. The operation fails if you specify
  23174. // an instance ID unless exactly one network interface is attached.
  23175. InstanceId *string `locationName:"instanceId" type:"string"`
  23176. // [IPv4 traffic only] The ID of a NAT gateway.
  23177. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  23178. // The ID of a network interface.
  23179. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  23180. // The ID of the route table for the route.
  23181. //
  23182. // RouteTableId is a required field
  23183. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  23184. // The ID of a VPC peering connection.
  23185. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  23186. }
  23187. // String returns the string representation
  23188. func (s CreateRouteInput) String() string {
  23189. return awsutil.Prettify(s)
  23190. }
  23191. // GoString returns the string representation
  23192. func (s CreateRouteInput) GoString() string {
  23193. return s.String()
  23194. }
  23195. // Validate inspects the fields of the type to determine if they are valid.
  23196. func (s *CreateRouteInput) Validate() error {
  23197. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  23198. if s.RouteTableId == nil {
  23199. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  23200. }
  23201. if invalidParams.Len() > 0 {
  23202. return invalidParams
  23203. }
  23204. return nil
  23205. }
  23206. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  23207. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  23208. s.DestinationCidrBlock = &v
  23209. return s
  23210. }
  23211. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  23212. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  23213. s.DestinationIpv6CidrBlock = &v
  23214. return s
  23215. }
  23216. // SetDryRun sets the DryRun field's value.
  23217. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  23218. s.DryRun = &v
  23219. return s
  23220. }
  23221. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  23222. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  23223. s.EgressOnlyInternetGatewayId = &v
  23224. return s
  23225. }
  23226. // SetGatewayId sets the GatewayId field's value.
  23227. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  23228. s.GatewayId = &v
  23229. return s
  23230. }
  23231. // SetInstanceId sets the InstanceId field's value.
  23232. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  23233. s.InstanceId = &v
  23234. return s
  23235. }
  23236. // SetNatGatewayId sets the NatGatewayId field's value.
  23237. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  23238. s.NatGatewayId = &v
  23239. return s
  23240. }
  23241. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  23242. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  23243. s.NetworkInterfaceId = &v
  23244. return s
  23245. }
  23246. // SetRouteTableId sets the RouteTableId field's value.
  23247. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  23248. s.RouteTableId = &v
  23249. return s
  23250. }
  23251. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  23252. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  23253. s.VpcPeeringConnectionId = &v
  23254. return s
  23255. }
  23256. // Contains the output of CreateRoute.
  23257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteResult
  23258. type CreateRouteOutput struct {
  23259. _ struct{} `type:"structure"`
  23260. // Returns true if the request succeeds; otherwise, it returns an error.
  23261. Return *bool `locationName:"return" type:"boolean"`
  23262. }
  23263. // String returns the string representation
  23264. func (s CreateRouteOutput) String() string {
  23265. return awsutil.Prettify(s)
  23266. }
  23267. // GoString returns the string representation
  23268. func (s CreateRouteOutput) GoString() string {
  23269. return s.String()
  23270. }
  23271. // SetReturn sets the Return field's value.
  23272. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  23273. s.Return = &v
  23274. return s
  23275. }
  23276. // Contains the parameters for CreateRouteTable.
  23277. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableRequest
  23278. type CreateRouteTableInput struct {
  23279. _ struct{} `type:"structure"`
  23280. // Checks whether you have the required permissions for the action, without
  23281. // actually making the request, and provides an error response. If you have
  23282. // the required permissions, the error response is DryRunOperation. Otherwise,
  23283. // it is UnauthorizedOperation.
  23284. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23285. // The ID of the VPC.
  23286. //
  23287. // VpcId is a required field
  23288. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  23289. }
  23290. // String returns the string representation
  23291. func (s CreateRouteTableInput) String() string {
  23292. return awsutil.Prettify(s)
  23293. }
  23294. // GoString returns the string representation
  23295. func (s CreateRouteTableInput) GoString() string {
  23296. return s.String()
  23297. }
  23298. // Validate inspects the fields of the type to determine if they are valid.
  23299. func (s *CreateRouteTableInput) Validate() error {
  23300. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  23301. if s.VpcId == nil {
  23302. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23303. }
  23304. if invalidParams.Len() > 0 {
  23305. return invalidParams
  23306. }
  23307. return nil
  23308. }
  23309. // SetDryRun sets the DryRun field's value.
  23310. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  23311. s.DryRun = &v
  23312. return s
  23313. }
  23314. // SetVpcId sets the VpcId field's value.
  23315. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  23316. s.VpcId = &v
  23317. return s
  23318. }
  23319. // Contains the output of CreateRouteTable.
  23320. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableResult
  23321. type CreateRouteTableOutput struct {
  23322. _ struct{} `type:"structure"`
  23323. // Information about the route table.
  23324. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  23325. }
  23326. // String returns the string representation
  23327. func (s CreateRouteTableOutput) String() string {
  23328. return awsutil.Prettify(s)
  23329. }
  23330. // GoString returns the string representation
  23331. func (s CreateRouteTableOutput) GoString() string {
  23332. return s.String()
  23333. }
  23334. // SetRouteTable sets the RouteTable field's value.
  23335. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  23336. s.RouteTable = v
  23337. return s
  23338. }
  23339. // Contains the parameters for CreateSecurityGroup.
  23340. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupRequest
  23341. type CreateSecurityGroupInput struct {
  23342. _ struct{} `type:"structure"`
  23343. // A description for the security group. This is informational only.
  23344. //
  23345. // Constraints: Up to 255 characters in length
  23346. //
  23347. // Constraints for EC2-Classic: ASCII characters
  23348. //
  23349. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  23350. //
  23351. // Description is a required field
  23352. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  23353. // Checks whether you have the required permissions for the action, without
  23354. // actually making the request, and provides an error response. If you have
  23355. // the required permissions, the error response is DryRunOperation. Otherwise,
  23356. // it is UnauthorizedOperation.
  23357. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23358. // The name of the security group.
  23359. //
  23360. // Constraints: Up to 255 characters in length
  23361. //
  23362. // Constraints for EC2-Classic: ASCII characters
  23363. //
  23364. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  23365. //
  23366. // GroupName is a required field
  23367. GroupName *string `type:"string" required:"true"`
  23368. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  23369. VpcId *string `type:"string"`
  23370. }
  23371. // String returns the string representation
  23372. func (s CreateSecurityGroupInput) String() string {
  23373. return awsutil.Prettify(s)
  23374. }
  23375. // GoString returns the string representation
  23376. func (s CreateSecurityGroupInput) GoString() string {
  23377. return s.String()
  23378. }
  23379. // Validate inspects the fields of the type to determine if they are valid.
  23380. func (s *CreateSecurityGroupInput) Validate() error {
  23381. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  23382. if s.Description == nil {
  23383. invalidParams.Add(request.NewErrParamRequired("Description"))
  23384. }
  23385. if s.GroupName == nil {
  23386. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  23387. }
  23388. if invalidParams.Len() > 0 {
  23389. return invalidParams
  23390. }
  23391. return nil
  23392. }
  23393. // SetDescription sets the Description field's value.
  23394. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  23395. s.Description = &v
  23396. return s
  23397. }
  23398. // SetDryRun sets the DryRun field's value.
  23399. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  23400. s.DryRun = &v
  23401. return s
  23402. }
  23403. // SetGroupName sets the GroupName field's value.
  23404. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  23405. s.GroupName = &v
  23406. return s
  23407. }
  23408. // SetVpcId sets the VpcId field's value.
  23409. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  23410. s.VpcId = &v
  23411. return s
  23412. }
  23413. // Contains the output of CreateSecurityGroup.
  23414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupResult
  23415. type CreateSecurityGroupOutput struct {
  23416. _ struct{} `type:"structure"`
  23417. // The ID of the security group.
  23418. GroupId *string `locationName:"groupId" type:"string"`
  23419. }
  23420. // String returns the string representation
  23421. func (s CreateSecurityGroupOutput) String() string {
  23422. return awsutil.Prettify(s)
  23423. }
  23424. // GoString returns the string representation
  23425. func (s CreateSecurityGroupOutput) GoString() string {
  23426. return s.String()
  23427. }
  23428. // SetGroupId sets the GroupId field's value.
  23429. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  23430. s.GroupId = &v
  23431. return s
  23432. }
  23433. // Contains the parameters for CreateSnapshot.
  23434. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshotRequest
  23435. type CreateSnapshotInput struct {
  23436. _ struct{} `type:"structure"`
  23437. // A description for the snapshot.
  23438. Description *string `type:"string"`
  23439. // Checks whether you have the required permissions for the action, without
  23440. // actually making the request, and provides an error response. If you have
  23441. // the required permissions, the error response is DryRunOperation. Otherwise,
  23442. // it is UnauthorizedOperation.
  23443. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23444. // The ID of the EBS volume.
  23445. //
  23446. // VolumeId is a required field
  23447. VolumeId *string `type:"string" required:"true"`
  23448. }
  23449. // String returns the string representation
  23450. func (s CreateSnapshotInput) String() string {
  23451. return awsutil.Prettify(s)
  23452. }
  23453. // GoString returns the string representation
  23454. func (s CreateSnapshotInput) GoString() string {
  23455. return s.String()
  23456. }
  23457. // Validate inspects the fields of the type to determine if they are valid.
  23458. func (s *CreateSnapshotInput) Validate() error {
  23459. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  23460. if s.VolumeId == nil {
  23461. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  23462. }
  23463. if invalidParams.Len() > 0 {
  23464. return invalidParams
  23465. }
  23466. return nil
  23467. }
  23468. // SetDescription sets the Description field's value.
  23469. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  23470. s.Description = &v
  23471. return s
  23472. }
  23473. // SetDryRun sets the DryRun field's value.
  23474. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  23475. s.DryRun = &v
  23476. return s
  23477. }
  23478. // SetVolumeId sets the VolumeId field's value.
  23479. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  23480. s.VolumeId = &v
  23481. return s
  23482. }
  23483. // Contains the parameters for CreateSpotDatafeedSubscription.
  23484. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionRequest
  23485. type CreateSpotDatafeedSubscriptionInput struct {
  23486. _ struct{} `type:"structure"`
  23487. // The Amazon S3 bucket in which to store the Spot instance data feed.
  23488. //
  23489. // Bucket is a required field
  23490. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  23491. // Checks whether you have the required permissions for the action, without
  23492. // actually making the request, and provides an error response. If you have
  23493. // the required permissions, the error response is DryRunOperation. Otherwise,
  23494. // it is UnauthorizedOperation.
  23495. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23496. // A prefix for the data feed file names.
  23497. Prefix *string `locationName:"prefix" type:"string"`
  23498. }
  23499. // String returns the string representation
  23500. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  23501. return awsutil.Prettify(s)
  23502. }
  23503. // GoString returns the string representation
  23504. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  23505. return s.String()
  23506. }
  23507. // Validate inspects the fields of the type to determine if they are valid.
  23508. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  23509. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  23510. if s.Bucket == nil {
  23511. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  23512. }
  23513. if invalidParams.Len() > 0 {
  23514. return invalidParams
  23515. }
  23516. return nil
  23517. }
  23518. // SetBucket sets the Bucket field's value.
  23519. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  23520. s.Bucket = &v
  23521. return s
  23522. }
  23523. // SetDryRun sets the DryRun field's value.
  23524. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  23525. s.DryRun = &v
  23526. return s
  23527. }
  23528. // SetPrefix sets the Prefix field's value.
  23529. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  23530. s.Prefix = &v
  23531. return s
  23532. }
  23533. // Contains the output of CreateSpotDatafeedSubscription.
  23534. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionResult
  23535. type CreateSpotDatafeedSubscriptionOutput struct {
  23536. _ struct{} `type:"structure"`
  23537. // The Spot instance data feed subscription.
  23538. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  23539. }
  23540. // String returns the string representation
  23541. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  23542. return awsutil.Prettify(s)
  23543. }
  23544. // GoString returns the string representation
  23545. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  23546. return s.String()
  23547. }
  23548. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  23549. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  23550. s.SpotDatafeedSubscription = v
  23551. return s
  23552. }
  23553. // Contains the parameters for CreateSubnet.
  23554. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetRequest
  23555. type CreateSubnetInput struct {
  23556. _ struct{} `type:"structure"`
  23557. // The Availability Zone for the subnet.
  23558. //
  23559. // Default: AWS selects one for you. If you create more than one subnet in your
  23560. // VPC, we may not necessarily select a different zone for each subnet.
  23561. AvailabilityZone *string `type:"string"`
  23562. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  23563. //
  23564. // CidrBlock is a required field
  23565. CidrBlock *string `type:"string" required:"true"`
  23566. // Checks whether you have the required permissions for the action, without
  23567. // actually making the request, and provides an error response. If you have
  23568. // the required permissions, the error response is DryRunOperation. Otherwise,
  23569. // it is UnauthorizedOperation.
  23570. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23571. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  23572. // must use a /64 prefix length.
  23573. Ipv6CidrBlock *string `type:"string"`
  23574. // The ID of the VPC.
  23575. //
  23576. // VpcId is a required field
  23577. VpcId *string `type:"string" required:"true"`
  23578. }
  23579. // String returns the string representation
  23580. func (s CreateSubnetInput) String() string {
  23581. return awsutil.Prettify(s)
  23582. }
  23583. // GoString returns the string representation
  23584. func (s CreateSubnetInput) GoString() string {
  23585. return s.String()
  23586. }
  23587. // Validate inspects the fields of the type to determine if they are valid.
  23588. func (s *CreateSubnetInput) Validate() error {
  23589. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  23590. if s.CidrBlock == nil {
  23591. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  23592. }
  23593. if s.VpcId == nil {
  23594. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23595. }
  23596. if invalidParams.Len() > 0 {
  23597. return invalidParams
  23598. }
  23599. return nil
  23600. }
  23601. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23602. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  23603. s.AvailabilityZone = &v
  23604. return s
  23605. }
  23606. // SetCidrBlock sets the CidrBlock field's value.
  23607. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  23608. s.CidrBlock = &v
  23609. return s
  23610. }
  23611. // SetDryRun sets the DryRun field's value.
  23612. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  23613. s.DryRun = &v
  23614. return s
  23615. }
  23616. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  23617. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  23618. s.Ipv6CidrBlock = &v
  23619. return s
  23620. }
  23621. // SetVpcId sets the VpcId field's value.
  23622. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  23623. s.VpcId = &v
  23624. return s
  23625. }
  23626. // Contains the output of CreateSubnet.
  23627. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetResult
  23628. type CreateSubnetOutput struct {
  23629. _ struct{} `type:"structure"`
  23630. // Information about the subnet.
  23631. Subnet *Subnet `locationName:"subnet" type:"structure"`
  23632. }
  23633. // String returns the string representation
  23634. func (s CreateSubnetOutput) String() string {
  23635. return awsutil.Prettify(s)
  23636. }
  23637. // GoString returns the string representation
  23638. func (s CreateSubnetOutput) GoString() string {
  23639. return s.String()
  23640. }
  23641. // SetSubnet sets the Subnet field's value.
  23642. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  23643. s.Subnet = v
  23644. return s
  23645. }
  23646. // Contains the parameters for CreateTags.
  23647. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsRequest
  23648. type CreateTagsInput struct {
  23649. _ struct{} `type:"structure"`
  23650. // Checks whether you have the required permissions for the action, without
  23651. // actually making the request, and provides an error response. If you have
  23652. // the required permissions, the error response is DryRunOperation. Otherwise,
  23653. // it is UnauthorizedOperation.
  23654. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23655. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  23656. //
  23657. // Resources is a required field
  23658. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  23659. // One or more tags. The value parameter is required, but if you don't want
  23660. // the tag to have a value, specify the parameter with no value, and we set
  23661. // the value to an empty string.
  23662. //
  23663. // Tags is a required field
  23664. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  23665. }
  23666. // String returns the string representation
  23667. func (s CreateTagsInput) String() string {
  23668. return awsutil.Prettify(s)
  23669. }
  23670. // GoString returns the string representation
  23671. func (s CreateTagsInput) GoString() string {
  23672. return s.String()
  23673. }
  23674. // Validate inspects the fields of the type to determine if they are valid.
  23675. func (s *CreateTagsInput) Validate() error {
  23676. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  23677. if s.Resources == nil {
  23678. invalidParams.Add(request.NewErrParamRequired("Resources"))
  23679. }
  23680. if s.Tags == nil {
  23681. invalidParams.Add(request.NewErrParamRequired("Tags"))
  23682. }
  23683. if invalidParams.Len() > 0 {
  23684. return invalidParams
  23685. }
  23686. return nil
  23687. }
  23688. // SetDryRun sets the DryRun field's value.
  23689. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  23690. s.DryRun = &v
  23691. return s
  23692. }
  23693. // SetResources sets the Resources field's value.
  23694. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  23695. s.Resources = v
  23696. return s
  23697. }
  23698. // SetTags sets the Tags field's value.
  23699. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  23700. s.Tags = v
  23701. return s
  23702. }
  23703. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsOutput
  23704. type CreateTagsOutput struct {
  23705. _ struct{} `type:"structure"`
  23706. }
  23707. // String returns the string representation
  23708. func (s CreateTagsOutput) String() string {
  23709. return awsutil.Prettify(s)
  23710. }
  23711. // GoString returns the string representation
  23712. func (s CreateTagsOutput) GoString() string {
  23713. return s.String()
  23714. }
  23715. // Contains the parameters for CreateVolume.
  23716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumeRequest
  23717. type CreateVolumeInput struct {
  23718. _ struct{} `type:"structure"`
  23719. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  23720. // to list the Availability Zones that are currently available to you.
  23721. //
  23722. // AvailabilityZone is a required field
  23723. AvailabilityZone *string `type:"string" required:"true"`
  23724. // Checks whether you have the required permissions for the action, without
  23725. // actually making the request, and provides an error response. If you have
  23726. // the required permissions, the error response is DryRunOperation. Otherwise,
  23727. // it is UnauthorizedOperation.
  23728. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23729. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  23730. // may only be attached to instances that support Amazon EBS encryption. Volumes
  23731. // that are created from encrypted snapshots are automatically encrypted. There
  23732. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  23733. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  23734. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  23735. // in the Amazon Elastic Compute Cloud User Guide.
  23736. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  23737. // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations
  23738. // per second (IOPS) to provision for the volume, with a maximum ratio of 50
  23739. // IOPS/GiB.
  23740. //
  23741. // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes
  23742. Iops *int64 `type:"integer"`
  23743. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  23744. // key (CMK) to use when creating the encrypted volume. This parameter is only
  23745. // required if you want to use a non-default CMK; if this parameter is not specified,
  23746. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  23747. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  23748. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  23749. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  23750. KmsKeyId *string `type:"string"`
  23751. // The size of the volume, in GiBs.
  23752. //
  23753. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  23754. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  23755. // must be equal to or larger than the snapshot size.
  23756. //
  23757. // Default: If you're creating the volume from a snapshot and don't specify
  23758. // a volume size, the default is the snapshot size.
  23759. Size *int64 `type:"integer"`
  23760. // The snapshot from which to create the volume.
  23761. SnapshotId *string `type:"string"`
  23762. // The tags to apply to the volume during creation.
  23763. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  23764. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  23765. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  23766. // for Magnetic volumes.
  23767. //
  23768. // Default: standard
  23769. VolumeType *string `type:"string" enum:"VolumeType"`
  23770. }
  23771. // String returns the string representation
  23772. func (s CreateVolumeInput) String() string {
  23773. return awsutil.Prettify(s)
  23774. }
  23775. // GoString returns the string representation
  23776. func (s CreateVolumeInput) GoString() string {
  23777. return s.String()
  23778. }
  23779. // Validate inspects the fields of the type to determine if they are valid.
  23780. func (s *CreateVolumeInput) Validate() error {
  23781. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  23782. if s.AvailabilityZone == nil {
  23783. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  23784. }
  23785. if invalidParams.Len() > 0 {
  23786. return invalidParams
  23787. }
  23788. return nil
  23789. }
  23790. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23791. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  23792. s.AvailabilityZone = &v
  23793. return s
  23794. }
  23795. // SetDryRun sets the DryRun field's value.
  23796. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  23797. s.DryRun = &v
  23798. return s
  23799. }
  23800. // SetEncrypted sets the Encrypted field's value.
  23801. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  23802. s.Encrypted = &v
  23803. return s
  23804. }
  23805. // SetIops sets the Iops field's value.
  23806. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  23807. s.Iops = &v
  23808. return s
  23809. }
  23810. // SetKmsKeyId sets the KmsKeyId field's value.
  23811. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  23812. s.KmsKeyId = &v
  23813. return s
  23814. }
  23815. // SetSize sets the Size field's value.
  23816. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  23817. s.Size = &v
  23818. return s
  23819. }
  23820. // SetSnapshotId sets the SnapshotId field's value.
  23821. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  23822. s.SnapshotId = &v
  23823. return s
  23824. }
  23825. // SetTagSpecifications sets the TagSpecifications field's value.
  23826. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  23827. s.TagSpecifications = v
  23828. return s
  23829. }
  23830. // SetVolumeType sets the VolumeType field's value.
  23831. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  23832. s.VolumeType = &v
  23833. return s
  23834. }
  23835. // Describes the user or group to be added or removed from the permissions for
  23836. // a volume.
  23837. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermission
  23838. type CreateVolumePermission struct {
  23839. _ struct{} `type:"structure"`
  23840. // The specific group that is to be added or removed from a volume's list of
  23841. // create volume permissions.
  23842. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  23843. // The specific AWS account ID that is to be added or removed from a volume's
  23844. // list of create volume permissions.
  23845. UserId *string `locationName:"userId" type:"string"`
  23846. }
  23847. // String returns the string representation
  23848. func (s CreateVolumePermission) String() string {
  23849. return awsutil.Prettify(s)
  23850. }
  23851. // GoString returns the string representation
  23852. func (s CreateVolumePermission) GoString() string {
  23853. return s.String()
  23854. }
  23855. // SetGroup sets the Group field's value.
  23856. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  23857. s.Group = &v
  23858. return s
  23859. }
  23860. // SetUserId sets the UserId field's value.
  23861. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  23862. s.UserId = &v
  23863. return s
  23864. }
  23865. // Describes modifications to the permissions for a volume.
  23866. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermissionModifications
  23867. type CreateVolumePermissionModifications struct {
  23868. _ struct{} `type:"structure"`
  23869. // Adds a specific AWS account ID or group to a volume's list of create volume
  23870. // permissions.
  23871. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  23872. // Removes a specific AWS account ID or group from a volume's list of create
  23873. // volume permissions.
  23874. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  23875. }
  23876. // String returns the string representation
  23877. func (s CreateVolumePermissionModifications) String() string {
  23878. return awsutil.Prettify(s)
  23879. }
  23880. // GoString returns the string representation
  23881. func (s CreateVolumePermissionModifications) GoString() string {
  23882. return s.String()
  23883. }
  23884. // SetAdd sets the Add field's value.
  23885. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  23886. s.Add = v
  23887. return s
  23888. }
  23889. // SetRemove sets the Remove field's value.
  23890. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  23891. s.Remove = v
  23892. return s
  23893. }
  23894. // Contains the parameters for CreateVpcEndpoint.
  23895. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointRequest
  23896. type CreateVpcEndpointInput struct {
  23897. _ struct{} `type:"structure"`
  23898. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  23899. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  23900. ClientToken *string `type:"string"`
  23901. // Checks whether you have the required permissions for the action, without
  23902. // actually making the request, and provides an error response. If you have
  23903. // the required permissions, the error response is DryRunOperation. Otherwise,
  23904. // it is UnauthorizedOperation.
  23905. DryRun *bool `type:"boolean"`
  23906. // A policy to attach to the endpoint that controls access to the service. The
  23907. // policy must be in valid JSON format. If this parameter is not specified,
  23908. // we attach a default policy that allows full access to the service.
  23909. PolicyDocument *string `type:"string"`
  23910. // One or more route table IDs.
  23911. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  23912. // The AWS service name, in the form com.amazonaws.region.service. To get a
  23913. // list of available services, use the DescribeVpcEndpointServices request.
  23914. //
  23915. // ServiceName is a required field
  23916. ServiceName *string `type:"string" required:"true"`
  23917. // The ID of the VPC in which the endpoint will be used.
  23918. //
  23919. // VpcId is a required field
  23920. VpcId *string `type:"string" required:"true"`
  23921. }
  23922. // String returns the string representation
  23923. func (s CreateVpcEndpointInput) String() string {
  23924. return awsutil.Prettify(s)
  23925. }
  23926. // GoString returns the string representation
  23927. func (s CreateVpcEndpointInput) GoString() string {
  23928. return s.String()
  23929. }
  23930. // Validate inspects the fields of the type to determine if they are valid.
  23931. func (s *CreateVpcEndpointInput) Validate() error {
  23932. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  23933. if s.ServiceName == nil {
  23934. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  23935. }
  23936. if s.VpcId == nil {
  23937. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23938. }
  23939. if invalidParams.Len() > 0 {
  23940. return invalidParams
  23941. }
  23942. return nil
  23943. }
  23944. // SetClientToken sets the ClientToken field's value.
  23945. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  23946. s.ClientToken = &v
  23947. return s
  23948. }
  23949. // SetDryRun sets the DryRun field's value.
  23950. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  23951. s.DryRun = &v
  23952. return s
  23953. }
  23954. // SetPolicyDocument sets the PolicyDocument field's value.
  23955. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  23956. s.PolicyDocument = &v
  23957. return s
  23958. }
  23959. // SetRouteTableIds sets the RouteTableIds field's value.
  23960. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  23961. s.RouteTableIds = v
  23962. return s
  23963. }
  23964. // SetServiceName sets the ServiceName field's value.
  23965. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  23966. s.ServiceName = &v
  23967. return s
  23968. }
  23969. // SetVpcId sets the VpcId field's value.
  23970. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  23971. s.VpcId = &v
  23972. return s
  23973. }
  23974. // Contains the output of CreateVpcEndpoint.
  23975. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointResult
  23976. type CreateVpcEndpointOutput struct {
  23977. _ struct{} `type:"structure"`
  23978. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  23979. // the request.
  23980. ClientToken *string `locationName:"clientToken" type:"string"`
  23981. // Information about the endpoint.
  23982. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  23983. }
  23984. // String returns the string representation
  23985. func (s CreateVpcEndpointOutput) String() string {
  23986. return awsutil.Prettify(s)
  23987. }
  23988. // GoString returns the string representation
  23989. func (s CreateVpcEndpointOutput) GoString() string {
  23990. return s.String()
  23991. }
  23992. // SetClientToken sets the ClientToken field's value.
  23993. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  23994. s.ClientToken = &v
  23995. return s
  23996. }
  23997. // SetVpcEndpoint sets the VpcEndpoint field's value.
  23998. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  23999. s.VpcEndpoint = v
  24000. return s
  24001. }
  24002. // Contains the parameters for CreateVpc.
  24003. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcRequest
  24004. type CreateVpcInput struct {
  24005. _ struct{} `type:"structure"`
  24006. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  24007. // the VPC. You cannot specify the range of IP addresses, or the size of the
  24008. // CIDR block.
  24009. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  24010. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  24011. //
  24012. // CidrBlock is a required field
  24013. CidrBlock *string `type:"string" required:"true"`
  24014. // Checks whether you have the required permissions for the action, without
  24015. // actually making the request, and provides an error response. If you have
  24016. // the required permissions, the error response is DryRunOperation. Otherwise,
  24017. // it is UnauthorizedOperation.
  24018. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24019. // The tenancy options for instances launched into the VPC. For default, instances
  24020. // are launched with shared tenancy by default. You can launch instances with
  24021. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  24022. // as dedicated tenancy instances by default. You can only launch instances
  24023. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  24024. //
  24025. // Important: The host value cannot be used with this parameter. Use the default
  24026. // or dedicated values only.
  24027. //
  24028. // Default: default
  24029. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  24030. }
  24031. // String returns the string representation
  24032. func (s CreateVpcInput) String() string {
  24033. return awsutil.Prettify(s)
  24034. }
  24035. // GoString returns the string representation
  24036. func (s CreateVpcInput) GoString() string {
  24037. return s.String()
  24038. }
  24039. // Validate inspects the fields of the type to determine if they are valid.
  24040. func (s *CreateVpcInput) Validate() error {
  24041. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  24042. if s.CidrBlock == nil {
  24043. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  24044. }
  24045. if invalidParams.Len() > 0 {
  24046. return invalidParams
  24047. }
  24048. return nil
  24049. }
  24050. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  24051. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  24052. s.AmazonProvidedIpv6CidrBlock = &v
  24053. return s
  24054. }
  24055. // SetCidrBlock sets the CidrBlock field's value.
  24056. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  24057. s.CidrBlock = &v
  24058. return s
  24059. }
  24060. // SetDryRun sets the DryRun field's value.
  24061. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  24062. s.DryRun = &v
  24063. return s
  24064. }
  24065. // SetInstanceTenancy sets the InstanceTenancy field's value.
  24066. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  24067. s.InstanceTenancy = &v
  24068. return s
  24069. }
  24070. // Contains the output of CreateVpc.
  24071. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcResult
  24072. type CreateVpcOutput struct {
  24073. _ struct{} `type:"structure"`
  24074. // Information about the VPC.
  24075. Vpc *Vpc `locationName:"vpc" type:"structure"`
  24076. }
  24077. // String returns the string representation
  24078. func (s CreateVpcOutput) String() string {
  24079. return awsutil.Prettify(s)
  24080. }
  24081. // GoString returns the string representation
  24082. func (s CreateVpcOutput) GoString() string {
  24083. return s.String()
  24084. }
  24085. // SetVpc sets the Vpc field's value.
  24086. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  24087. s.Vpc = v
  24088. return s
  24089. }
  24090. // Contains the parameters for CreateVpcPeeringConnection.
  24091. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionRequest
  24092. type CreateVpcPeeringConnectionInput struct {
  24093. _ struct{} `type:"structure"`
  24094. // Checks whether you have the required permissions for the action, without
  24095. // actually making the request, and provides an error response. If you have
  24096. // the required permissions, the error response is DryRunOperation. Otherwise,
  24097. // it is UnauthorizedOperation.
  24098. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24099. // The AWS account ID of the owner of the peer VPC.
  24100. //
  24101. // Default: Your AWS account ID
  24102. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  24103. // The ID of the VPC with which you are creating the VPC peering connection.
  24104. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  24105. // The ID of the requester VPC.
  24106. VpcId *string `locationName:"vpcId" type:"string"`
  24107. }
  24108. // String returns the string representation
  24109. func (s CreateVpcPeeringConnectionInput) String() string {
  24110. return awsutil.Prettify(s)
  24111. }
  24112. // GoString returns the string representation
  24113. func (s CreateVpcPeeringConnectionInput) GoString() string {
  24114. return s.String()
  24115. }
  24116. // SetDryRun sets the DryRun field's value.
  24117. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  24118. s.DryRun = &v
  24119. return s
  24120. }
  24121. // SetPeerOwnerId sets the PeerOwnerId field's value.
  24122. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  24123. s.PeerOwnerId = &v
  24124. return s
  24125. }
  24126. // SetPeerVpcId sets the PeerVpcId field's value.
  24127. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  24128. s.PeerVpcId = &v
  24129. return s
  24130. }
  24131. // SetVpcId sets the VpcId field's value.
  24132. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  24133. s.VpcId = &v
  24134. return s
  24135. }
  24136. // Contains the output of CreateVpcPeeringConnection.
  24137. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionResult
  24138. type CreateVpcPeeringConnectionOutput struct {
  24139. _ struct{} `type:"structure"`
  24140. // Information about the VPC peering connection.
  24141. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  24142. }
  24143. // String returns the string representation
  24144. func (s CreateVpcPeeringConnectionOutput) String() string {
  24145. return awsutil.Prettify(s)
  24146. }
  24147. // GoString returns the string representation
  24148. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  24149. return s.String()
  24150. }
  24151. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  24152. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  24153. s.VpcPeeringConnection = v
  24154. return s
  24155. }
  24156. // Contains the parameters for CreateVpnConnection.
  24157. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRequest
  24158. type CreateVpnConnectionInput struct {
  24159. _ struct{} `type:"structure"`
  24160. // The ID of the customer gateway.
  24161. //
  24162. // CustomerGatewayId is a required field
  24163. CustomerGatewayId *string `type:"string" required:"true"`
  24164. // Checks whether you have the required permissions for the action, without
  24165. // actually making the request, and provides an error response. If you have
  24166. // the required permissions, the error response is DryRunOperation. Otherwise,
  24167. // it is UnauthorizedOperation.
  24168. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24169. // Indicates whether the VPN connection requires static routes. If you are creating
  24170. // a VPN connection for a device that does not support BGP, you must specify
  24171. // true.
  24172. //
  24173. // Default: false
  24174. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  24175. // The type of VPN connection (ipsec.1).
  24176. //
  24177. // Type is a required field
  24178. Type *string `type:"string" required:"true"`
  24179. // The ID of the virtual private gateway.
  24180. //
  24181. // VpnGatewayId is a required field
  24182. VpnGatewayId *string `type:"string" required:"true"`
  24183. }
  24184. // String returns the string representation
  24185. func (s CreateVpnConnectionInput) String() string {
  24186. return awsutil.Prettify(s)
  24187. }
  24188. // GoString returns the string representation
  24189. func (s CreateVpnConnectionInput) GoString() string {
  24190. return s.String()
  24191. }
  24192. // Validate inspects the fields of the type to determine if they are valid.
  24193. func (s *CreateVpnConnectionInput) Validate() error {
  24194. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  24195. if s.CustomerGatewayId == nil {
  24196. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  24197. }
  24198. if s.Type == nil {
  24199. invalidParams.Add(request.NewErrParamRequired("Type"))
  24200. }
  24201. if s.VpnGatewayId == nil {
  24202. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  24203. }
  24204. if invalidParams.Len() > 0 {
  24205. return invalidParams
  24206. }
  24207. return nil
  24208. }
  24209. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  24210. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  24211. s.CustomerGatewayId = &v
  24212. return s
  24213. }
  24214. // SetDryRun sets the DryRun field's value.
  24215. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  24216. s.DryRun = &v
  24217. return s
  24218. }
  24219. // SetOptions sets the Options field's value.
  24220. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  24221. s.Options = v
  24222. return s
  24223. }
  24224. // SetType sets the Type field's value.
  24225. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  24226. s.Type = &v
  24227. return s
  24228. }
  24229. // SetVpnGatewayId sets the VpnGatewayId field's value.
  24230. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  24231. s.VpnGatewayId = &v
  24232. return s
  24233. }
  24234. // Contains the output of CreateVpnConnection.
  24235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionResult
  24236. type CreateVpnConnectionOutput struct {
  24237. _ struct{} `type:"structure"`
  24238. // Information about the VPN connection.
  24239. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  24240. }
  24241. // String returns the string representation
  24242. func (s CreateVpnConnectionOutput) String() string {
  24243. return awsutil.Prettify(s)
  24244. }
  24245. // GoString returns the string representation
  24246. func (s CreateVpnConnectionOutput) GoString() string {
  24247. return s.String()
  24248. }
  24249. // SetVpnConnection sets the VpnConnection field's value.
  24250. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  24251. s.VpnConnection = v
  24252. return s
  24253. }
  24254. // Contains the parameters for CreateVpnConnectionRoute.
  24255. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteRequest
  24256. type CreateVpnConnectionRouteInput struct {
  24257. _ struct{} `type:"structure"`
  24258. // The CIDR block associated with the local subnet of the customer network.
  24259. //
  24260. // DestinationCidrBlock is a required field
  24261. DestinationCidrBlock *string `type:"string" required:"true"`
  24262. // The ID of the VPN connection.
  24263. //
  24264. // VpnConnectionId is a required field
  24265. VpnConnectionId *string `type:"string" required:"true"`
  24266. }
  24267. // String returns the string representation
  24268. func (s CreateVpnConnectionRouteInput) String() string {
  24269. return awsutil.Prettify(s)
  24270. }
  24271. // GoString returns the string representation
  24272. func (s CreateVpnConnectionRouteInput) GoString() string {
  24273. return s.String()
  24274. }
  24275. // Validate inspects the fields of the type to determine if they are valid.
  24276. func (s *CreateVpnConnectionRouteInput) Validate() error {
  24277. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  24278. if s.DestinationCidrBlock == nil {
  24279. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  24280. }
  24281. if s.VpnConnectionId == nil {
  24282. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  24283. }
  24284. if invalidParams.Len() > 0 {
  24285. return invalidParams
  24286. }
  24287. return nil
  24288. }
  24289. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  24290. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  24291. s.DestinationCidrBlock = &v
  24292. return s
  24293. }
  24294. // SetVpnConnectionId sets the VpnConnectionId field's value.
  24295. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  24296. s.VpnConnectionId = &v
  24297. return s
  24298. }
  24299. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteOutput
  24300. type CreateVpnConnectionRouteOutput struct {
  24301. _ struct{} `type:"structure"`
  24302. }
  24303. // String returns the string representation
  24304. func (s CreateVpnConnectionRouteOutput) String() string {
  24305. return awsutil.Prettify(s)
  24306. }
  24307. // GoString returns the string representation
  24308. func (s CreateVpnConnectionRouteOutput) GoString() string {
  24309. return s.String()
  24310. }
  24311. // Contains the parameters for CreateVpnGateway.
  24312. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayRequest
  24313. type CreateVpnGatewayInput struct {
  24314. _ struct{} `type:"structure"`
  24315. // The Availability Zone for the virtual private gateway.
  24316. AvailabilityZone *string `type:"string"`
  24317. // Checks whether you have the required permissions for the action, without
  24318. // actually making the request, and provides an error response. If you have
  24319. // the required permissions, the error response is DryRunOperation. Otherwise,
  24320. // it is UnauthorizedOperation.
  24321. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24322. // The type of VPN connection this virtual private gateway supports.
  24323. //
  24324. // Type is a required field
  24325. Type *string `type:"string" required:"true" enum:"GatewayType"`
  24326. }
  24327. // String returns the string representation
  24328. func (s CreateVpnGatewayInput) String() string {
  24329. return awsutil.Prettify(s)
  24330. }
  24331. // GoString returns the string representation
  24332. func (s CreateVpnGatewayInput) GoString() string {
  24333. return s.String()
  24334. }
  24335. // Validate inspects the fields of the type to determine if they are valid.
  24336. func (s *CreateVpnGatewayInput) Validate() error {
  24337. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  24338. if s.Type == nil {
  24339. invalidParams.Add(request.NewErrParamRequired("Type"))
  24340. }
  24341. if invalidParams.Len() > 0 {
  24342. return invalidParams
  24343. }
  24344. return nil
  24345. }
  24346. // SetAvailabilityZone sets the AvailabilityZone field's value.
  24347. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  24348. s.AvailabilityZone = &v
  24349. return s
  24350. }
  24351. // SetDryRun sets the DryRun field's value.
  24352. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  24353. s.DryRun = &v
  24354. return s
  24355. }
  24356. // SetType sets the Type field's value.
  24357. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  24358. s.Type = &v
  24359. return s
  24360. }
  24361. // Contains the output of CreateVpnGateway.
  24362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayResult
  24363. type CreateVpnGatewayOutput struct {
  24364. _ struct{} `type:"structure"`
  24365. // Information about the virtual private gateway.
  24366. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  24367. }
  24368. // String returns the string representation
  24369. func (s CreateVpnGatewayOutput) String() string {
  24370. return awsutil.Prettify(s)
  24371. }
  24372. // GoString returns the string representation
  24373. func (s CreateVpnGatewayOutput) GoString() string {
  24374. return s.String()
  24375. }
  24376. // SetVpnGateway sets the VpnGateway field's value.
  24377. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  24378. s.VpnGateway = v
  24379. return s
  24380. }
  24381. // Describes a customer gateway.
  24382. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CustomerGateway
  24383. type CustomerGateway struct {
  24384. _ struct{} `type:"structure"`
  24385. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  24386. // (ASN).
  24387. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  24388. // The ID of the customer gateway.
  24389. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  24390. // The Internet-routable IP address of the customer gateway's outside interface.
  24391. IpAddress *string `locationName:"ipAddress" type:"string"`
  24392. // The current state of the customer gateway (pending | available | deleting
  24393. // | deleted).
  24394. State *string `locationName:"state" type:"string"`
  24395. // Any tags assigned to the customer gateway.
  24396. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  24397. // The type of VPN connection the customer gateway supports (ipsec.1).
  24398. Type *string `locationName:"type" type:"string"`
  24399. }
  24400. // String returns the string representation
  24401. func (s CustomerGateway) String() string {
  24402. return awsutil.Prettify(s)
  24403. }
  24404. // GoString returns the string representation
  24405. func (s CustomerGateway) GoString() string {
  24406. return s.String()
  24407. }
  24408. // SetBgpAsn sets the BgpAsn field's value.
  24409. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  24410. s.BgpAsn = &v
  24411. return s
  24412. }
  24413. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  24414. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  24415. s.CustomerGatewayId = &v
  24416. return s
  24417. }
  24418. // SetIpAddress sets the IpAddress field's value.
  24419. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  24420. s.IpAddress = &v
  24421. return s
  24422. }
  24423. // SetState sets the State field's value.
  24424. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  24425. s.State = &v
  24426. return s
  24427. }
  24428. // SetTags sets the Tags field's value.
  24429. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  24430. s.Tags = v
  24431. return s
  24432. }
  24433. // SetType sets the Type field's value.
  24434. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  24435. s.Type = &v
  24436. return s
  24437. }
  24438. // Contains the parameters for DeleteCustomerGateway.
  24439. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayRequest
  24440. type DeleteCustomerGatewayInput struct {
  24441. _ struct{} `type:"structure"`
  24442. // The ID of the customer gateway.
  24443. //
  24444. // CustomerGatewayId is a required field
  24445. CustomerGatewayId *string `type:"string" required:"true"`
  24446. // Checks whether you have the required permissions for the action, without
  24447. // actually making the request, and provides an error response. If you have
  24448. // the required permissions, the error response is DryRunOperation. Otherwise,
  24449. // it is UnauthorizedOperation.
  24450. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24451. }
  24452. // String returns the string representation
  24453. func (s DeleteCustomerGatewayInput) String() string {
  24454. return awsutil.Prettify(s)
  24455. }
  24456. // GoString returns the string representation
  24457. func (s DeleteCustomerGatewayInput) GoString() string {
  24458. return s.String()
  24459. }
  24460. // Validate inspects the fields of the type to determine if they are valid.
  24461. func (s *DeleteCustomerGatewayInput) Validate() error {
  24462. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  24463. if s.CustomerGatewayId == nil {
  24464. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  24465. }
  24466. if invalidParams.Len() > 0 {
  24467. return invalidParams
  24468. }
  24469. return nil
  24470. }
  24471. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  24472. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  24473. s.CustomerGatewayId = &v
  24474. return s
  24475. }
  24476. // SetDryRun sets the DryRun field's value.
  24477. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  24478. s.DryRun = &v
  24479. return s
  24480. }
  24481. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayOutput
  24482. type DeleteCustomerGatewayOutput struct {
  24483. _ struct{} `type:"structure"`
  24484. }
  24485. // String returns the string representation
  24486. func (s DeleteCustomerGatewayOutput) String() string {
  24487. return awsutil.Prettify(s)
  24488. }
  24489. // GoString returns the string representation
  24490. func (s DeleteCustomerGatewayOutput) GoString() string {
  24491. return s.String()
  24492. }
  24493. // Contains the parameters for DeleteDhcpOptions.
  24494. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsRequest
  24495. type DeleteDhcpOptionsInput struct {
  24496. _ struct{} `type:"structure"`
  24497. // The ID of the DHCP options set.
  24498. //
  24499. // DhcpOptionsId is a required field
  24500. DhcpOptionsId *string `type:"string" required:"true"`
  24501. // Checks whether you have the required permissions for the action, without
  24502. // actually making the request, and provides an error response. If you have
  24503. // the required permissions, the error response is DryRunOperation. Otherwise,
  24504. // it is UnauthorizedOperation.
  24505. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24506. }
  24507. // String returns the string representation
  24508. func (s DeleteDhcpOptionsInput) String() string {
  24509. return awsutil.Prettify(s)
  24510. }
  24511. // GoString returns the string representation
  24512. func (s DeleteDhcpOptionsInput) GoString() string {
  24513. return s.String()
  24514. }
  24515. // Validate inspects the fields of the type to determine if they are valid.
  24516. func (s *DeleteDhcpOptionsInput) Validate() error {
  24517. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  24518. if s.DhcpOptionsId == nil {
  24519. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  24520. }
  24521. if invalidParams.Len() > 0 {
  24522. return invalidParams
  24523. }
  24524. return nil
  24525. }
  24526. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  24527. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  24528. s.DhcpOptionsId = &v
  24529. return s
  24530. }
  24531. // SetDryRun sets the DryRun field's value.
  24532. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  24533. s.DryRun = &v
  24534. return s
  24535. }
  24536. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsOutput
  24537. type DeleteDhcpOptionsOutput struct {
  24538. _ struct{} `type:"structure"`
  24539. }
  24540. // String returns the string representation
  24541. func (s DeleteDhcpOptionsOutput) String() string {
  24542. return awsutil.Prettify(s)
  24543. }
  24544. // GoString returns the string representation
  24545. func (s DeleteDhcpOptionsOutput) GoString() string {
  24546. return s.String()
  24547. }
  24548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayRequest
  24549. type DeleteEgressOnlyInternetGatewayInput struct {
  24550. _ struct{} `type:"structure"`
  24551. // Checks whether you have the required permissions for the action, without
  24552. // actually making the request, and provides an error response. If you have
  24553. // the required permissions, the error response is DryRunOperation. Otherwise,
  24554. // it is UnauthorizedOperation.
  24555. DryRun *bool `type:"boolean"`
  24556. // The ID of the egress-only Internet gateway.
  24557. //
  24558. // EgressOnlyInternetGatewayId is a required field
  24559. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  24560. }
  24561. // String returns the string representation
  24562. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  24563. return awsutil.Prettify(s)
  24564. }
  24565. // GoString returns the string representation
  24566. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  24567. return s.String()
  24568. }
  24569. // Validate inspects the fields of the type to determine if they are valid.
  24570. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  24571. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  24572. if s.EgressOnlyInternetGatewayId == nil {
  24573. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  24574. }
  24575. if invalidParams.Len() > 0 {
  24576. return invalidParams
  24577. }
  24578. return nil
  24579. }
  24580. // SetDryRun sets the DryRun field's value.
  24581. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  24582. s.DryRun = &v
  24583. return s
  24584. }
  24585. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  24586. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  24587. s.EgressOnlyInternetGatewayId = &v
  24588. return s
  24589. }
  24590. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayResult
  24591. type DeleteEgressOnlyInternetGatewayOutput struct {
  24592. _ struct{} `type:"structure"`
  24593. // Returns true if the request succeeds; otherwise, it returns an error.
  24594. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  24595. }
  24596. // String returns the string representation
  24597. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  24598. return awsutil.Prettify(s)
  24599. }
  24600. // GoString returns the string representation
  24601. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  24602. return s.String()
  24603. }
  24604. // SetReturnCode sets the ReturnCode field's value.
  24605. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  24606. s.ReturnCode = &v
  24607. return s
  24608. }
  24609. // Contains the parameters for DeleteFlowLogs.
  24610. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsRequest
  24611. type DeleteFlowLogsInput struct {
  24612. _ struct{} `type:"structure"`
  24613. // One or more flow log IDs.
  24614. //
  24615. // FlowLogIds is a required field
  24616. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  24617. }
  24618. // String returns the string representation
  24619. func (s DeleteFlowLogsInput) String() string {
  24620. return awsutil.Prettify(s)
  24621. }
  24622. // GoString returns the string representation
  24623. func (s DeleteFlowLogsInput) GoString() string {
  24624. return s.String()
  24625. }
  24626. // Validate inspects the fields of the type to determine if they are valid.
  24627. func (s *DeleteFlowLogsInput) Validate() error {
  24628. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  24629. if s.FlowLogIds == nil {
  24630. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  24631. }
  24632. if invalidParams.Len() > 0 {
  24633. return invalidParams
  24634. }
  24635. return nil
  24636. }
  24637. // SetFlowLogIds sets the FlowLogIds field's value.
  24638. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  24639. s.FlowLogIds = v
  24640. return s
  24641. }
  24642. // Contains the output of DeleteFlowLogs.
  24643. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsResult
  24644. type DeleteFlowLogsOutput struct {
  24645. _ struct{} `type:"structure"`
  24646. // Information about the flow logs that could not be deleted successfully.
  24647. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  24648. }
  24649. // String returns the string representation
  24650. func (s DeleteFlowLogsOutput) String() string {
  24651. return awsutil.Prettify(s)
  24652. }
  24653. // GoString returns the string representation
  24654. func (s DeleteFlowLogsOutput) GoString() string {
  24655. return s.String()
  24656. }
  24657. // SetUnsuccessful sets the Unsuccessful field's value.
  24658. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  24659. s.Unsuccessful = v
  24660. return s
  24661. }
  24662. // Contains the parameters for DeleteInternetGateway.
  24663. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayRequest
  24664. type DeleteInternetGatewayInput struct {
  24665. _ struct{} `type:"structure"`
  24666. // Checks whether you have the required permissions for the action, without
  24667. // actually making the request, and provides an error response. If you have
  24668. // the required permissions, the error response is DryRunOperation. Otherwise,
  24669. // it is UnauthorizedOperation.
  24670. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24671. // The ID of the Internet gateway.
  24672. //
  24673. // InternetGatewayId is a required field
  24674. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  24675. }
  24676. // String returns the string representation
  24677. func (s DeleteInternetGatewayInput) String() string {
  24678. return awsutil.Prettify(s)
  24679. }
  24680. // GoString returns the string representation
  24681. func (s DeleteInternetGatewayInput) GoString() string {
  24682. return s.String()
  24683. }
  24684. // Validate inspects the fields of the type to determine if they are valid.
  24685. func (s *DeleteInternetGatewayInput) Validate() error {
  24686. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  24687. if s.InternetGatewayId == nil {
  24688. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  24689. }
  24690. if invalidParams.Len() > 0 {
  24691. return invalidParams
  24692. }
  24693. return nil
  24694. }
  24695. // SetDryRun sets the DryRun field's value.
  24696. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  24697. s.DryRun = &v
  24698. return s
  24699. }
  24700. // SetInternetGatewayId sets the InternetGatewayId field's value.
  24701. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  24702. s.InternetGatewayId = &v
  24703. return s
  24704. }
  24705. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayOutput
  24706. type DeleteInternetGatewayOutput struct {
  24707. _ struct{} `type:"structure"`
  24708. }
  24709. // String returns the string representation
  24710. func (s DeleteInternetGatewayOutput) String() string {
  24711. return awsutil.Prettify(s)
  24712. }
  24713. // GoString returns the string representation
  24714. func (s DeleteInternetGatewayOutput) GoString() string {
  24715. return s.String()
  24716. }
  24717. // Contains the parameters for DeleteKeyPair.
  24718. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairRequest
  24719. type DeleteKeyPairInput struct {
  24720. _ struct{} `type:"structure"`
  24721. // Checks whether you have the required permissions for the action, without
  24722. // actually making the request, and provides an error response. If you have
  24723. // the required permissions, the error response is DryRunOperation. Otherwise,
  24724. // it is UnauthorizedOperation.
  24725. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24726. // The name of the key pair.
  24727. //
  24728. // KeyName is a required field
  24729. KeyName *string `type:"string" required:"true"`
  24730. }
  24731. // String returns the string representation
  24732. func (s DeleteKeyPairInput) String() string {
  24733. return awsutil.Prettify(s)
  24734. }
  24735. // GoString returns the string representation
  24736. func (s DeleteKeyPairInput) GoString() string {
  24737. return s.String()
  24738. }
  24739. // Validate inspects the fields of the type to determine if they are valid.
  24740. func (s *DeleteKeyPairInput) Validate() error {
  24741. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  24742. if s.KeyName == nil {
  24743. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  24744. }
  24745. if invalidParams.Len() > 0 {
  24746. return invalidParams
  24747. }
  24748. return nil
  24749. }
  24750. // SetDryRun sets the DryRun field's value.
  24751. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  24752. s.DryRun = &v
  24753. return s
  24754. }
  24755. // SetKeyName sets the KeyName field's value.
  24756. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  24757. s.KeyName = &v
  24758. return s
  24759. }
  24760. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairOutput
  24761. type DeleteKeyPairOutput struct {
  24762. _ struct{} `type:"structure"`
  24763. }
  24764. // String returns the string representation
  24765. func (s DeleteKeyPairOutput) String() string {
  24766. return awsutil.Prettify(s)
  24767. }
  24768. // GoString returns the string representation
  24769. func (s DeleteKeyPairOutput) GoString() string {
  24770. return s.String()
  24771. }
  24772. // Contains the parameters for DeleteNatGateway.
  24773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayRequest
  24774. type DeleteNatGatewayInput struct {
  24775. _ struct{} `type:"structure"`
  24776. // The ID of the NAT gateway.
  24777. //
  24778. // NatGatewayId is a required field
  24779. NatGatewayId *string `type:"string" required:"true"`
  24780. }
  24781. // String returns the string representation
  24782. func (s DeleteNatGatewayInput) String() string {
  24783. return awsutil.Prettify(s)
  24784. }
  24785. // GoString returns the string representation
  24786. func (s DeleteNatGatewayInput) GoString() string {
  24787. return s.String()
  24788. }
  24789. // Validate inspects the fields of the type to determine if they are valid.
  24790. func (s *DeleteNatGatewayInput) Validate() error {
  24791. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  24792. if s.NatGatewayId == nil {
  24793. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  24794. }
  24795. if invalidParams.Len() > 0 {
  24796. return invalidParams
  24797. }
  24798. return nil
  24799. }
  24800. // SetNatGatewayId sets the NatGatewayId field's value.
  24801. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  24802. s.NatGatewayId = &v
  24803. return s
  24804. }
  24805. // Contains the output of DeleteNatGateway.
  24806. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayResult
  24807. type DeleteNatGatewayOutput struct {
  24808. _ struct{} `type:"structure"`
  24809. // The ID of the NAT gateway.
  24810. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  24811. }
  24812. // String returns the string representation
  24813. func (s DeleteNatGatewayOutput) String() string {
  24814. return awsutil.Prettify(s)
  24815. }
  24816. // GoString returns the string representation
  24817. func (s DeleteNatGatewayOutput) GoString() string {
  24818. return s.String()
  24819. }
  24820. // SetNatGatewayId sets the NatGatewayId field's value.
  24821. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  24822. s.NatGatewayId = &v
  24823. return s
  24824. }
  24825. // Contains the parameters for DeleteNetworkAclEntry.
  24826. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryRequest
  24827. type DeleteNetworkAclEntryInput struct {
  24828. _ struct{} `type:"structure"`
  24829. // Checks whether you have the required permissions for the action, without
  24830. // actually making the request, and provides an error response. If you have
  24831. // the required permissions, the error response is DryRunOperation. Otherwise,
  24832. // it is UnauthorizedOperation.
  24833. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24834. // Indicates whether the rule is an egress rule.
  24835. //
  24836. // Egress is a required field
  24837. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  24838. // The ID of the network ACL.
  24839. //
  24840. // NetworkAclId is a required field
  24841. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  24842. // The rule number of the entry to delete.
  24843. //
  24844. // RuleNumber is a required field
  24845. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  24846. }
  24847. // String returns the string representation
  24848. func (s DeleteNetworkAclEntryInput) String() string {
  24849. return awsutil.Prettify(s)
  24850. }
  24851. // GoString returns the string representation
  24852. func (s DeleteNetworkAclEntryInput) GoString() string {
  24853. return s.String()
  24854. }
  24855. // Validate inspects the fields of the type to determine if they are valid.
  24856. func (s *DeleteNetworkAclEntryInput) Validate() error {
  24857. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  24858. if s.Egress == nil {
  24859. invalidParams.Add(request.NewErrParamRequired("Egress"))
  24860. }
  24861. if s.NetworkAclId == nil {
  24862. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  24863. }
  24864. if s.RuleNumber == nil {
  24865. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  24866. }
  24867. if invalidParams.Len() > 0 {
  24868. return invalidParams
  24869. }
  24870. return nil
  24871. }
  24872. // SetDryRun sets the DryRun field's value.
  24873. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  24874. s.DryRun = &v
  24875. return s
  24876. }
  24877. // SetEgress sets the Egress field's value.
  24878. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  24879. s.Egress = &v
  24880. return s
  24881. }
  24882. // SetNetworkAclId sets the NetworkAclId field's value.
  24883. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  24884. s.NetworkAclId = &v
  24885. return s
  24886. }
  24887. // SetRuleNumber sets the RuleNumber field's value.
  24888. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  24889. s.RuleNumber = &v
  24890. return s
  24891. }
  24892. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryOutput
  24893. type DeleteNetworkAclEntryOutput struct {
  24894. _ struct{} `type:"structure"`
  24895. }
  24896. // String returns the string representation
  24897. func (s DeleteNetworkAclEntryOutput) String() string {
  24898. return awsutil.Prettify(s)
  24899. }
  24900. // GoString returns the string representation
  24901. func (s DeleteNetworkAclEntryOutput) GoString() string {
  24902. return s.String()
  24903. }
  24904. // Contains the parameters for DeleteNetworkAcl.
  24905. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclRequest
  24906. type DeleteNetworkAclInput struct {
  24907. _ struct{} `type:"structure"`
  24908. // Checks whether you have the required permissions for the action, without
  24909. // actually making the request, and provides an error response. If you have
  24910. // the required permissions, the error response is DryRunOperation. Otherwise,
  24911. // it is UnauthorizedOperation.
  24912. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24913. // The ID of the network ACL.
  24914. //
  24915. // NetworkAclId is a required field
  24916. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  24917. }
  24918. // String returns the string representation
  24919. func (s DeleteNetworkAclInput) String() string {
  24920. return awsutil.Prettify(s)
  24921. }
  24922. // GoString returns the string representation
  24923. func (s DeleteNetworkAclInput) GoString() string {
  24924. return s.String()
  24925. }
  24926. // Validate inspects the fields of the type to determine if they are valid.
  24927. func (s *DeleteNetworkAclInput) Validate() error {
  24928. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  24929. if s.NetworkAclId == nil {
  24930. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  24931. }
  24932. if invalidParams.Len() > 0 {
  24933. return invalidParams
  24934. }
  24935. return nil
  24936. }
  24937. // SetDryRun sets the DryRun field's value.
  24938. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  24939. s.DryRun = &v
  24940. return s
  24941. }
  24942. // SetNetworkAclId sets the NetworkAclId field's value.
  24943. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  24944. s.NetworkAclId = &v
  24945. return s
  24946. }
  24947. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclOutput
  24948. type DeleteNetworkAclOutput struct {
  24949. _ struct{} `type:"structure"`
  24950. }
  24951. // String returns the string representation
  24952. func (s DeleteNetworkAclOutput) String() string {
  24953. return awsutil.Prettify(s)
  24954. }
  24955. // GoString returns the string representation
  24956. func (s DeleteNetworkAclOutput) GoString() string {
  24957. return s.String()
  24958. }
  24959. // Contains the parameters for DeleteNetworkInterface.
  24960. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceRequest
  24961. type DeleteNetworkInterfaceInput struct {
  24962. _ struct{} `type:"structure"`
  24963. // Checks whether you have the required permissions for the action, without
  24964. // actually making the request, and provides an error response. If you have
  24965. // the required permissions, the error response is DryRunOperation. Otherwise,
  24966. // it is UnauthorizedOperation.
  24967. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24968. // The ID of the network interface.
  24969. //
  24970. // NetworkInterfaceId is a required field
  24971. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  24972. }
  24973. // String returns the string representation
  24974. func (s DeleteNetworkInterfaceInput) String() string {
  24975. return awsutil.Prettify(s)
  24976. }
  24977. // GoString returns the string representation
  24978. func (s DeleteNetworkInterfaceInput) GoString() string {
  24979. return s.String()
  24980. }
  24981. // Validate inspects the fields of the type to determine if they are valid.
  24982. func (s *DeleteNetworkInterfaceInput) Validate() error {
  24983. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  24984. if s.NetworkInterfaceId == nil {
  24985. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  24986. }
  24987. if invalidParams.Len() > 0 {
  24988. return invalidParams
  24989. }
  24990. return nil
  24991. }
  24992. // SetDryRun sets the DryRun field's value.
  24993. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  24994. s.DryRun = &v
  24995. return s
  24996. }
  24997. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  24998. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  24999. s.NetworkInterfaceId = &v
  25000. return s
  25001. }
  25002. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceOutput
  25003. type DeleteNetworkInterfaceOutput struct {
  25004. _ struct{} `type:"structure"`
  25005. }
  25006. // String returns the string representation
  25007. func (s DeleteNetworkInterfaceOutput) String() string {
  25008. return awsutil.Prettify(s)
  25009. }
  25010. // GoString returns the string representation
  25011. func (s DeleteNetworkInterfaceOutput) GoString() string {
  25012. return s.String()
  25013. }
  25014. // Contains the parameters for DeleteNetworkInterfacePermission.
  25015. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionRequest
  25016. type DeleteNetworkInterfacePermissionInput struct {
  25017. _ struct{} `type:"structure"`
  25018. // Checks whether you have the required permissions for the action, without
  25019. // actually making the request, and provides an error response. If you have
  25020. // the required permissions, the error response is DryRunOperation. Otherwise,
  25021. // it is UnauthorizedOperation.
  25022. DryRun *bool `type:"boolean"`
  25023. // Specify true to remove the permission even if the network interface is attached
  25024. // to an instance.
  25025. Force *bool `type:"boolean"`
  25026. // The ID of the network interface permission.
  25027. //
  25028. // NetworkInterfacePermissionId is a required field
  25029. NetworkInterfacePermissionId *string `type:"string" required:"true"`
  25030. }
  25031. // String returns the string representation
  25032. func (s DeleteNetworkInterfacePermissionInput) String() string {
  25033. return awsutil.Prettify(s)
  25034. }
  25035. // GoString returns the string representation
  25036. func (s DeleteNetworkInterfacePermissionInput) GoString() string {
  25037. return s.String()
  25038. }
  25039. // Validate inspects the fields of the type to determine if they are valid.
  25040. func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
  25041. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
  25042. if s.NetworkInterfacePermissionId == nil {
  25043. invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
  25044. }
  25045. if invalidParams.Len() > 0 {
  25046. return invalidParams
  25047. }
  25048. return nil
  25049. }
  25050. // SetDryRun sets the DryRun field's value.
  25051. func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
  25052. s.DryRun = &v
  25053. return s
  25054. }
  25055. // SetForce sets the Force field's value.
  25056. func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
  25057. s.Force = &v
  25058. return s
  25059. }
  25060. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  25061. func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
  25062. s.NetworkInterfacePermissionId = &v
  25063. return s
  25064. }
  25065. // Contains the output for DeleteNetworkInterfacePermission.
  25066. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionResult
  25067. type DeleteNetworkInterfacePermissionOutput struct {
  25068. _ struct{} `type:"structure"`
  25069. // Returns true if the request succeeds, otherwise returns an error.
  25070. Return *bool `locationName:"return" type:"boolean"`
  25071. }
  25072. // String returns the string representation
  25073. func (s DeleteNetworkInterfacePermissionOutput) String() string {
  25074. return awsutil.Prettify(s)
  25075. }
  25076. // GoString returns the string representation
  25077. func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
  25078. return s.String()
  25079. }
  25080. // SetReturn sets the Return field's value.
  25081. func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
  25082. s.Return = &v
  25083. return s
  25084. }
  25085. // Contains the parameters for DeletePlacementGroup.
  25086. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupRequest
  25087. type DeletePlacementGroupInput struct {
  25088. _ struct{} `type:"structure"`
  25089. // Checks whether you have the required permissions for the action, without
  25090. // actually making the request, and provides an error response. If you have
  25091. // the required permissions, the error response is DryRunOperation. Otherwise,
  25092. // it is UnauthorizedOperation.
  25093. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25094. // The name of the placement group.
  25095. //
  25096. // GroupName is a required field
  25097. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  25098. }
  25099. // String returns the string representation
  25100. func (s DeletePlacementGroupInput) String() string {
  25101. return awsutil.Prettify(s)
  25102. }
  25103. // GoString returns the string representation
  25104. func (s DeletePlacementGroupInput) GoString() string {
  25105. return s.String()
  25106. }
  25107. // Validate inspects the fields of the type to determine if they are valid.
  25108. func (s *DeletePlacementGroupInput) Validate() error {
  25109. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  25110. if s.GroupName == nil {
  25111. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  25112. }
  25113. if invalidParams.Len() > 0 {
  25114. return invalidParams
  25115. }
  25116. return nil
  25117. }
  25118. // SetDryRun sets the DryRun field's value.
  25119. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  25120. s.DryRun = &v
  25121. return s
  25122. }
  25123. // SetGroupName sets the GroupName field's value.
  25124. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  25125. s.GroupName = &v
  25126. return s
  25127. }
  25128. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupOutput
  25129. type DeletePlacementGroupOutput struct {
  25130. _ struct{} `type:"structure"`
  25131. }
  25132. // String returns the string representation
  25133. func (s DeletePlacementGroupOutput) String() string {
  25134. return awsutil.Prettify(s)
  25135. }
  25136. // GoString returns the string representation
  25137. func (s DeletePlacementGroupOutput) GoString() string {
  25138. return s.String()
  25139. }
  25140. // Contains the parameters for DeleteRoute.
  25141. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteRequest
  25142. type DeleteRouteInput struct {
  25143. _ struct{} `type:"structure"`
  25144. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  25145. // for the route exactly.
  25146. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  25147. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  25148. // for the route exactly.
  25149. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  25150. // Checks whether you have the required permissions for the action, without
  25151. // actually making the request, and provides an error response. If you have
  25152. // the required permissions, the error response is DryRunOperation. Otherwise,
  25153. // it is UnauthorizedOperation.
  25154. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25155. // The ID of the route table.
  25156. //
  25157. // RouteTableId is a required field
  25158. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  25159. }
  25160. // String returns the string representation
  25161. func (s DeleteRouteInput) String() string {
  25162. return awsutil.Prettify(s)
  25163. }
  25164. // GoString returns the string representation
  25165. func (s DeleteRouteInput) GoString() string {
  25166. return s.String()
  25167. }
  25168. // Validate inspects the fields of the type to determine if they are valid.
  25169. func (s *DeleteRouteInput) Validate() error {
  25170. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  25171. if s.RouteTableId == nil {
  25172. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  25173. }
  25174. if invalidParams.Len() > 0 {
  25175. return invalidParams
  25176. }
  25177. return nil
  25178. }
  25179. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  25180. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  25181. s.DestinationCidrBlock = &v
  25182. return s
  25183. }
  25184. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  25185. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  25186. s.DestinationIpv6CidrBlock = &v
  25187. return s
  25188. }
  25189. // SetDryRun sets the DryRun field's value.
  25190. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  25191. s.DryRun = &v
  25192. return s
  25193. }
  25194. // SetRouteTableId sets the RouteTableId field's value.
  25195. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  25196. s.RouteTableId = &v
  25197. return s
  25198. }
  25199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteOutput
  25200. type DeleteRouteOutput struct {
  25201. _ struct{} `type:"structure"`
  25202. }
  25203. // String returns the string representation
  25204. func (s DeleteRouteOutput) String() string {
  25205. return awsutil.Prettify(s)
  25206. }
  25207. // GoString returns the string representation
  25208. func (s DeleteRouteOutput) GoString() string {
  25209. return s.String()
  25210. }
  25211. // Contains the parameters for DeleteRouteTable.
  25212. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableRequest
  25213. type DeleteRouteTableInput struct {
  25214. _ struct{} `type:"structure"`
  25215. // Checks whether you have the required permissions for the action, without
  25216. // actually making the request, and provides an error response. If you have
  25217. // the required permissions, the error response is DryRunOperation. Otherwise,
  25218. // it is UnauthorizedOperation.
  25219. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25220. // The ID of the route table.
  25221. //
  25222. // RouteTableId is a required field
  25223. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  25224. }
  25225. // String returns the string representation
  25226. func (s DeleteRouteTableInput) String() string {
  25227. return awsutil.Prettify(s)
  25228. }
  25229. // GoString returns the string representation
  25230. func (s DeleteRouteTableInput) GoString() string {
  25231. return s.String()
  25232. }
  25233. // Validate inspects the fields of the type to determine if they are valid.
  25234. func (s *DeleteRouteTableInput) Validate() error {
  25235. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  25236. if s.RouteTableId == nil {
  25237. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  25238. }
  25239. if invalidParams.Len() > 0 {
  25240. return invalidParams
  25241. }
  25242. return nil
  25243. }
  25244. // SetDryRun sets the DryRun field's value.
  25245. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  25246. s.DryRun = &v
  25247. return s
  25248. }
  25249. // SetRouteTableId sets the RouteTableId field's value.
  25250. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  25251. s.RouteTableId = &v
  25252. return s
  25253. }
  25254. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableOutput
  25255. type DeleteRouteTableOutput struct {
  25256. _ struct{} `type:"structure"`
  25257. }
  25258. // String returns the string representation
  25259. func (s DeleteRouteTableOutput) String() string {
  25260. return awsutil.Prettify(s)
  25261. }
  25262. // GoString returns the string representation
  25263. func (s DeleteRouteTableOutput) GoString() string {
  25264. return s.String()
  25265. }
  25266. // Contains the parameters for DeleteSecurityGroup.
  25267. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupRequest
  25268. type DeleteSecurityGroupInput struct {
  25269. _ struct{} `type:"structure"`
  25270. // Checks whether you have the required permissions for the action, without
  25271. // actually making the request, and provides an error response. If you have
  25272. // the required permissions, the error response is DryRunOperation. Otherwise,
  25273. // it is UnauthorizedOperation.
  25274. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25275. // The ID of the security group. Required for a nondefault VPC.
  25276. GroupId *string `type:"string"`
  25277. // [EC2-Classic, default VPC] The name of the security group. You can specify
  25278. // either the security group name or the security group ID.
  25279. GroupName *string `type:"string"`
  25280. }
  25281. // String returns the string representation
  25282. func (s DeleteSecurityGroupInput) String() string {
  25283. return awsutil.Prettify(s)
  25284. }
  25285. // GoString returns the string representation
  25286. func (s DeleteSecurityGroupInput) GoString() string {
  25287. return s.String()
  25288. }
  25289. // SetDryRun sets the DryRun field's value.
  25290. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  25291. s.DryRun = &v
  25292. return s
  25293. }
  25294. // SetGroupId sets the GroupId field's value.
  25295. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  25296. s.GroupId = &v
  25297. return s
  25298. }
  25299. // SetGroupName sets the GroupName field's value.
  25300. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  25301. s.GroupName = &v
  25302. return s
  25303. }
  25304. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupOutput
  25305. type DeleteSecurityGroupOutput struct {
  25306. _ struct{} `type:"structure"`
  25307. }
  25308. // String returns the string representation
  25309. func (s DeleteSecurityGroupOutput) String() string {
  25310. return awsutil.Prettify(s)
  25311. }
  25312. // GoString returns the string representation
  25313. func (s DeleteSecurityGroupOutput) GoString() string {
  25314. return s.String()
  25315. }
  25316. // Contains the parameters for DeleteSnapshot.
  25317. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotRequest
  25318. type DeleteSnapshotInput struct {
  25319. _ struct{} `type:"structure"`
  25320. // Checks whether you have the required permissions for the action, without
  25321. // actually making the request, and provides an error response. If you have
  25322. // the required permissions, the error response is DryRunOperation. Otherwise,
  25323. // it is UnauthorizedOperation.
  25324. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25325. // The ID of the EBS snapshot.
  25326. //
  25327. // SnapshotId is a required field
  25328. SnapshotId *string `type:"string" required:"true"`
  25329. }
  25330. // String returns the string representation
  25331. func (s DeleteSnapshotInput) String() string {
  25332. return awsutil.Prettify(s)
  25333. }
  25334. // GoString returns the string representation
  25335. func (s DeleteSnapshotInput) GoString() string {
  25336. return s.String()
  25337. }
  25338. // Validate inspects the fields of the type to determine if they are valid.
  25339. func (s *DeleteSnapshotInput) Validate() error {
  25340. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  25341. if s.SnapshotId == nil {
  25342. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  25343. }
  25344. if invalidParams.Len() > 0 {
  25345. return invalidParams
  25346. }
  25347. return nil
  25348. }
  25349. // SetDryRun sets the DryRun field's value.
  25350. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  25351. s.DryRun = &v
  25352. return s
  25353. }
  25354. // SetSnapshotId sets the SnapshotId field's value.
  25355. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  25356. s.SnapshotId = &v
  25357. return s
  25358. }
  25359. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotOutput
  25360. type DeleteSnapshotOutput struct {
  25361. _ struct{} `type:"structure"`
  25362. }
  25363. // String returns the string representation
  25364. func (s DeleteSnapshotOutput) String() string {
  25365. return awsutil.Prettify(s)
  25366. }
  25367. // GoString returns the string representation
  25368. func (s DeleteSnapshotOutput) GoString() string {
  25369. return s.String()
  25370. }
  25371. // Contains the parameters for DeleteSpotDatafeedSubscription.
  25372. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionRequest
  25373. type DeleteSpotDatafeedSubscriptionInput struct {
  25374. _ struct{} `type:"structure"`
  25375. // Checks whether you have the required permissions for the action, without
  25376. // actually making the request, and provides an error response. If you have
  25377. // the required permissions, the error response is DryRunOperation. Otherwise,
  25378. // it is UnauthorizedOperation.
  25379. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25380. }
  25381. // String returns the string representation
  25382. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  25383. return awsutil.Prettify(s)
  25384. }
  25385. // GoString returns the string representation
  25386. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  25387. return s.String()
  25388. }
  25389. // SetDryRun sets the DryRun field's value.
  25390. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  25391. s.DryRun = &v
  25392. return s
  25393. }
  25394. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionOutput
  25395. type DeleteSpotDatafeedSubscriptionOutput struct {
  25396. _ struct{} `type:"structure"`
  25397. }
  25398. // String returns the string representation
  25399. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  25400. return awsutil.Prettify(s)
  25401. }
  25402. // GoString returns the string representation
  25403. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  25404. return s.String()
  25405. }
  25406. // Contains the parameters for DeleteSubnet.
  25407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetRequest
  25408. type DeleteSubnetInput struct {
  25409. _ struct{} `type:"structure"`
  25410. // Checks whether you have the required permissions for the action, without
  25411. // actually making the request, and provides an error response. If you have
  25412. // the required permissions, the error response is DryRunOperation. Otherwise,
  25413. // it is UnauthorizedOperation.
  25414. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25415. // The ID of the subnet.
  25416. //
  25417. // SubnetId is a required field
  25418. SubnetId *string `type:"string" required:"true"`
  25419. }
  25420. // String returns the string representation
  25421. func (s DeleteSubnetInput) String() string {
  25422. return awsutil.Prettify(s)
  25423. }
  25424. // GoString returns the string representation
  25425. func (s DeleteSubnetInput) GoString() string {
  25426. return s.String()
  25427. }
  25428. // Validate inspects the fields of the type to determine if they are valid.
  25429. func (s *DeleteSubnetInput) Validate() error {
  25430. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  25431. if s.SubnetId == nil {
  25432. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  25433. }
  25434. if invalidParams.Len() > 0 {
  25435. return invalidParams
  25436. }
  25437. return nil
  25438. }
  25439. // SetDryRun sets the DryRun field's value.
  25440. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  25441. s.DryRun = &v
  25442. return s
  25443. }
  25444. // SetSubnetId sets the SubnetId field's value.
  25445. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  25446. s.SubnetId = &v
  25447. return s
  25448. }
  25449. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetOutput
  25450. type DeleteSubnetOutput struct {
  25451. _ struct{} `type:"structure"`
  25452. }
  25453. // String returns the string representation
  25454. func (s DeleteSubnetOutput) String() string {
  25455. return awsutil.Prettify(s)
  25456. }
  25457. // GoString returns the string representation
  25458. func (s DeleteSubnetOutput) GoString() string {
  25459. return s.String()
  25460. }
  25461. // Contains the parameters for DeleteTags.
  25462. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsRequest
  25463. type DeleteTagsInput struct {
  25464. _ struct{} `type:"structure"`
  25465. // Checks whether you have the required permissions for the action, without
  25466. // actually making the request, and provides an error response. If you have
  25467. // the required permissions, the error response is DryRunOperation. Otherwise,
  25468. // it is UnauthorizedOperation.
  25469. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25470. // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
  25471. // one resource ID.
  25472. //
  25473. // Resources is a required field
  25474. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  25475. // One or more tags to delete. If you omit the value parameter, we delete the
  25476. // tag regardless of its value. If you specify this parameter with an empty
  25477. // string as the value, we delete the key only if its value is an empty string.
  25478. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  25479. }
  25480. // String returns the string representation
  25481. func (s DeleteTagsInput) String() string {
  25482. return awsutil.Prettify(s)
  25483. }
  25484. // GoString returns the string representation
  25485. func (s DeleteTagsInput) GoString() string {
  25486. return s.String()
  25487. }
  25488. // Validate inspects the fields of the type to determine if they are valid.
  25489. func (s *DeleteTagsInput) Validate() error {
  25490. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  25491. if s.Resources == nil {
  25492. invalidParams.Add(request.NewErrParamRequired("Resources"))
  25493. }
  25494. if invalidParams.Len() > 0 {
  25495. return invalidParams
  25496. }
  25497. return nil
  25498. }
  25499. // SetDryRun sets the DryRun field's value.
  25500. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  25501. s.DryRun = &v
  25502. return s
  25503. }
  25504. // SetResources sets the Resources field's value.
  25505. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  25506. s.Resources = v
  25507. return s
  25508. }
  25509. // SetTags sets the Tags field's value.
  25510. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  25511. s.Tags = v
  25512. return s
  25513. }
  25514. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsOutput
  25515. type DeleteTagsOutput struct {
  25516. _ struct{} `type:"structure"`
  25517. }
  25518. // String returns the string representation
  25519. func (s DeleteTagsOutput) String() string {
  25520. return awsutil.Prettify(s)
  25521. }
  25522. // GoString returns the string representation
  25523. func (s DeleteTagsOutput) GoString() string {
  25524. return s.String()
  25525. }
  25526. // Contains the parameters for DeleteVolume.
  25527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeRequest
  25528. type DeleteVolumeInput struct {
  25529. _ struct{} `type:"structure"`
  25530. // Checks whether you have the required permissions for the action, without
  25531. // actually making the request, and provides an error response. If you have
  25532. // the required permissions, the error response is DryRunOperation. Otherwise,
  25533. // it is UnauthorizedOperation.
  25534. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25535. // The ID of the volume.
  25536. //
  25537. // VolumeId is a required field
  25538. VolumeId *string `type:"string" required:"true"`
  25539. }
  25540. // String returns the string representation
  25541. func (s DeleteVolumeInput) String() string {
  25542. return awsutil.Prettify(s)
  25543. }
  25544. // GoString returns the string representation
  25545. func (s DeleteVolumeInput) GoString() string {
  25546. return s.String()
  25547. }
  25548. // Validate inspects the fields of the type to determine if they are valid.
  25549. func (s *DeleteVolumeInput) Validate() error {
  25550. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  25551. if s.VolumeId == nil {
  25552. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  25553. }
  25554. if invalidParams.Len() > 0 {
  25555. return invalidParams
  25556. }
  25557. return nil
  25558. }
  25559. // SetDryRun sets the DryRun field's value.
  25560. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  25561. s.DryRun = &v
  25562. return s
  25563. }
  25564. // SetVolumeId sets the VolumeId field's value.
  25565. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  25566. s.VolumeId = &v
  25567. return s
  25568. }
  25569. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeOutput
  25570. type DeleteVolumeOutput struct {
  25571. _ struct{} `type:"structure"`
  25572. }
  25573. // String returns the string representation
  25574. func (s DeleteVolumeOutput) String() string {
  25575. return awsutil.Prettify(s)
  25576. }
  25577. // GoString returns the string representation
  25578. func (s DeleteVolumeOutput) GoString() string {
  25579. return s.String()
  25580. }
  25581. // Contains the parameters for DeleteVpcEndpoints.
  25582. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsRequest
  25583. type DeleteVpcEndpointsInput struct {
  25584. _ struct{} `type:"structure"`
  25585. // Checks whether you have the required permissions for the action, without
  25586. // actually making the request, and provides an error response. If you have
  25587. // the required permissions, the error response is DryRunOperation. Otherwise,
  25588. // it is UnauthorizedOperation.
  25589. DryRun *bool `type:"boolean"`
  25590. // One or more endpoint IDs.
  25591. //
  25592. // VpcEndpointIds is a required field
  25593. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  25594. }
  25595. // String returns the string representation
  25596. func (s DeleteVpcEndpointsInput) String() string {
  25597. return awsutil.Prettify(s)
  25598. }
  25599. // GoString returns the string representation
  25600. func (s DeleteVpcEndpointsInput) GoString() string {
  25601. return s.String()
  25602. }
  25603. // Validate inspects the fields of the type to determine if they are valid.
  25604. func (s *DeleteVpcEndpointsInput) Validate() error {
  25605. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  25606. if s.VpcEndpointIds == nil {
  25607. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  25608. }
  25609. if invalidParams.Len() > 0 {
  25610. return invalidParams
  25611. }
  25612. return nil
  25613. }
  25614. // SetDryRun sets the DryRun field's value.
  25615. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  25616. s.DryRun = &v
  25617. return s
  25618. }
  25619. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  25620. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  25621. s.VpcEndpointIds = v
  25622. return s
  25623. }
  25624. // Contains the output of DeleteVpcEndpoints.
  25625. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsResult
  25626. type DeleteVpcEndpointsOutput struct {
  25627. _ struct{} `type:"structure"`
  25628. // Information about the endpoints that were not successfully deleted.
  25629. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  25630. }
  25631. // String returns the string representation
  25632. func (s DeleteVpcEndpointsOutput) String() string {
  25633. return awsutil.Prettify(s)
  25634. }
  25635. // GoString returns the string representation
  25636. func (s DeleteVpcEndpointsOutput) GoString() string {
  25637. return s.String()
  25638. }
  25639. // SetUnsuccessful sets the Unsuccessful field's value.
  25640. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  25641. s.Unsuccessful = v
  25642. return s
  25643. }
  25644. // Contains the parameters for DeleteVpc.
  25645. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcRequest
  25646. type DeleteVpcInput struct {
  25647. _ struct{} `type:"structure"`
  25648. // Checks whether you have the required permissions for the action, without
  25649. // actually making the request, and provides an error response. If you have
  25650. // the required permissions, the error response is DryRunOperation. Otherwise,
  25651. // it is UnauthorizedOperation.
  25652. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25653. // The ID of the VPC.
  25654. //
  25655. // VpcId is a required field
  25656. VpcId *string `type:"string" required:"true"`
  25657. }
  25658. // String returns the string representation
  25659. func (s DeleteVpcInput) String() string {
  25660. return awsutil.Prettify(s)
  25661. }
  25662. // GoString returns the string representation
  25663. func (s DeleteVpcInput) GoString() string {
  25664. return s.String()
  25665. }
  25666. // Validate inspects the fields of the type to determine if they are valid.
  25667. func (s *DeleteVpcInput) Validate() error {
  25668. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  25669. if s.VpcId == nil {
  25670. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  25671. }
  25672. if invalidParams.Len() > 0 {
  25673. return invalidParams
  25674. }
  25675. return nil
  25676. }
  25677. // SetDryRun sets the DryRun field's value.
  25678. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  25679. s.DryRun = &v
  25680. return s
  25681. }
  25682. // SetVpcId sets the VpcId field's value.
  25683. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  25684. s.VpcId = &v
  25685. return s
  25686. }
  25687. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcOutput
  25688. type DeleteVpcOutput struct {
  25689. _ struct{} `type:"structure"`
  25690. }
  25691. // String returns the string representation
  25692. func (s DeleteVpcOutput) String() string {
  25693. return awsutil.Prettify(s)
  25694. }
  25695. // GoString returns the string representation
  25696. func (s DeleteVpcOutput) GoString() string {
  25697. return s.String()
  25698. }
  25699. // Contains the parameters for DeleteVpcPeeringConnection.
  25700. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionRequest
  25701. type DeleteVpcPeeringConnectionInput struct {
  25702. _ struct{} `type:"structure"`
  25703. // Checks whether you have the required permissions for the action, without
  25704. // actually making the request, and provides an error response. If you have
  25705. // the required permissions, the error response is DryRunOperation. Otherwise,
  25706. // it is UnauthorizedOperation.
  25707. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25708. // The ID of the VPC peering connection.
  25709. //
  25710. // VpcPeeringConnectionId is a required field
  25711. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  25712. }
  25713. // String returns the string representation
  25714. func (s DeleteVpcPeeringConnectionInput) String() string {
  25715. return awsutil.Prettify(s)
  25716. }
  25717. // GoString returns the string representation
  25718. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  25719. return s.String()
  25720. }
  25721. // Validate inspects the fields of the type to determine if they are valid.
  25722. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  25723. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  25724. if s.VpcPeeringConnectionId == nil {
  25725. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  25726. }
  25727. if invalidParams.Len() > 0 {
  25728. return invalidParams
  25729. }
  25730. return nil
  25731. }
  25732. // SetDryRun sets the DryRun field's value.
  25733. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  25734. s.DryRun = &v
  25735. return s
  25736. }
  25737. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  25738. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  25739. s.VpcPeeringConnectionId = &v
  25740. return s
  25741. }
  25742. // Contains the output of DeleteVpcPeeringConnection.
  25743. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionResult
  25744. type DeleteVpcPeeringConnectionOutput struct {
  25745. _ struct{} `type:"structure"`
  25746. // Returns true if the request succeeds; otherwise, it returns an error.
  25747. Return *bool `locationName:"return" type:"boolean"`
  25748. }
  25749. // String returns the string representation
  25750. func (s DeleteVpcPeeringConnectionOutput) String() string {
  25751. return awsutil.Prettify(s)
  25752. }
  25753. // GoString returns the string representation
  25754. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  25755. return s.String()
  25756. }
  25757. // SetReturn sets the Return field's value.
  25758. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  25759. s.Return = &v
  25760. return s
  25761. }
  25762. // Contains the parameters for DeleteVpnConnection.
  25763. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRequest
  25764. type DeleteVpnConnectionInput struct {
  25765. _ struct{} `type:"structure"`
  25766. // Checks whether you have the required permissions for the action, without
  25767. // actually making the request, and provides an error response. If you have
  25768. // the required permissions, the error response is DryRunOperation. Otherwise,
  25769. // it is UnauthorizedOperation.
  25770. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25771. // The ID of the VPN connection.
  25772. //
  25773. // VpnConnectionId is a required field
  25774. VpnConnectionId *string `type:"string" required:"true"`
  25775. }
  25776. // String returns the string representation
  25777. func (s DeleteVpnConnectionInput) String() string {
  25778. return awsutil.Prettify(s)
  25779. }
  25780. // GoString returns the string representation
  25781. func (s DeleteVpnConnectionInput) GoString() string {
  25782. return s.String()
  25783. }
  25784. // Validate inspects the fields of the type to determine if they are valid.
  25785. func (s *DeleteVpnConnectionInput) Validate() error {
  25786. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  25787. if s.VpnConnectionId == nil {
  25788. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  25789. }
  25790. if invalidParams.Len() > 0 {
  25791. return invalidParams
  25792. }
  25793. return nil
  25794. }
  25795. // SetDryRun sets the DryRun field's value.
  25796. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  25797. s.DryRun = &v
  25798. return s
  25799. }
  25800. // SetVpnConnectionId sets the VpnConnectionId field's value.
  25801. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  25802. s.VpnConnectionId = &v
  25803. return s
  25804. }
  25805. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionOutput
  25806. type DeleteVpnConnectionOutput struct {
  25807. _ struct{} `type:"structure"`
  25808. }
  25809. // String returns the string representation
  25810. func (s DeleteVpnConnectionOutput) String() string {
  25811. return awsutil.Prettify(s)
  25812. }
  25813. // GoString returns the string representation
  25814. func (s DeleteVpnConnectionOutput) GoString() string {
  25815. return s.String()
  25816. }
  25817. // Contains the parameters for DeleteVpnConnectionRoute.
  25818. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteRequest
  25819. type DeleteVpnConnectionRouteInput struct {
  25820. _ struct{} `type:"structure"`
  25821. // The CIDR block associated with the local subnet of the customer network.
  25822. //
  25823. // DestinationCidrBlock is a required field
  25824. DestinationCidrBlock *string `type:"string" required:"true"`
  25825. // The ID of the VPN connection.
  25826. //
  25827. // VpnConnectionId is a required field
  25828. VpnConnectionId *string `type:"string" required:"true"`
  25829. }
  25830. // String returns the string representation
  25831. func (s DeleteVpnConnectionRouteInput) String() string {
  25832. return awsutil.Prettify(s)
  25833. }
  25834. // GoString returns the string representation
  25835. func (s DeleteVpnConnectionRouteInput) GoString() string {
  25836. return s.String()
  25837. }
  25838. // Validate inspects the fields of the type to determine if they are valid.
  25839. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  25840. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  25841. if s.DestinationCidrBlock == nil {
  25842. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  25843. }
  25844. if s.VpnConnectionId == nil {
  25845. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  25846. }
  25847. if invalidParams.Len() > 0 {
  25848. return invalidParams
  25849. }
  25850. return nil
  25851. }
  25852. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  25853. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  25854. s.DestinationCidrBlock = &v
  25855. return s
  25856. }
  25857. // SetVpnConnectionId sets the VpnConnectionId field's value.
  25858. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  25859. s.VpnConnectionId = &v
  25860. return s
  25861. }
  25862. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteOutput
  25863. type DeleteVpnConnectionRouteOutput struct {
  25864. _ struct{} `type:"structure"`
  25865. }
  25866. // String returns the string representation
  25867. func (s DeleteVpnConnectionRouteOutput) String() string {
  25868. return awsutil.Prettify(s)
  25869. }
  25870. // GoString returns the string representation
  25871. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  25872. return s.String()
  25873. }
  25874. // Contains the parameters for DeleteVpnGateway.
  25875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayRequest
  25876. type DeleteVpnGatewayInput struct {
  25877. _ struct{} `type:"structure"`
  25878. // Checks whether you have the required permissions for the action, without
  25879. // actually making the request, and provides an error response. If you have
  25880. // the required permissions, the error response is DryRunOperation. Otherwise,
  25881. // it is UnauthorizedOperation.
  25882. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25883. // The ID of the virtual private gateway.
  25884. //
  25885. // VpnGatewayId is a required field
  25886. VpnGatewayId *string `type:"string" required:"true"`
  25887. }
  25888. // String returns the string representation
  25889. func (s DeleteVpnGatewayInput) String() string {
  25890. return awsutil.Prettify(s)
  25891. }
  25892. // GoString returns the string representation
  25893. func (s DeleteVpnGatewayInput) GoString() string {
  25894. return s.String()
  25895. }
  25896. // Validate inspects the fields of the type to determine if they are valid.
  25897. func (s *DeleteVpnGatewayInput) Validate() error {
  25898. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  25899. if s.VpnGatewayId == nil {
  25900. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  25901. }
  25902. if invalidParams.Len() > 0 {
  25903. return invalidParams
  25904. }
  25905. return nil
  25906. }
  25907. // SetDryRun sets the DryRun field's value.
  25908. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  25909. s.DryRun = &v
  25910. return s
  25911. }
  25912. // SetVpnGatewayId sets the VpnGatewayId field's value.
  25913. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  25914. s.VpnGatewayId = &v
  25915. return s
  25916. }
  25917. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayOutput
  25918. type DeleteVpnGatewayOutput struct {
  25919. _ struct{} `type:"structure"`
  25920. }
  25921. // String returns the string representation
  25922. func (s DeleteVpnGatewayOutput) String() string {
  25923. return awsutil.Prettify(s)
  25924. }
  25925. // GoString returns the string representation
  25926. func (s DeleteVpnGatewayOutput) GoString() string {
  25927. return s.String()
  25928. }
  25929. // Contains the parameters for DeregisterImage.
  25930. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageRequest
  25931. type DeregisterImageInput struct {
  25932. _ struct{} `type:"structure"`
  25933. // Checks whether you have the required permissions for the action, without
  25934. // actually making the request, and provides an error response. If you have
  25935. // the required permissions, the error response is DryRunOperation. Otherwise,
  25936. // it is UnauthorizedOperation.
  25937. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25938. // The ID of the AMI.
  25939. //
  25940. // ImageId is a required field
  25941. ImageId *string `type:"string" required:"true"`
  25942. }
  25943. // String returns the string representation
  25944. func (s DeregisterImageInput) String() string {
  25945. return awsutil.Prettify(s)
  25946. }
  25947. // GoString returns the string representation
  25948. func (s DeregisterImageInput) GoString() string {
  25949. return s.String()
  25950. }
  25951. // Validate inspects the fields of the type to determine if they are valid.
  25952. func (s *DeregisterImageInput) Validate() error {
  25953. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  25954. if s.ImageId == nil {
  25955. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  25956. }
  25957. if invalidParams.Len() > 0 {
  25958. return invalidParams
  25959. }
  25960. return nil
  25961. }
  25962. // SetDryRun sets the DryRun field's value.
  25963. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  25964. s.DryRun = &v
  25965. return s
  25966. }
  25967. // SetImageId sets the ImageId field's value.
  25968. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  25969. s.ImageId = &v
  25970. return s
  25971. }
  25972. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageOutput
  25973. type DeregisterImageOutput struct {
  25974. _ struct{} `type:"structure"`
  25975. }
  25976. // String returns the string representation
  25977. func (s DeregisterImageOutput) String() string {
  25978. return awsutil.Prettify(s)
  25979. }
  25980. // GoString returns the string representation
  25981. func (s DeregisterImageOutput) GoString() string {
  25982. return s.String()
  25983. }
  25984. // Contains the parameters for DescribeAccountAttributes.
  25985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesRequest
  25986. type DescribeAccountAttributesInput struct {
  25987. _ struct{} `type:"structure"`
  25988. // One or more account attribute names.
  25989. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  25990. // Checks whether you have the required permissions for the action, without
  25991. // actually making the request, and provides an error response. If you have
  25992. // the required permissions, the error response is DryRunOperation. Otherwise,
  25993. // it is UnauthorizedOperation.
  25994. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25995. }
  25996. // String returns the string representation
  25997. func (s DescribeAccountAttributesInput) String() string {
  25998. return awsutil.Prettify(s)
  25999. }
  26000. // GoString returns the string representation
  26001. func (s DescribeAccountAttributesInput) GoString() string {
  26002. return s.String()
  26003. }
  26004. // SetAttributeNames sets the AttributeNames field's value.
  26005. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  26006. s.AttributeNames = v
  26007. return s
  26008. }
  26009. // SetDryRun sets the DryRun field's value.
  26010. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  26011. s.DryRun = &v
  26012. return s
  26013. }
  26014. // Contains the output of DescribeAccountAttributes.
  26015. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesResult
  26016. type DescribeAccountAttributesOutput struct {
  26017. _ struct{} `type:"structure"`
  26018. // Information about one or more account attributes.
  26019. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  26020. }
  26021. // String returns the string representation
  26022. func (s DescribeAccountAttributesOutput) String() string {
  26023. return awsutil.Prettify(s)
  26024. }
  26025. // GoString returns the string representation
  26026. func (s DescribeAccountAttributesOutput) GoString() string {
  26027. return s.String()
  26028. }
  26029. // SetAccountAttributes sets the AccountAttributes field's value.
  26030. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  26031. s.AccountAttributes = v
  26032. return s
  26033. }
  26034. // Contains the parameters for DescribeAddresses.
  26035. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesRequest
  26036. type DescribeAddressesInput struct {
  26037. _ struct{} `type:"structure"`
  26038. // [EC2-VPC] One or more allocation IDs.
  26039. //
  26040. // Default: Describes all your Elastic IP addresses.
  26041. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  26042. // Checks whether you have the required permissions for the action, without
  26043. // actually making the request, and provides an error response. If you have
  26044. // the required permissions, the error response is DryRunOperation. Otherwise,
  26045. // it is UnauthorizedOperation.
  26046. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26047. // One or more filters. Filter names and values are case-sensitive.
  26048. //
  26049. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  26050. //
  26051. // * association-id - [EC2-VPC] The association ID for the address.
  26052. //
  26053. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  26054. // or in a VPC (vpc).
  26055. //
  26056. // * instance-id - The ID of the instance the address is associated with,
  26057. // if any.
  26058. //
  26059. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  26060. // the address is associated with, if any.
  26061. //
  26062. // * network-interface-owner-id - The AWS account ID of the owner.
  26063. //
  26064. // * private-ip-address - [EC2-VPC] The private IP address associated with
  26065. // the Elastic IP address.
  26066. //
  26067. // * public-ip - The Elastic IP address.
  26068. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26069. // [EC2-Classic] One or more Elastic IP addresses.
  26070. //
  26071. // Default: Describes all your Elastic IP addresses.
  26072. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  26073. }
  26074. // String returns the string representation
  26075. func (s DescribeAddressesInput) String() string {
  26076. return awsutil.Prettify(s)
  26077. }
  26078. // GoString returns the string representation
  26079. func (s DescribeAddressesInput) GoString() string {
  26080. return s.String()
  26081. }
  26082. // SetAllocationIds sets the AllocationIds field's value.
  26083. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  26084. s.AllocationIds = v
  26085. return s
  26086. }
  26087. // SetDryRun sets the DryRun field's value.
  26088. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  26089. s.DryRun = &v
  26090. return s
  26091. }
  26092. // SetFilters sets the Filters field's value.
  26093. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  26094. s.Filters = v
  26095. return s
  26096. }
  26097. // SetPublicIps sets the PublicIps field's value.
  26098. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  26099. s.PublicIps = v
  26100. return s
  26101. }
  26102. // Contains the output of DescribeAddresses.
  26103. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesResult
  26104. type DescribeAddressesOutput struct {
  26105. _ struct{} `type:"structure"`
  26106. // Information about one or more Elastic IP addresses.
  26107. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  26108. }
  26109. // String returns the string representation
  26110. func (s DescribeAddressesOutput) String() string {
  26111. return awsutil.Prettify(s)
  26112. }
  26113. // GoString returns the string representation
  26114. func (s DescribeAddressesOutput) GoString() string {
  26115. return s.String()
  26116. }
  26117. // SetAddresses sets the Addresses field's value.
  26118. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  26119. s.Addresses = v
  26120. return s
  26121. }
  26122. // Contains the parameters for DescribeAvailabilityZones.
  26123. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesRequest
  26124. type DescribeAvailabilityZonesInput struct {
  26125. _ struct{} `type:"structure"`
  26126. // Checks whether you have the required permissions for the action, without
  26127. // actually making the request, and provides an error response. If you have
  26128. // the required permissions, the error response is DryRunOperation. Otherwise,
  26129. // it is UnauthorizedOperation.
  26130. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26131. // One or more filters.
  26132. //
  26133. // * message - Information about the Availability Zone.
  26134. //
  26135. // * region-name - The name of the region for the Availability Zone (for
  26136. // example, us-east-1).
  26137. //
  26138. // * state - The state of the Availability Zone (available | information
  26139. // | impaired | unavailable).
  26140. //
  26141. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  26142. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26143. // The names of one or more Availability Zones.
  26144. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  26145. }
  26146. // String returns the string representation
  26147. func (s DescribeAvailabilityZonesInput) String() string {
  26148. return awsutil.Prettify(s)
  26149. }
  26150. // GoString returns the string representation
  26151. func (s DescribeAvailabilityZonesInput) GoString() string {
  26152. return s.String()
  26153. }
  26154. // SetDryRun sets the DryRun field's value.
  26155. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  26156. s.DryRun = &v
  26157. return s
  26158. }
  26159. // SetFilters sets the Filters field's value.
  26160. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  26161. s.Filters = v
  26162. return s
  26163. }
  26164. // SetZoneNames sets the ZoneNames field's value.
  26165. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  26166. s.ZoneNames = v
  26167. return s
  26168. }
  26169. // Contains the output of DescribeAvailabiltyZones.
  26170. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult
  26171. type DescribeAvailabilityZonesOutput struct {
  26172. _ struct{} `type:"structure"`
  26173. // Information about one or more Availability Zones.
  26174. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  26175. }
  26176. // String returns the string representation
  26177. func (s DescribeAvailabilityZonesOutput) String() string {
  26178. return awsutil.Prettify(s)
  26179. }
  26180. // GoString returns the string representation
  26181. func (s DescribeAvailabilityZonesOutput) GoString() string {
  26182. return s.String()
  26183. }
  26184. // SetAvailabilityZones sets the AvailabilityZones field's value.
  26185. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  26186. s.AvailabilityZones = v
  26187. return s
  26188. }
  26189. // Contains the parameters for DescribeBundleTasks.
  26190. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksRequest
  26191. type DescribeBundleTasksInput struct {
  26192. _ struct{} `type:"structure"`
  26193. // One or more bundle task IDs.
  26194. //
  26195. // Default: Describes all your bundle tasks.
  26196. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  26197. // Checks whether you have the required permissions for the action, without
  26198. // actually making the request, and provides an error response. If you have
  26199. // the required permissions, the error response is DryRunOperation. Otherwise,
  26200. // it is UnauthorizedOperation.
  26201. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26202. // One or more filters.
  26203. //
  26204. // * bundle-id - The ID of the bundle task.
  26205. //
  26206. // * error-code - If the task failed, the error code returned.
  26207. //
  26208. // * error-message - If the task failed, the error message returned.
  26209. //
  26210. // * instance-id - The ID of the instance.
  26211. //
  26212. // * progress - The level of task completion, as a percentage (for example,
  26213. // 20%).
  26214. //
  26215. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  26216. //
  26217. // * s3-prefix - The beginning of the AMI name.
  26218. //
  26219. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  26220. //
  26221. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  26222. // | storing | cancelling | complete | failed).
  26223. //
  26224. // * update-time - The time of the most recent update for the task.
  26225. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26226. }
  26227. // String returns the string representation
  26228. func (s DescribeBundleTasksInput) String() string {
  26229. return awsutil.Prettify(s)
  26230. }
  26231. // GoString returns the string representation
  26232. func (s DescribeBundleTasksInput) GoString() string {
  26233. return s.String()
  26234. }
  26235. // SetBundleIds sets the BundleIds field's value.
  26236. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  26237. s.BundleIds = v
  26238. return s
  26239. }
  26240. // SetDryRun sets the DryRun field's value.
  26241. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  26242. s.DryRun = &v
  26243. return s
  26244. }
  26245. // SetFilters sets the Filters field's value.
  26246. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  26247. s.Filters = v
  26248. return s
  26249. }
  26250. // Contains the output of DescribeBundleTasks.
  26251. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksResult
  26252. type DescribeBundleTasksOutput struct {
  26253. _ struct{} `type:"structure"`
  26254. // Information about one or more bundle tasks.
  26255. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  26256. }
  26257. // String returns the string representation
  26258. func (s DescribeBundleTasksOutput) String() string {
  26259. return awsutil.Prettify(s)
  26260. }
  26261. // GoString returns the string representation
  26262. func (s DescribeBundleTasksOutput) GoString() string {
  26263. return s.String()
  26264. }
  26265. // SetBundleTasks sets the BundleTasks field's value.
  26266. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  26267. s.BundleTasks = v
  26268. return s
  26269. }
  26270. // Contains the parameters for DescribeClassicLinkInstances.
  26271. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesRequest
  26272. type DescribeClassicLinkInstancesInput struct {
  26273. _ struct{} `type:"structure"`
  26274. // Checks whether you have the required permissions for the action, without
  26275. // actually making the request, and provides an error response. If you have
  26276. // the required permissions, the error response is DryRunOperation. Otherwise,
  26277. // it is UnauthorizedOperation.
  26278. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26279. // One or more filters.
  26280. //
  26281. // * group-id - The ID of a VPC security group that's associated with the
  26282. // instance.
  26283. //
  26284. // * instance-id - The ID of the instance.
  26285. //
  26286. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26287. //
  26288. // * tag-key - The key of a tag assigned to the resource. This filter is
  26289. // independent of the tag-value filter. For example, if you use both the
  26290. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26291. // assigned both the tag key Purpose (regardless of what the tag's value
  26292. // is), and the tag value X (regardless of what the tag's key is). If you
  26293. // want to list only resources where Purpose is X, see the tag:key=value
  26294. // filter.
  26295. //
  26296. // * tag-value - The value of a tag assigned to the resource. This filter
  26297. // is independent of the tag-key filter.
  26298. //
  26299. // * vpc-id - The ID of the VPC that the instance is linked to.
  26300. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26301. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  26302. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  26303. // The maximum number of results to return for the request in a single page.
  26304. // The remaining results of the initial request can be seen by sending another
  26305. // request with the returned NextToken value. This value can be between 5 and
  26306. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  26307. // are returned. You cannot specify this parameter and the instance IDs parameter
  26308. // in the same request.
  26309. //
  26310. // Constraint: If the value is greater than 1000, we return only 1000 items.
  26311. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  26312. // The token to retrieve the next page of results.
  26313. NextToken *string `locationName:"nextToken" type:"string"`
  26314. }
  26315. // String returns the string representation
  26316. func (s DescribeClassicLinkInstancesInput) String() string {
  26317. return awsutil.Prettify(s)
  26318. }
  26319. // GoString returns the string representation
  26320. func (s DescribeClassicLinkInstancesInput) GoString() string {
  26321. return s.String()
  26322. }
  26323. // SetDryRun sets the DryRun field's value.
  26324. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  26325. s.DryRun = &v
  26326. return s
  26327. }
  26328. // SetFilters sets the Filters field's value.
  26329. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  26330. s.Filters = v
  26331. return s
  26332. }
  26333. // SetInstanceIds sets the InstanceIds field's value.
  26334. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  26335. s.InstanceIds = v
  26336. return s
  26337. }
  26338. // SetMaxResults sets the MaxResults field's value.
  26339. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  26340. s.MaxResults = &v
  26341. return s
  26342. }
  26343. // SetNextToken sets the NextToken field's value.
  26344. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  26345. s.NextToken = &v
  26346. return s
  26347. }
  26348. // Contains the output of DescribeClassicLinkInstances.
  26349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesResult
  26350. type DescribeClassicLinkInstancesOutput struct {
  26351. _ struct{} `type:"structure"`
  26352. // Information about one or more linked EC2-Classic instances.
  26353. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  26354. // The token to use to retrieve the next page of results. This value is null
  26355. // when there are no more results to return.
  26356. NextToken *string `locationName:"nextToken" type:"string"`
  26357. }
  26358. // String returns the string representation
  26359. func (s DescribeClassicLinkInstancesOutput) String() string {
  26360. return awsutil.Prettify(s)
  26361. }
  26362. // GoString returns the string representation
  26363. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  26364. return s.String()
  26365. }
  26366. // SetInstances sets the Instances field's value.
  26367. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  26368. s.Instances = v
  26369. return s
  26370. }
  26371. // SetNextToken sets the NextToken field's value.
  26372. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  26373. s.NextToken = &v
  26374. return s
  26375. }
  26376. // Contains the parameters for DescribeConversionTasks.
  26377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksRequest
  26378. type DescribeConversionTasksInput struct {
  26379. _ struct{} `type:"structure"`
  26380. // One or more conversion task IDs.
  26381. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  26382. // Checks whether you have the required permissions for the action, without
  26383. // actually making the request, and provides an error response. If you have
  26384. // the required permissions, the error response is DryRunOperation. Otherwise,
  26385. // it is UnauthorizedOperation.
  26386. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26387. }
  26388. // String returns the string representation
  26389. func (s DescribeConversionTasksInput) String() string {
  26390. return awsutil.Prettify(s)
  26391. }
  26392. // GoString returns the string representation
  26393. func (s DescribeConversionTasksInput) GoString() string {
  26394. return s.String()
  26395. }
  26396. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  26397. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  26398. s.ConversionTaskIds = v
  26399. return s
  26400. }
  26401. // SetDryRun sets the DryRun field's value.
  26402. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  26403. s.DryRun = &v
  26404. return s
  26405. }
  26406. // Contains the output for DescribeConversionTasks.
  26407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksResult
  26408. type DescribeConversionTasksOutput struct {
  26409. _ struct{} `type:"structure"`
  26410. // Information about the conversion tasks.
  26411. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  26412. }
  26413. // String returns the string representation
  26414. func (s DescribeConversionTasksOutput) String() string {
  26415. return awsutil.Prettify(s)
  26416. }
  26417. // GoString returns the string representation
  26418. func (s DescribeConversionTasksOutput) GoString() string {
  26419. return s.String()
  26420. }
  26421. // SetConversionTasks sets the ConversionTasks field's value.
  26422. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  26423. s.ConversionTasks = v
  26424. return s
  26425. }
  26426. // Contains the parameters for DescribeCustomerGateways.
  26427. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysRequest
  26428. type DescribeCustomerGatewaysInput struct {
  26429. _ struct{} `type:"structure"`
  26430. // One or more customer gateway IDs.
  26431. //
  26432. // Default: Describes all your customer gateways.
  26433. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  26434. // Checks whether you have the required permissions for the action, without
  26435. // actually making the request, and provides an error response. If you have
  26436. // the required permissions, the error response is DryRunOperation. Otherwise,
  26437. // it is UnauthorizedOperation.
  26438. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26439. // One or more filters.
  26440. //
  26441. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  26442. // System Number (ASN).
  26443. //
  26444. // * customer-gateway-id - The ID of the customer gateway.
  26445. //
  26446. // * ip-address - The IP address of the customer gateway's Internet-routable
  26447. // external interface.
  26448. //
  26449. // * state - The state of the customer gateway (pending | available | deleting
  26450. // | deleted).
  26451. //
  26452. // * type - The type of customer gateway. Currently, the only supported type
  26453. // is ipsec.1.
  26454. //
  26455. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26456. // Specify the key of the tag in the filter name and the value of the tag
  26457. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  26458. // for the filter name and X for the filter value.
  26459. //
  26460. // * tag-key - The key of a tag assigned to the resource. This filter is
  26461. // independent of the tag-value filter. For example, if you use both the
  26462. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26463. // assigned both the tag key Purpose (regardless of what the tag's value
  26464. // is), and the tag value X (regardless of what the tag's key is). If you
  26465. // want to list only resources where Purpose is X, see the tag:key=value
  26466. // filter.
  26467. //
  26468. // * tag-value - The value of a tag assigned to the resource. This filter
  26469. // is independent of the tag-key filter.
  26470. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26471. }
  26472. // String returns the string representation
  26473. func (s DescribeCustomerGatewaysInput) String() string {
  26474. return awsutil.Prettify(s)
  26475. }
  26476. // GoString returns the string representation
  26477. func (s DescribeCustomerGatewaysInput) GoString() string {
  26478. return s.String()
  26479. }
  26480. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  26481. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  26482. s.CustomerGatewayIds = v
  26483. return s
  26484. }
  26485. // SetDryRun sets the DryRun field's value.
  26486. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  26487. s.DryRun = &v
  26488. return s
  26489. }
  26490. // SetFilters sets the Filters field's value.
  26491. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  26492. s.Filters = v
  26493. return s
  26494. }
  26495. // Contains the output of DescribeCustomerGateways.
  26496. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysResult
  26497. type DescribeCustomerGatewaysOutput struct {
  26498. _ struct{} `type:"structure"`
  26499. // Information about one or more customer gateways.
  26500. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  26501. }
  26502. // String returns the string representation
  26503. func (s DescribeCustomerGatewaysOutput) String() string {
  26504. return awsutil.Prettify(s)
  26505. }
  26506. // GoString returns the string representation
  26507. func (s DescribeCustomerGatewaysOutput) GoString() string {
  26508. return s.String()
  26509. }
  26510. // SetCustomerGateways sets the CustomerGateways field's value.
  26511. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  26512. s.CustomerGateways = v
  26513. return s
  26514. }
  26515. // Contains the parameters for DescribeDhcpOptions.
  26516. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsRequest
  26517. type DescribeDhcpOptionsInput struct {
  26518. _ struct{} `type:"structure"`
  26519. // The IDs of one or more DHCP options sets.
  26520. //
  26521. // Default: Describes all your DHCP options sets.
  26522. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  26523. // Checks whether you have the required permissions for the action, without
  26524. // actually making the request, and provides an error response. If you have
  26525. // the required permissions, the error response is DryRunOperation. Otherwise,
  26526. // it is UnauthorizedOperation.
  26527. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26528. // One or more filters.
  26529. //
  26530. // * dhcp-options-id - The ID of a set of DHCP options.
  26531. //
  26532. // * key - The key for one of the options (for example, domain-name).
  26533. //
  26534. // * value - The value for one of the options.
  26535. //
  26536. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26537. // Specify the key of the tag in the filter name and the value of the tag
  26538. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  26539. // for the filter name and X for the filter value.
  26540. //
  26541. // * tag-key - The key of a tag assigned to the resource. This filter is
  26542. // independent of the tag-value filter. For example, if you use both the
  26543. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26544. // assigned both the tag key Purpose (regardless of what the tag's value
  26545. // is), and the tag value X (regardless of what the tag's key is). If you
  26546. // want to list only resources where Purpose is X, see the tag:key=value
  26547. // filter.
  26548. //
  26549. // * tag-value - The value of a tag assigned to the resource. This filter
  26550. // is independent of the tag-key filter.
  26551. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26552. }
  26553. // String returns the string representation
  26554. func (s DescribeDhcpOptionsInput) String() string {
  26555. return awsutil.Prettify(s)
  26556. }
  26557. // GoString returns the string representation
  26558. func (s DescribeDhcpOptionsInput) GoString() string {
  26559. return s.String()
  26560. }
  26561. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  26562. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  26563. s.DhcpOptionsIds = v
  26564. return s
  26565. }
  26566. // SetDryRun sets the DryRun field's value.
  26567. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  26568. s.DryRun = &v
  26569. return s
  26570. }
  26571. // SetFilters sets the Filters field's value.
  26572. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  26573. s.Filters = v
  26574. return s
  26575. }
  26576. // Contains the output of DescribeDhcpOptions.
  26577. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsResult
  26578. type DescribeDhcpOptionsOutput struct {
  26579. _ struct{} `type:"structure"`
  26580. // Information about one or more DHCP options sets.
  26581. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  26582. }
  26583. // String returns the string representation
  26584. func (s DescribeDhcpOptionsOutput) String() string {
  26585. return awsutil.Prettify(s)
  26586. }
  26587. // GoString returns the string representation
  26588. func (s DescribeDhcpOptionsOutput) GoString() string {
  26589. return s.String()
  26590. }
  26591. // SetDhcpOptions sets the DhcpOptions field's value.
  26592. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  26593. s.DhcpOptions = v
  26594. return s
  26595. }
  26596. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysRequest
  26597. type DescribeEgressOnlyInternetGatewaysInput struct {
  26598. _ struct{} `type:"structure"`
  26599. // Checks whether you have the required permissions for the action, without
  26600. // actually making the request, and provides an error response. If you have
  26601. // the required permissions, the error response is DryRunOperation. Otherwise,
  26602. // it is UnauthorizedOperation.
  26603. DryRun *bool `type:"boolean"`
  26604. // One or more egress-only Internet gateway IDs.
  26605. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  26606. // The maximum number of results to return for the request in a single page.
  26607. // The remaining results can be seen by sending another request with the returned
  26608. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  26609. // a value larger than 1000, only 1000 results are returned.
  26610. MaxResults *int64 `type:"integer"`
  26611. // The token to retrieve the next page of results.
  26612. NextToken *string `type:"string"`
  26613. }
  26614. // String returns the string representation
  26615. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  26616. return awsutil.Prettify(s)
  26617. }
  26618. // GoString returns the string representation
  26619. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  26620. return s.String()
  26621. }
  26622. // SetDryRun sets the DryRun field's value.
  26623. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  26624. s.DryRun = &v
  26625. return s
  26626. }
  26627. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  26628. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  26629. s.EgressOnlyInternetGatewayIds = v
  26630. return s
  26631. }
  26632. // SetMaxResults sets the MaxResults field's value.
  26633. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  26634. s.MaxResults = &v
  26635. return s
  26636. }
  26637. // SetNextToken sets the NextToken field's value.
  26638. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  26639. s.NextToken = &v
  26640. return s
  26641. }
  26642. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysResult
  26643. type DescribeEgressOnlyInternetGatewaysOutput struct {
  26644. _ struct{} `type:"structure"`
  26645. // Information about the egress-only Internet gateways.
  26646. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  26647. // The token to use to retrieve the next page of results.
  26648. NextToken *string `locationName:"nextToken" type:"string"`
  26649. }
  26650. // String returns the string representation
  26651. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  26652. return awsutil.Prettify(s)
  26653. }
  26654. // GoString returns the string representation
  26655. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  26656. return s.String()
  26657. }
  26658. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  26659. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  26660. s.EgressOnlyInternetGateways = v
  26661. return s
  26662. }
  26663. // SetNextToken sets the NextToken field's value.
  26664. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  26665. s.NextToken = &v
  26666. return s
  26667. }
  26668. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusRequest
  26669. type DescribeElasticGpusInput struct {
  26670. _ struct{} `type:"structure"`
  26671. // Checks whether you have the required permissions for the action, without
  26672. // actually making the request, and provides an error response. If you have
  26673. // the required permissions, the error response is DryRunOperation. Otherwise,
  26674. // it is UnauthorizedOperation.
  26675. DryRun *bool `type:"boolean"`
  26676. // One or more Elastic GPU IDs.
  26677. ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
  26678. // One or more filters.
  26679. //
  26680. // * availability-zone - The Availability Zone in which the Elastic GPU resides.
  26681. //
  26682. // * elastic-gpu-health - The status of the Elastic GPU (OK | IMPAIRED).
  26683. //
  26684. // * elastic-gpu-state - The state of the Elastic GPU (ATTACHED).
  26685. //
  26686. // * elastic-gpu-type - The type of Elastic GPU; for example, eg1.medium.
  26687. //
  26688. // * instance-id - The ID of the instance to which the Elastic GPU is associated.
  26689. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26690. // The maximum number of results to return in a single call. To retrieve the
  26691. // remaining results, make another call with the returned NextToken value. This
  26692. // value can be between 5 and 1000.
  26693. MaxResults *int64 `type:"integer"`
  26694. // The token to request the next page of results.
  26695. NextToken *string `type:"string"`
  26696. }
  26697. // String returns the string representation
  26698. func (s DescribeElasticGpusInput) String() string {
  26699. return awsutil.Prettify(s)
  26700. }
  26701. // GoString returns the string representation
  26702. func (s DescribeElasticGpusInput) GoString() string {
  26703. return s.String()
  26704. }
  26705. // SetDryRun sets the DryRun field's value.
  26706. func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
  26707. s.DryRun = &v
  26708. return s
  26709. }
  26710. // SetElasticGpuIds sets the ElasticGpuIds field's value.
  26711. func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
  26712. s.ElasticGpuIds = v
  26713. return s
  26714. }
  26715. // SetFilters sets the Filters field's value.
  26716. func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
  26717. s.Filters = v
  26718. return s
  26719. }
  26720. // SetMaxResults sets the MaxResults field's value.
  26721. func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
  26722. s.MaxResults = &v
  26723. return s
  26724. }
  26725. // SetNextToken sets the NextToken field's value.
  26726. func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
  26727. s.NextToken = &v
  26728. return s
  26729. }
  26730. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpusResult
  26731. type DescribeElasticGpusOutput struct {
  26732. _ struct{} `type:"structure"`
  26733. // Information about the Elastic GPUs.
  26734. ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" type:"list"`
  26735. // The total number of items to return. If the total number of items available
  26736. // is more than the value specified in max-items then a Next-Token will be provided
  26737. // in the output that you can use to resume pagination.
  26738. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  26739. // The token to use to retrieve the next page of results. This value is null
  26740. // when there are no more results to return.
  26741. NextToken *string `locationName:"nextToken" type:"string"`
  26742. }
  26743. // String returns the string representation
  26744. func (s DescribeElasticGpusOutput) String() string {
  26745. return awsutil.Prettify(s)
  26746. }
  26747. // GoString returns the string representation
  26748. func (s DescribeElasticGpusOutput) GoString() string {
  26749. return s.String()
  26750. }
  26751. // SetElasticGpuSet sets the ElasticGpuSet field's value.
  26752. func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
  26753. s.ElasticGpuSet = v
  26754. return s
  26755. }
  26756. // SetMaxResults sets the MaxResults field's value.
  26757. func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
  26758. s.MaxResults = &v
  26759. return s
  26760. }
  26761. // SetNextToken sets the NextToken field's value.
  26762. func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
  26763. s.NextToken = &v
  26764. return s
  26765. }
  26766. // Contains the parameters for DescribeExportTasks.
  26767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest
  26768. type DescribeExportTasksInput struct {
  26769. _ struct{} `type:"structure"`
  26770. // One or more export task IDs.
  26771. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  26772. }
  26773. // String returns the string representation
  26774. func (s DescribeExportTasksInput) String() string {
  26775. return awsutil.Prettify(s)
  26776. }
  26777. // GoString returns the string representation
  26778. func (s DescribeExportTasksInput) GoString() string {
  26779. return s.String()
  26780. }
  26781. // SetExportTaskIds sets the ExportTaskIds field's value.
  26782. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  26783. s.ExportTaskIds = v
  26784. return s
  26785. }
  26786. // Contains the output for DescribeExportTasks.
  26787. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksResult
  26788. type DescribeExportTasksOutput struct {
  26789. _ struct{} `type:"structure"`
  26790. // Information about the export tasks.
  26791. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  26792. }
  26793. // String returns the string representation
  26794. func (s DescribeExportTasksOutput) String() string {
  26795. return awsutil.Prettify(s)
  26796. }
  26797. // GoString returns the string representation
  26798. func (s DescribeExportTasksOutput) GoString() string {
  26799. return s.String()
  26800. }
  26801. // SetExportTasks sets the ExportTasks field's value.
  26802. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  26803. s.ExportTasks = v
  26804. return s
  26805. }
  26806. // Contains the parameters for DescribeFlowLogs.
  26807. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsRequest
  26808. type DescribeFlowLogsInput struct {
  26809. _ struct{} `type:"structure"`
  26810. // One or more filters.
  26811. //
  26812. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  26813. //
  26814. // * flow-log-id - The ID of the flow log.
  26815. //
  26816. // * log-group-name - The name of the log group.
  26817. //
  26818. // * resource-id - The ID of the VPC, subnet, or network interface.
  26819. //
  26820. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  26821. Filter []*Filter `locationNameList:"Filter" type:"list"`
  26822. // One or more flow log IDs.
  26823. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  26824. // The maximum number of results to return for the request in a single page.
  26825. // The remaining results can be seen by sending another request with the returned
  26826. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  26827. // a value larger than 1000, only 1000 results are returned. You cannot specify
  26828. // this parameter and the flow log IDs parameter in the same request.
  26829. MaxResults *int64 `type:"integer"`
  26830. // The token to retrieve the next page of results.
  26831. NextToken *string `type:"string"`
  26832. }
  26833. // String returns the string representation
  26834. func (s DescribeFlowLogsInput) String() string {
  26835. return awsutil.Prettify(s)
  26836. }
  26837. // GoString returns the string representation
  26838. func (s DescribeFlowLogsInput) GoString() string {
  26839. return s.String()
  26840. }
  26841. // SetFilter sets the Filter field's value.
  26842. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  26843. s.Filter = v
  26844. return s
  26845. }
  26846. // SetFlowLogIds sets the FlowLogIds field's value.
  26847. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  26848. s.FlowLogIds = v
  26849. return s
  26850. }
  26851. // SetMaxResults sets the MaxResults field's value.
  26852. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  26853. s.MaxResults = &v
  26854. return s
  26855. }
  26856. // SetNextToken sets the NextToken field's value.
  26857. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  26858. s.NextToken = &v
  26859. return s
  26860. }
  26861. // Contains the output of DescribeFlowLogs.
  26862. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsResult
  26863. type DescribeFlowLogsOutput struct {
  26864. _ struct{} `type:"structure"`
  26865. // Information about the flow logs.
  26866. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  26867. // The token to use to retrieve the next page of results. This value is null
  26868. // when there are no more results to return.
  26869. NextToken *string `locationName:"nextToken" type:"string"`
  26870. }
  26871. // String returns the string representation
  26872. func (s DescribeFlowLogsOutput) String() string {
  26873. return awsutil.Prettify(s)
  26874. }
  26875. // GoString returns the string representation
  26876. func (s DescribeFlowLogsOutput) GoString() string {
  26877. return s.String()
  26878. }
  26879. // SetFlowLogs sets the FlowLogs field's value.
  26880. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  26881. s.FlowLogs = v
  26882. return s
  26883. }
  26884. // SetNextToken sets the NextToken field's value.
  26885. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  26886. s.NextToken = &v
  26887. return s
  26888. }
  26889. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesRequest
  26890. type DescribeFpgaImagesInput struct {
  26891. _ struct{} `type:"structure"`
  26892. // Checks whether you have the required permissions for the action, without
  26893. // actually making the request, and provides an error response. If you have
  26894. // the required permissions, the error response is DryRunOperation. Otherwise,
  26895. // it is UnauthorizedOperation.
  26896. DryRun *bool `type:"boolean"`
  26897. // One or more filters.
  26898. //
  26899. // * create-time - The creation time of the AFI.
  26900. //
  26901. // * fpga-image-id - The FPGA image identifier (AFI ID).
  26902. //
  26903. // * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
  26904. //
  26905. // * name - The name of the AFI.
  26906. //
  26907. // * owner-id - The AWS account ID of the AFI owner.
  26908. //
  26909. // * product-code - The product code.
  26910. //
  26911. // * shell-version - The version of the AWS Shell that was used to create
  26912. // the bitstream.
  26913. //
  26914. // * state - The state of the AFI (pending | failed | available | unavailable).
  26915. //
  26916. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26917. // Specify the key of the tag in the filter name and the value of the tag
  26918. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  26919. // for the filter name and X for the filter value.
  26920. //
  26921. // * tag-key - The key of a tag assigned to the resource. This filter is
  26922. // independent of the tag-value filter. For example, if you use both the
  26923. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26924. // assigned both the tag key Purpose (regardless of what the tag's value
  26925. // is), and the tag value X (regardless of what the tag's key is). If you
  26926. // want to list only resources where Purpose is X, see the tag:key=value
  26927. // filter.
  26928. //
  26929. // * tag-value - The value of a tag assigned to the resource. This filter
  26930. // is independent of the tag-key filter.
  26931. //
  26932. // * update-time - The time of the most recent update.
  26933. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26934. // One or more AFI IDs.
  26935. FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
  26936. // The maximum number of results to return in a single call.
  26937. MaxResults *int64 `min:"5" type:"integer"`
  26938. // The token to retrieve the next page of results.
  26939. NextToken *string `min:"1" type:"string"`
  26940. // Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
  26941. // of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
  26942. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  26943. }
  26944. // String returns the string representation
  26945. func (s DescribeFpgaImagesInput) String() string {
  26946. return awsutil.Prettify(s)
  26947. }
  26948. // GoString returns the string representation
  26949. func (s DescribeFpgaImagesInput) GoString() string {
  26950. return s.String()
  26951. }
  26952. // Validate inspects the fields of the type to determine if they are valid.
  26953. func (s *DescribeFpgaImagesInput) Validate() error {
  26954. invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
  26955. if s.MaxResults != nil && *s.MaxResults < 5 {
  26956. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  26957. }
  26958. if s.NextToken != nil && len(*s.NextToken) < 1 {
  26959. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  26960. }
  26961. if invalidParams.Len() > 0 {
  26962. return invalidParams
  26963. }
  26964. return nil
  26965. }
  26966. // SetDryRun sets the DryRun field's value.
  26967. func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
  26968. s.DryRun = &v
  26969. return s
  26970. }
  26971. // SetFilters sets the Filters field's value.
  26972. func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
  26973. s.Filters = v
  26974. return s
  26975. }
  26976. // SetFpgaImageIds sets the FpgaImageIds field's value.
  26977. func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
  26978. s.FpgaImageIds = v
  26979. return s
  26980. }
  26981. // SetMaxResults sets the MaxResults field's value.
  26982. func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
  26983. s.MaxResults = &v
  26984. return s
  26985. }
  26986. // SetNextToken sets the NextToken field's value.
  26987. func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
  26988. s.NextToken = &v
  26989. return s
  26990. }
  26991. // SetOwners sets the Owners field's value.
  26992. func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
  26993. s.Owners = v
  26994. return s
  26995. }
  26996. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImagesResult
  26997. type DescribeFpgaImagesOutput struct {
  26998. _ struct{} `type:"structure"`
  26999. // Information about one or more FPGA images.
  27000. FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
  27001. // The token to use to retrieve the next page of results. This value is null
  27002. // when there are no more results to return.
  27003. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  27004. }
  27005. // String returns the string representation
  27006. func (s DescribeFpgaImagesOutput) String() string {
  27007. return awsutil.Prettify(s)
  27008. }
  27009. // GoString returns the string representation
  27010. func (s DescribeFpgaImagesOutput) GoString() string {
  27011. return s.String()
  27012. }
  27013. // SetFpgaImages sets the FpgaImages field's value.
  27014. func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
  27015. s.FpgaImages = v
  27016. return s
  27017. }
  27018. // SetNextToken sets the NextToken field's value.
  27019. func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
  27020. s.NextToken = &v
  27021. return s
  27022. }
  27023. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsRequest
  27024. type DescribeHostReservationOfferingsInput struct {
  27025. _ struct{} `type:"structure"`
  27026. // One or more filters.
  27027. //
  27028. // * instance-family - The instance family of the offering (e.g., m4).
  27029. //
  27030. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  27031. Filter []*Filter `locationNameList:"Filter" type:"list"`
  27032. // This is the maximum duration of the reservation you'd like to purchase, specified
  27033. // in seconds. Reservations are available in one-year and three-year terms.
  27034. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  27035. // times one of the supported durations (1 or 3). For example, specify 94608000
  27036. // for three years.
  27037. MaxDuration *int64 `type:"integer"`
  27038. // The maximum number of results to return for the request in a single page.
  27039. // The remaining results can be seen by sending another request with the returned
  27040. // nextToken value. This value can be between 5 and 500; if maxResults is given
  27041. // a larger value than 500, you will receive an error.
  27042. MaxResults *int64 `type:"integer"`
  27043. // This is the minimum duration of the reservation you'd like to purchase, specified
  27044. // in seconds. Reservations are available in one-year and three-year terms.
  27045. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  27046. // times one of the supported durations (1 or 3). For example, specify 31536000
  27047. // for one year.
  27048. MinDuration *int64 `type:"integer"`
  27049. // The token to use to retrieve the next page of results.
  27050. NextToken *string `type:"string"`
  27051. // The ID of the reservation offering.
  27052. OfferingId *string `type:"string"`
  27053. }
  27054. // String returns the string representation
  27055. func (s DescribeHostReservationOfferingsInput) String() string {
  27056. return awsutil.Prettify(s)
  27057. }
  27058. // GoString returns the string representation
  27059. func (s DescribeHostReservationOfferingsInput) GoString() string {
  27060. return s.String()
  27061. }
  27062. // SetFilter sets the Filter field's value.
  27063. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  27064. s.Filter = v
  27065. return s
  27066. }
  27067. // SetMaxDuration sets the MaxDuration field's value.
  27068. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  27069. s.MaxDuration = &v
  27070. return s
  27071. }
  27072. // SetMaxResults sets the MaxResults field's value.
  27073. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  27074. s.MaxResults = &v
  27075. return s
  27076. }
  27077. // SetMinDuration sets the MinDuration field's value.
  27078. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  27079. s.MinDuration = &v
  27080. return s
  27081. }
  27082. // SetNextToken sets the NextToken field's value.
  27083. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  27084. s.NextToken = &v
  27085. return s
  27086. }
  27087. // SetOfferingId sets the OfferingId field's value.
  27088. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  27089. s.OfferingId = &v
  27090. return s
  27091. }
  27092. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsResult
  27093. type DescribeHostReservationOfferingsOutput struct {
  27094. _ struct{} `type:"structure"`
  27095. // The token to use to retrieve the next page of results. This value is null
  27096. // when there are no more results to return.
  27097. NextToken *string `locationName:"nextToken" type:"string"`
  27098. // Information about the offerings.
  27099. OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"`
  27100. }
  27101. // String returns the string representation
  27102. func (s DescribeHostReservationOfferingsOutput) String() string {
  27103. return awsutil.Prettify(s)
  27104. }
  27105. // GoString returns the string representation
  27106. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  27107. return s.String()
  27108. }
  27109. // SetNextToken sets the NextToken field's value.
  27110. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  27111. s.NextToken = &v
  27112. return s
  27113. }
  27114. // SetOfferingSet sets the OfferingSet field's value.
  27115. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  27116. s.OfferingSet = v
  27117. return s
  27118. }
  27119. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsRequest
  27120. type DescribeHostReservationsInput struct {
  27121. _ struct{} `type:"structure"`
  27122. // One or more filters.
  27123. //
  27124. // * instance-family - The instance family (e.g., m4).
  27125. //
  27126. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  27127. //
  27128. // * state - The state of the reservation (payment-pending | payment-failed
  27129. // | active | retired).
  27130. Filter []*Filter `locationNameList:"Filter" type:"list"`
  27131. // One or more host reservation IDs.
  27132. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  27133. // The maximum number of results to return for the request in a single page.
  27134. // The remaining results can be seen by sending another request with the returned
  27135. // nextToken value. This value can be between 5 and 500; if maxResults is given
  27136. // a larger value than 500, you will receive an error.
  27137. MaxResults *int64 `type:"integer"`
  27138. // The token to use to retrieve the next page of results.
  27139. NextToken *string `type:"string"`
  27140. }
  27141. // String returns the string representation
  27142. func (s DescribeHostReservationsInput) String() string {
  27143. return awsutil.Prettify(s)
  27144. }
  27145. // GoString returns the string representation
  27146. func (s DescribeHostReservationsInput) GoString() string {
  27147. return s.String()
  27148. }
  27149. // SetFilter sets the Filter field's value.
  27150. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  27151. s.Filter = v
  27152. return s
  27153. }
  27154. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  27155. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  27156. s.HostReservationIdSet = v
  27157. return s
  27158. }
  27159. // SetMaxResults sets the MaxResults field's value.
  27160. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  27161. s.MaxResults = &v
  27162. return s
  27163. }
  27164. // SetNextToken sets the NextToken field's value.
  27165. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  27166. s.NextToken = &v
  27167. return s
  27168. }
  27169. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsResult
  27170. type DescribeHostReservationsOutput struct {
  27171. _ struct{} `type:"structure"`
  27172. // Details about the reservation's configuration.
  27173. HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"`
  27174. // The token to use to retrieve the next page of results. This value is null
  27175. // when there are no more results to return.
  27176. NextToken *string `locationName:"nextToken" type:"string"`
  27177. }
  27178. // String returns the string representation
  27179. func (s DescribeHostReservationsOutput) String() string {
  27180. return awsutil.Prettify(s)
  27181. }
  27182. // GoString returns the string representation
  27183. func (s DescribeHostReservationsOutput) GoString() string {
  27184. return s.String()
  27185. }
  27186. // SetHostReservationSet sets the HostReservationSet field's value.
  27187. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  27188. s.HostReservationSet = v
  27189. return s
  27190. }
  27191. // SetNextToken sets the NextToken field's value.
  27192. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  27193. s.NextToken = &v
  27194. return s
  27195. }
  27196. // Contains the parameters for DescribeHosts.
  27197. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsRequest
  27198. type DescribeHostsInput struct {
  27199. _ struct{} `type:"structure"`
  27200. // One or more filters.
  27201. //
  27202. // * instance-type - The instance type size that the Dedicated Host is configured
  27203. // to support.
  27204. //
  27205. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  27206. // off).
  27207. //
  27208. // * host-reservation-id - The ID of the reservation assigned to this host.
  27209. //
  27210. // * client-token - The idempotency token you provided when you launched
  27211. // the instance
  27212. //
  27213. // * state- The allocation state of the Dedicated Host (available | under-assessment
  27214. // | permanent-failure | released | released-permanent-failure).
  27215. //
  27216. // * availability-zone - The Availability Zone of the host.
  27217. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  27218. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  27219. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  27220. // The maximum number of results to return for the request in a single page.
  27221. // The remaining results can be seen by sending another request with the returned
  27222. // nextToken value. This value can be between 5 and 500; if maxResults is given
  27223. // a larger value than 500, you will receive an error. You cannot specify this
  27224. // parameter and the host IDs parameter in the same request.
  27225. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  27226. // The token to retrieve the next page of results.
  27227. NextToken *string `locationName:"nextToken" type:"string"`
  27228. }
  27229. // String returns the string representation
  27230. func (s DescribeHostsInput) String() string {
  27231. return awsutil.Prettify(s)
  27232. }
  27233. // GoString returns the string representation
  27234. func (s DescribeHostsInput) GoString() string {
  27235. return s.String()
  27236. }
  27237. // SetFilter sets the Filter field's value.
  27238. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  27239. s.Filter = v
  27240. return s
  27241. }
  27242. // SetHostIds sets the HostIds field's value.
  27243. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  27244. s.HostIds = v
  27245. return s
  27246. }
  27247. // SetMaxResults sets the MaxResults field's value.
  27248. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  27249. s.MaxResults = &v
  27250. return s
  27251. }
  27252. // SetNextToken sets the NextToken field's value.
  27253. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  27254. s.NextToken = &v
  27255. return s
  27256. }
  27257. // Contains the output of DescribeHosts.
  27258. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsResult
  27259. type DescribeHostsOutput struct {
  27260. _ struct{} `type:"structure"`
  27261. // Information about the Dedicated Hosts.
  27262. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  27263. // The token to use to retrieve the next page of results. This value is null
  27264. // when there are no more results to return.
  27265. NextToken *string `locationName:"nextToken" type:"string"`
  27266. }
  27267. // String returns the string representation
  27268. func (s DescribeHostsOutput) String() string {
  27269. return awsutil.Prettify(s)
  27270. }
  27271. // GoString returns the string representation
  27272. func (s DescribeHostsOutput) GoString() string {
  27273. return s.String()
  27274. }
  27275. // SetHosts sets the Hosts field's value.
  27276. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  27277. s.Hosts = v
  27278. return s
  27279. }
  27280. // SetNextToken sets the NextToken field's value.
  27281. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  27282. s.NextToken = &v
  27283. return s
  27284. }
  27285. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsRequest
  27286. type DescribeIamInstanceProfileAssociationsInput struct {
  27287. _ struct{} `type:"structure"`
  27288. // One or more IAM instance profile associations.
  27289. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  27290. // One or more filters.
  27291. //
  27292. // * instance-id - The ID of the instance.
  27293. //
  27294. // * state - The state of the association (associating | associated | disassociating
  27295. // | disassociated).
  27296. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27297. // The maximum number of results to return in a single call. To retrieve the
  27298. // remaining results, make another call with the returned NextToken value.
  27299. MaxResults *int64 `min:"5" type:"integer"`
  27300. // The token to request the next page of results.
  27301. NextToken *string `min:"1" type:"string"`
  27302. }
  27303. // String returns the string representation
  27304. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  27305. return awsutil.Prettify(s)
  27306. }
  27307. // GoString returns the string representation
  27308. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  27309. return s.String()
  27310. }
  27311. // Validate inspects the fields of the type to determine if they are valid.
  27312. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  27313. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  27314. if s.MaxResults != nil && *s.MaxResults < 5 {
  27315. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  27316. }
  27317. if s.NextToken != nil && len(*s.NextToken) < 1 {
  27318. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  27319. }
  27320. if invalidParams.Len() > 0 {
  27321. return invalidParams
  27322. }
  27323. return nil
  27324. }
  27325. // SetAssociationIds sets the AssociationIds field's value.
  27326. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  27327. s.AssociationIds = v
  27328. return s
  27329. }
  27330. // SetFilters sets the Filters field's value.
  27331. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  27332. s.Filters = v
  27333. return s
  27334. }
  27335. // SetMaxResults sets the MaxResults field's value.
  27336. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  27337. s.MaxResults = &v
  27338. return s
  27339. }
  27340. // SetNextToken sets the NextToken field's value.
  27341. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  27342. s.NextToken = &v
  27343. return s
  27344. }
  27345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsResult
  27346. type DescribeIamInstanceProfileAssociationsOutput struct {
  27347. _ struct{} `type:"structure"`
  27348. // Information about one or more IAM instance profile associations.
  27349. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  27350. // The token to use to retrieve the next page of results. This value is null
  27351. // when there are no more results to return.
  27352. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  27353. }
  27354. // String returns the string representation
  27355. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  27356. return awsutil.Prettify(s)
  27357. }
  27358. // GoString returns the string representation
  27359. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  27360. return s.String()
  27361. }
  27362. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  27363. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  27364. s.IamInstanceProfileAssociations = v
  27365. return s
  27366. }
  27367. // SetNextToken sets the NextToken field's value.
  27368. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  27369. s.NextToken = &v
  27370. return s
  27371. }
  27372. // Contains the parameters for DescribeIdFormat.
  27373. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatRequest
  27374. type DescribeIdFormatInput struct {
  27375. _ struct{} `type:"structure"`
  27376. // The type of resource: instance | reservation | snapshot | volume
  27377. Resource *string `type:"string"`
  27378. }
  27379. // String returns the string representation
  27380. func (s DescribeIdFormatInput) String() string {
  27381. return awsutil.Prettify(s)
  27382. }
  27383. // GoString returns the string representation
  27384. func (s DescribeIdFormatInput) GoString() string {
  27385. return s.String()
  27386. }
  27387. // SetResource sets the Resource field's value.
  27388. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  27389. s.Resource = &v
  27390. return s
  27391. }
  27392. // Contains the output of DescribeIdFormat.
  27393. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatResult
  27394. type DescribeIdFormatOutput struct {
  27395. _ struct{} `type:"structure"`
  27396. // Information about the ID format for the resource.
  27397. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  27398. }
  27399. // String returns the string representation
  27400. func (s DescribeIdFormatOutput) String() string {
  27401. return awsutil.Prettify(s)
  27402. }
  27403. // GoString returns the string representation
  27404. func (s DescribeIdFormatOutput) GoString() string {
  27405. return s.String()
  27406. }
  27407. // SetStatuses sets the Statuses field's value.
  27408. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  27409. s.Statuses = v
  27410. return s
  27411. }
  27412. // Contains the parameters for DescribeIdentityIdFormat.
  27413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatRequest
  27414. type DescribeIdentityIdFormatInput struct {
  27415. _ struct{} `type:"structure"`
  27416. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  27417. // user.
  27418. //
  27419. // PrincipalArn is a required field
  27420. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  27421. // The type of resource: instance | reservation | snapshot | volume
  27422. Resource *string `locationName:"resource" type:"string"`
  27423. }
  27424. // String returns the string representation
  27425. func (s DescribeIdentityIdFormatInput) String() string {
  27426. return awsutil.Prettify(s)
  27427. }
  27428. // GoString returns the string representation
  27429. func (s DescribeIdentityIdFormatInput) GoString() string {
  27430. return s.String()
  27431. }
  27432. // Validate inspects the fields of the type to determine if they are valid.
  27433. func (s *DescribeIdentityIdFormatInput) Validate() error {
  27434. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  27435. if s.PrincipalArn == nil {
  27436. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  27437. }
  27438. if invalidParams.Len() > 0 {
  27439. return invalidParams
  27440. }
  27441. return nil
  27442. }
  27443. // SetPrincipalArn sets the PrincipalArn field's value.
  27444. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  27445. s.PrincipalArn = &v
  27446. return s
  27447. }
  27448. // SetResource sets the Resource field's value.
  27449. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  27450. s.Resource = &v
  27451. return s
  27452. }
  27453. // Contains the output of DescribeIdentityIdFormat.
  27454. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatResult
  27455. type DescribeIdentityIdFormatOutput struct {
  27456. _ struct{} `type:"structure"`
  27457. // Information about the ID format for the resources.
  27458. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  27459. }
  27460. // String returns the string representation
  27461. func (s DescribeIdentityIdFormatOutput) String() string {
  27462. return awsutil.Prettify(s)
  27463. }
  27464. // GoString returns the string representation
  27465. func (s DescribeIdentityIdFormatOutput) GoString() string {
  27466. return s.String()
  27467. }
  27468. // SetStatuses sets the Statuses field's value.
  27469. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  27470. s.Statuses = v
  27471. return s
  27472. }
  27473. // Contains the parameters for DescribeImageAttribute.
  27474. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttributeRequest
  27475. type DescribeImageAttributeInput struct {
  27476. _ struct{} `type:"structure"`
  27477. // The AMI attribute.
  27478. //
  27479. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  27480. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  27481. // to get information about the block device mapping for the AMI.
  27482. //
  27483. // Attribute is a required field
  27484. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  27485. // Checks whether you have the required permissions for the action, without
  27486. // actually making the request, and provides an error response. If you have
  27487. // the required permissions, the error response is DryRunOperation. Otherwise,
  27488. // it is UnauthorizedOperation.
  27489. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27490. // The ID of the AMI.
  27491. //
  27492. // ImageId is a required field
  27493. ImageId *string `type:"string" required:"true"`
  27494. }
  27495. // String returns the string representation
  27496. func (s DescribeImageAttributeInput) String() string {
  27497. return awsutil.Prettify(s)
  27498. }
  27499. // GoString returns the string representation
  27500. func (s DescribeImageAttributeInput) GoString() string {
  27501. return s.String()
  27502. }
  27503. // Validate inspects the fields of the type to determine if they are valid.
  27504. func (s *DescribeImageAttributeInput) Validate() error {
  27505. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  27506. if s.Attribute == nil {
  27507. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  27508. }
  27509. if s.ImageId == nil {
  27510. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  27511. }
  27512. if invalidParams.Len() > 0 {
  27513. return invalidParams
  27514. }
  27515. return nil
  27516. }
  27517. // SetAttribute sets the Attribute field's value.
  27518. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  27519. s.Attribute = &v
  27520. return s
  27521. }
  27522. // SetDryRun sets the DryRun field's value.
  27523. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  27524. s.DryRun = &v
  27525. return s
  27526. }
  27527. // SetImageId sets the ImageId field's value.
  27528. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  27529. s.ImageId = &v
  27530. return s
  27531. }
  27532. // Describes an image attribute.
  27533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageAttribute
  27534. type DescribeImageAttributeOutput struct {
  27535. _ struct{} `type:"structure"`
  27536. // One or more block device mapping entries.
  27537. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  27538. // A description for the AMI.
  27539. Description *AttributeValue `locationName:"description" type:"structure"`
  27540. // The ID of the AMI.
  27541. ImageId *string `locationName:"imageId" type:"string"`
  27542. // The kernel ID.
  27543. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  27544. // One or more launch permissions.
  27545. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  27546. // One or more product codes.
  27547. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  27548. // The RAM disk ID.
  27549. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  27550. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  27551. // interface is enabled.
  27552. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  27553. }
  27554. // String returns the string representation
  27555. func (s DescribeImageAttributeOutput) String() string {
  27556. return awsutil.Prettify(s)
  27557. }
  27558. // GoString returns the string representation
  27559. func (s DescribeImageAttributeOutput) GoString() string {
  27560. return s.String()
  27561. }
  27562. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  27563. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  27564. s.BlockDeviceMappings = v
  27565. return s
  27566. }
  27567. // SetDescription sets the Description field's value.
  27568. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  27569. s.Description = v
  27570. return s
  27571. }
  27572. // SetImageId sets the ImageId field's value.
  27573. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  27574. s.ImageId = &v
  27575. return s
  27576. }
  27577. // SetKernelId sets the KernelId field's value.
  27578. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  27579. s.KernelId = v
  27580. return s
  27581. }
  27582. // SetLaunchPermissions sets the LaunchPermissions field's value.
  27583. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  27584. s.LaunchPermissions = v
  27585. return s
  27586. }
  27587. // SetProductCodes sets the ProductCodes field's value.
  27588. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  27589. s.ProductCodes = v
  27590. return s
  27591. }
  27592. // SetRamdiskId sets the RamdiskId field's value.
  27593. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  27594. s.RamdiskId = v
  27595. return s
  27596. }
  27597. // SetSriovNetSupport sets the SriovNetSupport field's value.
  27598. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  27599. s.SriovNetSupport = v
  27600. return s
  27601. }
  27602. // Contains the parameters for DescribeImages.
  27603. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesRequest
  27604. type DescribeImagesInput struct {
  27605. _ struct{} `type:"structure"`
  27606. // Checks whether you have the required permissions for the action, without
  27607. // actually making the request, and provides an error response. If you have
  27608. // the required permissions, the error response is DryRunOperation. Otherwise,
  27609. // it is UnauthorizedOperation.
  27610. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27611. // Scopes the images by users with explicit launch permissions. Specify an AWS
  27612. // account ID, self (the sender of the request), or all (public AMIs).
  27613. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  27614. // One or more filters.
  27615. //
  27616. // * architecture - The image architecture (i386 | x86_64).
  27617. //
  27618. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  27619. // whether the Amazon EBS volume is deleted on instance termination.
  27620. //
  27621. // * block-device-mapping.device-name - The device name for the EBS volume
  27622. // (for example, /dev/sdh).
  27623. //
  27624. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  27625. // EBS volume.
  27626. //
  27627. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  27628. // in GiB.
  27629. //
  27630. // * block-device-mapping.volume-type - The volume type of the EBS volume
  27631. // (gp2 | io1 | st1 | sc1 | standard).
  27632. //
  27633. // * description - The description of the image (provided during image creation).
  27634. //
  27635. // * ena-support - A Boolean that indicates whether enhanced networking with
  27636. // ENA is enabled.
  27637. //
  27638. // * hypervisor - The hypervisor type (ovm | xen).
  27639. //
  27640. // * image-id - The ID of the image.
  27641. //
  27642. // * image-type - The image type (machine | kernel | ramdisk).
  27643. //
  27644. // * is-public - A Boolean that indicates whether the image is public.
  27645. //
  27646. // * kernel-id - The kernel ID.
  27647. //
  27648. // * manifest-location - The location of the image manifest.
  27649. //
  27650. // * name - The name of the AMI (provided during image creation).
  27651. //
  27652. // * owner-alias - String value from an Amazon-maintained list (amazon |
  27653. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  27654. // the user-configured AWS account alias, which is set from the IAM console.
  27655. //
  27656. // * owner-id - The AWS account ID of the image owner.
  27657. //
  27658. // * platform - The platform. To only list Windows-based AMIs, use windows.
  27659. //
  27660. // * product-code - The product code.
  27661. //
  27662. // * product-code.type - The type of the product code (devpay | marketplace).
  27663. //
  27664. // * ramdisk-id - The RAM disk ID.
  27665. //
  27666. // * root-device-name - The name of the root device volume (for example,
  27667. // /dev/sda1).
  27668. //
  27669. // * root-device-type - The type of the root device volume (ebs | instance-store).
  27670. //
  27671. // * state - The state of the image (available | pending | failed).
  27672. //
  27673. // * state-reason-code - The reason code for the state change.
  27674. //
  27675. // * state-reason-message - The message for the state change.
  27676. //
  27677. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  27678. // Specify the key of the tag in the filter name and the value of the tag
  27679. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  27680. // for the filter name and X for the filter value.
  27681. //
  27682. // * tag-key - The key of a tag assigned to the resource. This filter is
  27683. // independent of the tag-value filter. For example, if you use both the
  27684. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  27685. // assigned both the tag key Purpose (regardless of what the tag's value
  27686. // is), and the tag value X (regardless of what the tag's key is). If you
  27687. // want to list only resources where Purpose is X, see the tag:key=value
  27688. // filter.
  27689. //
  27690. // * tag-value - The value of a tag assigned to the resource. This filter
  27691. // is independent of the tag-key filter.
  27692. //
  27693. // * virtualization-type - The virtualization type (paravirtual | hvm).
  27694. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27695. // One or more image IDs.
  27696. //
  27697. // Default: Describes all images available to you.
  27698. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  27699. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  27700. // the sender of the request), or an AWS owner alias (valid values are amazon
  27701. // | aws-marketplace | microsoft). Omitting this option returns all images for
  27702. // which you have launch permissions, regardless of ownership.
  27703. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  27704. }
  27705. // String returns the string representation
  27706. func (s DescribeImagesInput) String() string {
  27707. return awsutil.Prettify(s)
  27708. }
  27709. // GoString returns the string representation
  27710. func (s DescribeImagesInput) GoString() string {
  27711. return s.String()
  27712. }
  27713. // SetDryRun sets the DryRun field's value.
  27714. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  27715. s.DryRun = &v
  27716. return s
  27717. }
  27718. // SetExecutableUsers sets the ExecutableUsers field's value.
  27719. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  27720. s.ExecutableUsers = v
  27721. return s
  27722. }
  27723. // SetFilters sets the Filters field's value.
  27724. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  27725. s.Filters = v
  27726. return s
  27727. }
  27728. // SetImageIds sets the ImageIds field's value.
  27729. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  27730. s.ImageIds = v
  27731. return s
  27732. }
  27733. // SetOwners sets the Owners field's value.
  27734. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  27735. s.Owners = v
  27736. return s
  27737. }
  27738. // Contains the output of DescribeImages.
  27739. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesResult
  27740. type DescribeImagesOutput struct {
  27741. _ struct{} `type:"structure"`
  27742. // Information about one or more images.
  27743. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  27744. }
  27745. // String returns the string representation
  27746. func (s DescribeImagesOutput) String() string {
  27747. return awsutil.Prettify(s)
  27748. }
  27749. // GoString returns the string representation
  27750. func (s DescribeImagesOutput) GoString() string {
  27751. return s.String()
  27752. }
  27753. // SetImages sets the Images field's value.
  27754. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  27755. s.Images = v
  27756. return s
  27757. }
  27758. // Contains the parameters for DescribeImportImageTasks.
  27759. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksRequest
  27760. type DescribeImportImageTasksInput struct {
  27761. _ struct{} `type:"structure"`
  27762. // Checks whether you have the required permissions for the action, without
  27763. // actually making the request, and provides an error response. If you have
  27764. // the required permissions, the error response is DryRunOperation. Otherwise,
  27765. // it is UnauthorizedOperation.
  27766. DryRun *bool `type:"boolean"`
  27767. // Filter tasks using the task-state filter and one of the following values:
  27768. // active, completed, deleting, deleted.
  27769. Filters []*Filter `locationNameList:"Filter" type:"list"`
  27770. // A list of import image task IDs.
  27771. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  27772. // The maximum number of results to return in a single call. To retrieve the
  27773. // remaining results, make another call with the returned NextToken value.
  27774. MaxResults *int64 `type:"integer"`
  27775. // A token that indicates the next page of results.
  27776. NextToken *string `type:"string"`
  27777. }
  27778. // String returns the string representation
  27779. func (s DescribeImportImageTasksInput) String() string {
  27780. return awsutil.Prettify(s)
  27781. }
  27782. // GoString returns the string representation
  27783. func (s DescribeImportImageTasksInput) GoString() string {
  27784. return s.String()
  27785. }
  27786. // SetDryRun sets the DryRun field's value.
  27787. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  27788. s.DryRun = &v
  27789. return s
  27790. }
  27791. // SetFilters sets the Filters field's value.
  27792. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  27793. s.Filters = v
  27794. return s
  27795. }
  27796. // SetImportTaskIds sets the ImportTaskIds field's value.
  27797. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  27798. s.ImportTaskIds = v
  27799. return s
  27800. }
  27801. // SetMaxResults sets the MaxResults field's value.
  27802. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  27803. s.MaxResults = &v
  27804. return s
  27805. }
  27806. // SetNextToken sets the NextToken field's value.
  27807. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  27808. s.NextToken = &v
  27809. return s
  27810. }
  27811. // Contains the output for DescribeImportImageTasks.
  27812. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksResult
  27813. type DescribeImportImageTasksOutput struct {
  27814. _ struct{} `type:"structure"`
  27815. // A list of zero or more import image tasks that are currently active or were
  27816. // completed or canceled in the previous 7 days.
  27817. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  27818. // The token to use to get the next page of results. This value is null when
  27819. // there are no more results to return.
  27820. NextToken *string `locationName:"nextToken" type:"string"`
  27821. }
  27822. // String returns the string representation
  27823. func (s DescribeImportImageTasksOutput) String() string {
  27824. return awsutil.Prettify(s)
  27825. }
  27826. // GoString returns the string representation
  27827. func (s DescribeImportImageTasksOutput) GoString() string {
  27828. return s.String()
  27829. }
  27830. // SetImportImageTasks sets the ImportImageTasks field's value.
  27831. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  27832. s.ImportImageTasks = v
  27833. return s
  27834. }
  27835. // SetNextToken sets the NextToken field's value.
  27836. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  27837. s.NextToken = &v
  27838. return s
  27839. }
  27840. // Contains the parameters for DescribeImportSnapshotTasks.
  27841. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksRequest
  27842. type DescribeImportSnapshotTasksInput struct {
  27843. _ struct{} `type:"structure"`
  27844. // Checks whether you have the required permissions for the action, without
  27845. // actually making the request, and provides an error response. If you have
  27846. // the required permissions, the error response is DryRunOperation. Otherwise,
  27847. // it is UnauthorizedOperation.
  27848. DryRun *bool `type:"boolean"`
  27849. // One or more filters.
  27850. Filters []*Filter `locationNameList:"Filter" type:"list"`
  27851. // A list of import snapshot task IDs.
  27852. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  27853. // The maximum number of results to return in a single call. To retrieve the
  27854. // remaining results, make another call with the returned NextToken value.
  27855. MaxResults *int64 `type:"integer"`
  27856. // A token that indicates the next page of results.
  27857. NextToken *string `type:"string"`
  27858. }
  27859. // String returns the string representation
  27860. func (s DescribeImportSnapshotTasksInput) String() string {
  27861. return awsutil.Prettify(s)
  27862. }
  27863. // GoString returns the string representation
  27864. func (s DescribeImportSnapshotTasksInput) GoString() string {
  27865. return s.String()
  27866. }
  27867. // SetDryRun sets the DryRun field's value.
  27868. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  27869. s.DryRun = &v
  27870. return s
  27871. }
  27872. // SetFilters sets the Filters field's value.
  27873. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  27874. s.Filters = v
  27875. return s
  27876. }
  27877. // SetImportTaskIds sets the ImportTaskIds field's value.
  27878. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  27879. s.ImportTaskIds = v
  27880. return s
  27881. }
  27882. // SetMaxResults sets the MaxResults field's value.
  27883. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  27884. s.MaxResults = &v
  27885. return s
  27886. }
  27887. // SetNextToken sets the NextToken field's value.
  27888. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  27889. s.NextToken = &v
  27890. return s
  27891. }
  27892. // Contains the output for DescribeImportSnapshotTasks.
  27893. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksResult
  27894. type DescribeImportSnapshotTasksOutput struct {
  27895. _ struct{} `type:"structure"`
  27896. // A list of zero or more import snapshot tasks that are currently active or
  27897. // were completed or canceled in the previous 7 days.
  27898. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  27899. // The token to use to get the next page of results. This value is null when
  27900. // there are no more results to return.
  27901. NextToken *string `locationName:"nextToken" type:"string"`
  27902. }
  27903. // String returns the string representation
  27904. func (s DescribeImportSnapshotTasksOutput) String() string {
  27905. return awsutil.Prettify(s)
  27906. }
  27907. // GoString returns the string representation
  27908. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  27909. return s.String()
  27910. }
  27911. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  27912. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  27913. s.ImportSnapshotTasks = v
  27914. return s
  27915. }
  27916. // SetNextToken sets the NextToken field's value.
  27917. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  27918. s.NextToken = &v
  27919. return s
  27920. }
  27921. // Contains the parameters for DescribeInstanceAttribute.
  27922. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttributeRequest
  27923. type DescribeInstanceAttributeInput struct {
  27924. _ struct{} `type:"structure"`
  27925. // The instance attribute.
  27926. //
  27927. // Note: The enaSupport attribute is not supported at this time.
  27928. //
  27929. // Attribute is a required field
  27930. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  27931. // Checks whether you have the required permissions for the action, without
  27932. // actually making the request, and provides an error response. If you have
  27933. // the required permissions, the error response is DryRunOperation. Otherwise,
  27934. // it is UnauthorizedOperation.
  27935. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27936. // The ID of the instance.
  27937. //
  27938. // InstanceId is a required field
  27939. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  27940. }
  27941. // String returns the string representation
  27942. func (s DescribeInstanceAttributeInput) String() string {
  27943. return awsutil.Prettify(s)
  27944. }
  27945. // GoString returns the string representation
  27946. func (s DescribeInstanceAttributeInput) GoString() string {
  27947. return s.String()
  27948. }
  27949. // Validate inspects the fields of the type to determine if they are valid.
  27950. func (s *DescribeInstanceAttributeInput) Validate() error {
  27951. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  27952. if s.Attribute == nil {
  27953. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  27954. }
  27955. if s.InstanceId == nil {
  27956. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27957. }
  27958. if invalidParams.Len() > 0 {
  27959. return invalidParams
  27960. }
  27961. return nil
  27962. }
  27963. // SetAttribute sets the Attribute field's value.
  27964. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  27965. s.Attribute = &v
  27966. return s
  27967. }
  27968. // SetDryRun sets the DryRun field's value.
  27969. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  27970. s.DryRun = &v
  27971. return s
  27972. }
  27973. // SetInstanceId sets the InstanceId field's value.
  27974. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  27975. s.InstanceId = &v
  27976. return s
  27977. }
  27978. // Describes an instance attribute.
  27979. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceAttribute
  27980. type DescribeInstanceAttributeOutput struct {
  27981. _ struct{} `type:"structure"`
  27982. // The block device mapping of the instance.
  27983. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  27984. // If the value is true, you can't terminate the instance through the Amazon
  27985. // EC2 console, CLI, or API; otherwise, you can.
  27986. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  27987. // Indicates whether the instance is optimized for EBS I/O.
  27988. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  27989. // Indicates whether enhanced networking with ENA is enabled.
  27990. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  27991. // The security groups associated with the instance.
  27992. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  27993. // The ID of the instance.
  27994. InstanceId *string `locationName:"instanceId" type:"string"`
  27995. // Indicates whether an instance stops or terminates when you initiate shutdown
  27996. // from the instance (using the operating system command for system shutdown).
  27997. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  27998. // The instance type.
  27999. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  28000. // The kernel ID.
  28001. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  28002. // A list of product codes.
  28003. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  28004. // The RAM disk ID.
  28005. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  28006. // The name of the root device (for example, /dev/sda1 or /dev/xvda).
  28007. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  28008. // Indicates whether source/destination checking is enabled. A value of true
  28009. // means checking is enabled, and false means checking is disabled. This value
  28010. // must be false for a NAT instance to perform NAT.
  28011. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  28012. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  28013. // interface is enabled.
  28014. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  28015. // The user data.
  28016. UserData *AttributeValue `locationName:"userData" type:"structure"`
  28017. }
  28018. // String returns the string representation
  28019. func (s DescribeInstanceAttributeOutput) String() string {
  28020. return awsutil.Prettify(s)
  28021. }
  28022. // GoString returns the string representation
  28023. func (s DescribeInstanceAttributeOutput) GoString() string {
  28024. return s.String()
  28025. }
  28026. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  28027. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  28028. s.BlockDeviceMappings = v
  28029. return s
  28030. }
  28031. // SetDisableApiTermination sets the DisableApiTermination field's value.
  28032. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  28033. s.DisableApiTermination = v
  28034. return s
  28035. }
  28036. // SetEbsOptimized sets the EbsOptimized field's value.
  28037. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  28038. s.EbsOptimized = v
  28039. return s
  28040. }
  28041. // SetEnaSupport sets the EnaSupport field's value.
  28042. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  28043. s.EnaSupport = v
  28044. return s
  28045. }
  28046. // SetGroups sets the Groups field's value.
  28047. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  28048. s.Groups = v
  28049. return s
  28050. }
  28051. // SetInstanceId sets the InstanceId field's value.
  28052. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  28053. s.InstanceId = &v
  28054. return s
  28055. }
  28056. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  28057. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28058. s.InstanceInitiatedShutdownBehavior = v
  28059. return s
  28060. }
  28061. // SetInstanceType sets the InstanceType field's value.
  28062. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28063. s.InstanceType = v
  28064. return s
  28065. }
  28066. // SetKernelId sets the KernelId field's value.
  28067. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28068. s.KernelId = v
  28069. return s
  28070. }
  28071. // SetProductCodes sets the ProductCodes field's value.
  28072. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  28073. s.ProductCodes = v
  28074. return s
  28075. }
  28076. // SetRamdiskId sets the RamdiskId field's value.
  28077. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28078. s.RamdiskId = v
  28079. return s
  28080. }
  28081. // SetRootDeviceName sets the RootDeviceName field's value.
  28082. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28083. s.RootDeviceName = v
  28084. return s
  28085. }
  28086. // SetSourceDestCheck sets the SourceDestCheck field's value.
  28087. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  28088. s.SourceDestCheck = v
  28089. return s
  28090. }
  28091. // SetSriovNetSupport sets the SriovNetSupport field's value.
  28092. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28093. s.SriovNetSupport = v
  28094. return s
  28095. }
  28096. // SetUserData sets the UserData field's value.
  28097. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  28098. s.UserData = v
  28099. return s
  28100. }
  28101. // Contains the parameters for DescribeInstanceStatus.
  28102. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusRequest
  28103. type DescribeInstanceStatusInput struct {
  28104. _ struct{} `type:"structure"`
  28105. // Checks whether you have the required permissions for the action, without
  28106. // actually making the request, and provides an error response. If you have
  28107. // the required permissions, the error response is DryRunOperation. Otherwise,
  28108. // it is UnauthorizedOperation.
  28109. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28110. // One or more filters.
  28111. //
  28112. // * availability-zone - The Availability Zone of the instance.
  28113. //
  28114. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  28115. // | system-maintenance | instance-retirement | instance-stop).
  28116. //
  28117. // * event.description - A description of the event.
  28118. //
  28119. // * event.not-after - The latest end time for the scheduled event (for example,
  28120. // 2014-09-15T17:15:20.000Z).
  28121. //
  28122. // * event.not-before - The earliest start time for the scheduled event (for
  28123. // example, 2014-09-15T17:15:20.000Z).
  28124. //
  28125. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  28126. // integer. The high byte is an opaque internal value and should be ignored.
  28127. // The low byte is set based on the state represented. The valid values are
  28128. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  28129. // and 80 (stopped).
  28130. //
  28131. // * instance-state-name - The state of the instance (pending | running |
  28132. // shutting-down | terminated | stopping | stopped).
  28133. //
  28134. // * instance-status.reachability - Filters on instance status where the
  28135. // name is reachability (passed | failed | initializing | insufficient-data).
  28136. //
  28137. // * instance-status.status - The status of the instance (ok | impaired |
  28138. // initializing | insufficient-data | not-applicable).
  28139. //
  28140. // * system-status.reachability - Filters on system status where the name
  28141. // is reachability (passed | failed | initializing | insufficient-data).
  28142. //
  28143. // * system-status.status - The system status of the instance (ok | impaired
  28144. // | initializing | insufficient-data | not-applicable).
  28145. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28146. // When true, includes the health status for all instances. When false, includes
  28147. // the health status for running instances only.
  28148. //
  28149. // Default: false
  28150. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  28151. // One or more instance IDs.
  28152. //
  28153. // Default: Describes all your instances.
  28154. //
  28155. // Constraints: Maximum 100 explicitly specified instance IDs.
  28156. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  28157. // The maximum number of results to return in a single call. To retrieve the
  28158. // remaining results, make another call with the returned NextToken value. This
  28159. // value can be between 5 and 1000. You cannot specify this parameter and the
  28160. // instance IDs parameter in the same call.
  28161. MaxResults *int64 `type:"integer"`
  28162. // The token to retrieve the next page of results.
  28163. NextToken *string `type:"string"`
  28164. }
  28165. // String returns the string representation
  28166. func (s DescribeInstanceStatusInput) String() string {
  28167. return awsutil.Prettify(s)
  28168. }
  28169. // GoString returns the string representation
  28170. func (s DescribeInstanceStatusInput) GoString() string {
  28171. return s.String()
  28172. }
  28173. // SetDryRun sets the DryRun field's value.
  28174. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  28175. s.DryRun = &v
  28176. return s
  28177. }
  28178. // SetFilters sets the Filters field's value.
  28179. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  28180. s.Filters = v
  28181. return s
  28182. }
  28183. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  28184. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  28185. s.IncludeAllInstances = &v
  28186. return s
  28187. }
  28188. // SetInstanceIds sets the InstanceIds field's value.
  28189. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  28190. s.InstanceIds = v
  28191. return s
  28192. }
  28193. // SetMaxResults sets the MaxResults field's value.
  28194. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  28195. s.MaxResults = &v
  28196. return s
  28197. }
  28198. // SetNextToken sets the NextToken field's value.
  28199. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  28200. s.NextToken = &v
  28201. return s
  28202. }
  28203. // Contains the output of DescribeInstanceStatus.
  28204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusResult
  28205. type DescribeInstanceStatusOutput struct {
  28206. _ struct{} `type:"structure"`
  28207. // One or more instance status descriptions.
  28208. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  28209. // The token to use to retrieve the next page of results. This value is null
  28210. // when there are no more results to return.
  28211. NextToken *string `locationName:"nextToken" type:"string"`
  28212. }
  28213. // String returns the string representation
  28214. func (s DescribeInstanceStatusOutput) String() string {
  28215. return awsutil.Prettify(s)
  28216. }
  28217. // GoString returns the string representation
  28218. func (s DescribeInstanceStatusOutput) GoString() string {
  28219. return s.String()
  28220. }
  28221. // SetInstanceStatuses sets the InstanceStatuses field's value.
  28222. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  28223. s.InstanceStatuses = v
  28224. return s
  28225. }
  28226. // SetNextToken sets the NextToken field's value.
  28227. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  28228. s.NextToken = &v
  28229. return s
  28230. }
  28231. // Contains the parameters for DescribeInstances.
  28232. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesRequest
  28233. type DescribeInstancesInput struct {
  28234. _ struct{} `type:"structure"`
  28235. // Checks whether you have the required permissions for the action, without
  28236. // actually making the request, and provides an error response. If you have
  28237. // the required permissions, the error response is DryRunOperation. Otherwise,
  28238. // it is UnauthorizedOperation.
  28239. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28240. // One or more filters.
  28241. //
  28242. // * affinity - The affinity setting for an instance running on a Dedicated
  28243. // Host (default | host).
  28244. //
  28245. // * architecture - The instance architecture (i386 | x86_64).
  28246. //
  28247. // * availability-zone - The Availability Zone of the instance.
  28248. //
  28249. // * block-device-mapping.attach-time - The attach time for an EBS volume
  28250. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  28251. //
  28252. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  28253. // whether the EBS volume is deleted on instance termination.
  28254. //
  28255. // * block-device-mapping.device-name - The device name for the EBS volume
  28256. // (for example, /dev/sdh or xvdh).
  28257. //
  28258. // * block-device-mapping.status - The status for the EBS volume (attaching
  28259. // | attached | detaching | detached).
  28260. //
  28261. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  28262. //
  28263. // * client-token - The idempotency token you provided when you launched
  28264. // the instance.
  28265. //
  28266. // * dns-name - The public DNS name of the instance.
  28267. //
  28268. // * group-id - The ID of the security group for the instance. EC2-Classic
  28269. // only.
  28270. //
  28271. // * group-name - The name of the security group for the instance. EC2-Classic
  28272. // only.
  28273. //
  28274. // * host-id - The ID of the Dedicated Host on which the instance is running,
  28275. // if applicable.
  28276. //
  28277. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  28278. //
  28279. // * iam-instance-profile.arn - The instance profile associated with the
  28280. // instance. Specified as an ARN.
  28281. //
  28282. // * image-id - The ID of the image used to launch the instance.
  28283. //
  28284. // * instance-id - The ID of the instance.
  28285. //
  28286. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  28287. // Scheduled Instance (spot | scheduled).
  28288. //
  28289. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  28290. // integer. The high byte is an opaque internal value and should be ignored.
  28291. // The low byte is set based on the state represented. The valid values are:
  28292. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  28293. // and 80 (stopped).
  28294. //
  28295. // * instance-state-name - The state of the instance (pending | running |
  28296. // shutting-down | terminated | stopping | stopped).
  28297. //
  28298. // * instance-type - The type of instance (for example, t2.micro).
  28299. //
  28300. // * instance.group-id - The ID of the security group for the instance.
  28301. //
  28302. // * instance.group-name - The name of the security group for the instance.
  28303. //
  28304. //
  28305. // * ip-address - The public IPv4 address of the instance.
  28306. //
  28307. // * kernel-id - The kernel ID.
  28308. //
  28309. // * key-name - The name of the key pair used when the instance was launched.
  28310. //
  28311. // * launch-index - When launching multiple instances, this is the index
  28312. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  28313. //
  28314. //
  28315. // * launch-time - The time when the instance was launched.
  28316. //
  28317. // * monitoring-state - Indicates whether detailed monitoring is enabled
  28318. // (disabled | enabled).
  28319. //
  28320. // * network-interface.addresses.private-ip-address - The private IPv4 address
  28321. // associated with the network interface.
  28322. //
  28323. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  28324. // of the network interface is the primary private IPv4 address.
  28325. //
  28326. // * network-interface.addresses.association.public-ip - The ID of the association
  28327. // of an Elastic IP address (IPv4) with a network interface.
  28328. //
  28329. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  28330. // the private IPv4 address associated with the network interface.
  28331. //
  28332. // * network-interface.association.public-ip - The address of the Elastic
  28333. // IP address (IPv4) bound to the network interface.
  28334. //
  28335. // * network-interface.association.ip-owner-id - The owner of the Elastic
  28336. // IP address (IPv4) associated with the network interface.
  28337. //
  28338. // * network-interface.association.allocation-id - The allocation ID returned
  28339. // when you allocated the Elastic IP address (IPv4) for your network interface.
  28340. //
  28341. // * network-interface.association.association-id - The association ID returned
  28342. // when the network interface was associated with an IPv4 address.
  28343. //
  28344. // * network-interface.attachment.attachment-id - The ID of the interface
  28345. // attachment.
  28346. //
  28347. // * network-interface.attachment.instance-id - The ID of the instance to
  28348. // which the network interface is attached.
  28349. //
  28350. // * network-interface.attachment.instance-owner-id - The owner ID of the
  28351. // instance to which the network interface is attached.
  28352. //
  28353. // * network-interface.attachment.device-index - The device index to which
  28354. // the network interface is attached.
  28355. //
  28356. // * network-interface.attachment.status - The status of the attachment (attaching
  28357. // | attached | detaching | detached).
  28358. //
  28359. // * network-interface.attachment.attach-time - The time that the network
  28360. // interface was attached to an instance.
  28361. //
  28362. // * network-interface.attachment.delete-on-termination - Specifies whether
  28363. // the attachment is deleted when an instance is terminated.
  28364. //
  28365. // * network-interface.availability-zone - The Availability Zone for the
  28366. // network interface.
  28367. //
  28368. // * network-interface.description - The description of the network interface.
  28369. //
  28370. // * network-interface.group-id - The ID of a security group associated with
  28371. // the network interface.
  28372. //
  28373. // * network-interface.group-name - The name of a security group associated
  28374. // with the network interface.
  28375. //
  28376. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  28377. // with the network interface.
  28378. //
  28379. // * network-interface.mac-address - The MAC address of the network interface.
  28380. //
  28381. // * network-interface.network-interface-id - The ID of the network interface.
  28382. //
  28383. // * network-interface.owner-id - The ID of the owner of the network interface.
  28384. //
  28385. // * network-interface.private-dns-name - The private DNS name of the network
  28386. // interface.
  28387. //
  28388. // * network-interface.requester-id - The requester ID for the network interface.
  28389. //
  28390. // * network-interface.requester-managed - Indicates whether the network
  28391. // interface is being managed by AWS.
  28392. //
  28393. // * network-interface.status - The status of the network interface (available)
  28394. // | in-use).
  28395. //
  28396. // * network-interface.source-dest-check - Whether the network interface
  28397. // performs source/destination checking. A value of true means checking is
  28398. // enabled, and false means checking is disabled. The value must be false
  28399. // for the network interface to perform network address translation (NAT)
  28400. // in your VPC.
  28401. //
  28402. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  28403. //
  28404. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  28405. //
  28406. // * owner-id - The AWS account ID of the instance owner.
  28407. //
  28408. // * placement-group-name - The name of the placement group for the instance.
  28409. //
  28410. // * platform - The platform. Use windows if you have Windows instances;
  28411. // otherwise, leave blank.
  28412. //
  28413. // * private-dns-name - The private IPv4 DNS name of the instance.
  28414. //
  28415. // * private-ip-address - The private IPv4 address of the instance.
  28416. //
  28417. // * product-code - The product code associated with the AMI used to launch
  28418. // the instance.
  28419. //
  28420. // * product-code.type - The type of product code (devpay | marketplace).
  28421. //
  28422. // * ramdisk-id - The RAM disk ID.
  28423. //
  28424. // * reason - The reason for the current state of the instance (for example,
  28425. // shows "User Initiated [date]" when you stop or terminate the instance).
  28426. // Similar to the state-reason-code filter.
  28427. //
  28428. // * requester-id - The ID of the entity that launched the instance on your
  28429. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  28430. //
  28431. // * reservation-id - The ID of the instance's reservation. A reservation
  28432. // ID is created any time you launch an instance. A reservation ID has a
  28433. // one-to-one relationship with an instance launch request, but can be associated
  28434. // with more than one instance if you launch multiple instances using the
  28435. // same launch request. For example, if you launch one instance, you'll get
  28436. // one reservation ID. If you launch ten instances using the same launch
  28437. // request, you'll also get one reservation ID.
  28438. //
  28439. // * root-device-name - The name of the root device for the instance (for
  28440. // example, /dev/sda1 or /dev/xvda).
  28441. //
  28442. // * root-device-type - The type of root device that the instance uses (ebs
  28443. // | instance-store).
  28444. //
  28445. // * source-dest-check - Indicates whether the instance performs source/destination
  28446. // checking. A value of true means that checking is enabled, and false means
  28447. // checking is disabled. The value must be false for the instance to perform
  28448. // network address translation (NAT) in your VPC.
  28449. //
  28450. // * spot-instance-request-id - The ID of the Spot instance request.
  28451. //
  28452. // * state-reason-code - The reason code for the state change.
  28453. //
  28454. // * state-reason-message - A message that describes the state change.
  28455. //
  28456. // * subnet-id - The ID of the subnet for the instance.
  28457. //
  28458. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28459. // Specify the key of the tag in the filter name and the value of the tag
  28460. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28461. // for the filter name and X for the filter value.
  28462. //
  28463. // * tag-key - The key of a tag assigned to the resource. This filter is
  28464. // independent of the tag-value filter. For example, if you use both the
  28465. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28466. // assigned both the tag key Purpose (regardless of what the tag's value
  28467. // is), and the tag value X (regardless of what the tag's key is). If you
  28468. // want to list only resources where Purpose is X, see the tag:key=value
  28469. // filter.
  28470. //
  28471. // * tag-value - The value of a tag assigned to the resource. This filter
  28472. // is independent of the tag-key filter.
  28473. //
  28474. // * tenancy - The tenancy of an instance (dedicated | default | host).
  28475. //
  28476. // * virtualization-type - The virtualization type of the instance (paravirtual
  28477. // | hvm).
  28478. //
  28479. // * vpc-id - The ID of the VPC that the instance is running in.
  28480. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28481. // One or more instance IDs.
  28482. //
  28483. // Default: Describes all your instances.
  28484. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  28485. // The maximum number of results to return in a single call. To retrieve the
  28486. // remaining results, make another call with the returned NextToken value. This
  28487. // value can be between 5 and 1000. You cannot specify this parameter and the
  28488. // instance IDs parameter or tag filters in the same call.
  28489. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  28490. // The token to request the next page of results.
  28491. NextToken *string `locationName:"nextToken" type:"string"`
  28492. }
  28493. // String returns the string representation
  28494. func (s DescribeInstancesInput) String() string {
  28495. return awsutil.Prettify(s)
  28496. }
  28497. // GoString returns the string representation
  28498. func (s DescribeInstancesInput) GoString() string {
  28499. return s.String()
  28500. }
  28501. // SetDryRun sets the DryRun field's value.
  28502. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  28503. s.DryRun = &v
  28504. return s
  28505. }
  28506. // SetFilters sets the Filters field's value.
  28507. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  28508. s.Filters = v
  28509. return s
  28510. }
  28511. // SetInstanceIds sets the InstanceIds field's value.
  28512. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  28513. s.InstanceIds = v
  28514. return s
  28515. }
  28516. // SetMaxResults sets the MaxResults field's value.
  28517. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  28518. s.MaxResults = &v
  28519. return s
  28520. }
  28521. // SetNextToken sets the NextToken field's value.
  28522. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  28523. s.NextToken = &v
  28524. return s
  28525. }
  28526. // Contains the output of DescribeInstances.
  28527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesResult
  28528. type DescribeInstancesOutput struct {
  28529. _ struct{} `type:"structure"`
  28530. // The token to use to retrieve the next page of results. This value is null
  28531. // when there are no more results to return.
  28532. NextToken *string `locationName:"nextToken" type:"string"`
  28533. // Zero or more reservations.
  28534. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  28535. }
  28536. // String returns the string representation
  28537. func (s DescribeInstancesOutput) String() string {
  28538. return awsutil.Prettify(s)
  28539. }
  28540. // GoString returns the string representation
  28541. func (s DescribeInstancesOutput) GoString() string {
  28542. return s.String()
  28543. }
  28544. // SetNextToken sets the NextToken field's value.
  28545. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  28546. s.NextToken = &v
  28547. return s
  28548. }
  28549. // SetReservations sets the Reservations field's value.
  28550. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  28551. s.Reservations = v
  28552. return s
  28553. }
  28554. // Contains the parameters for DescribeInternetGateways.
  28555. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysRequest
  28556. type DescribeInternetGatewaysInput struct {
  28557. _ struct{} `type:"structure"`
  28558. // Checks whether you have the required permissions for the action, without
  28559. // actually making the request, and provides an error response. If you have
  28560. // the required permissions, the error response is DryRunOperation. Otherwise,
  28561. // it is UnauthorizedOperation.
  28562. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28563. // One or more filters.
  28564. //
  28565. // * attachment.state - The current state of the attachment between the gateway
  28566. // and the VPC (available). Present only if a VPC is attached.
  28567. //
  28568. // * attachment.vpc-id - The ID of an attached VPC.
  28569. //
  28570. // * internet-gateway-id - The ID of the Internet gateway.
  28571. //
  28572. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28573. // Specify the key of the tag in the filter name and the value of the tag
  28574. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28575. // for the filter name and X for the filter value.
  28576. //
  28577. // * tag-key - The key of a tag assigned to the resource. This filter is
  28578. // independent of the tag-value filter. For example, if you use both the
  28579. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28580. // assigned both the tag key Purpose (regardless of what the tag's value
  28581. // is), and the tag value X (regardless of what the tag's key is). If you
  28582. // want to list only resources where Purpose is X, see the tag:key=value
  28583. // filter.
  28584. //
  28585. // * tag-value - The value of a tag assigned to the resource. This filter
  28586. // is independent of the tag-key filter.
  28587. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28588. // One or more Internet gateway IDs.
  28589. //
  28590. // Default: Describes all your Internet gateways.
  28591. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  28592. }
  28593. // String returns the string representation
  28594. func (s DescribeInternetGatewaysInput) String() string {
  28595. return awsutil.Prettify(s)
  28596. }
  28597. // GoString returns the string representation
  28598. func (s DescribeInternetGatewaysInput) GoString() string {
  28599. return s.String()
  28600. }
  28601. // SetDryRun sets the DryRun field's value.
  28602. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  28603. s.DryRun = &v
  28604. return s
  28605. }
  28606. // SetFilters sets the Filters field's value.
  28607. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  28608. s.Filters = v
  28609. return s
  28610. }
  28611. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  28612. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  28613. s.InternetGatewayIds = v
  28614. return s
  28615. }
  28616. // Contains the output of DescribeInternetGateways.
  28617. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysResult
  28618. type DescribeInternetGatewaysOutput struct {
  28619. _ struct{} `type:"structure"`
  28620. // Information about one or more Internet gateways.
  28621. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  28622. }
  28623. // String returns the string representation
  28624. func (s DescribeInternetGatewaysOutput) String() string {
  28625. return awsutil.Prettify(s)
  28626. }
  28627. // GoString returns the string representation
  28628. func (s DescribeInternetGatewaysOutput) GoString() string {
  28629. return s.String()
  28630. }
  28631. // SetInternetGateways sets the InternetGateways field's value.
  28632. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  28633. s.InternetGateways = v
  28634. return s
  28635. }
  28636. // Contains the parameters for DescribeKeyPairs.
  28637. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsRequest
  28638. type DescribeKeyPairsInput struct {
  28639. _ struct{} `type:"structure"`
  28640. // Checks whether you have the required permissions for the action, without
  28641. // actually making the request, and provides an error response. If you have
  28642. // the required permissions, the error response is DryRunOperation. Otherwise,
  28643. // it is UnauthorizedOperation.
  28644. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28645. // One or more filters.
  28646. //
  28647. // * fingerprint - The fingerprint of the key pair.
  28648. //
  28649. // * key-name - The name of the key pair.
  28650. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28651. // One or more key pair names.
  28652. //
  28653. // Default: Describes all your key pairs.
  28654. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  28655. }
  28656. // String returns the string representation
  28657. func (s DescribeKeyPairsInput) String() string {
  28658. return awsutil.Prettify(s)
  28659. }
  28660. // GoString returns the string representation
  28661. func (s DescribeKeyPairsInput) GoString() string {
  28662. return s.String()
  28663. }
  28664. // SetDryRun sets the DryRun field's value.
  28665. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  28666. s.DryRun = &v
  28667. return s
  28668. }
  28669. // SetFilters sets the Filters field's value.
  28670. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  28671. s.Filters = v
  28672. return s
  28673. }
  28674. // SetKeyNames sets the KeyNames field's value.
  28675. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  28676. s.KeyNames = v
  28677. return s
  28678. }
  28679. // Contains the output of DescribeKeyPairs.
  28680. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsResult
  28681. type DescribeKeyPairsOutput struct {
  28682. _ struct{} `type:"structure"`
  28683. // Information about one or more key pairs.
  28684. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  28685. }
  28686. // String returns the string representation
  28687. func (s DescribeKeyPairsOutput) String() string {
  28688. return awsutil.Prettify(s)
  28689. }
  28690. // GoString returns the string representation
  28691. func (s DescribeKeyPairsOutput) GoString() string {
  28692. return s.String()
  28693. }
  28694. // SetKeyPairs sets the KeyPairs field's value.
  28695. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  28696. s.KeyPairs = v
  28697. return s
  28698. }
  28699. // Contains the parameters for DescribeMovingAddresses.
  28700. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesRequest
  28701. type DescribeMovingAddressesInput struct {
  28702. _ struct{} `type:"structure"`
  28703. // Checks whether you have the required permissions for the action, without
  28704. // actually making the request, and provides an error response. If you have
  28705. // the required permissions, the error response is DryRunOperation. Otherwise,
  28706. // it is UnauthorizedOperation.
  28707. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28708. // One or more filters.
  28709. //
  28710. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  28711. // RestoringToClassic).
  28712. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  28713. // The maximum number of results to return for the request in a single page.
  28714. // The remaining results of the initial request can be seen by sending another
  28715. // request with the returned NextToken value. This value can be between 5 and
  28716. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  28717. //
  28718. // Default: If no value is provided, the default is 1000.
  28719. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  28720. // The token to use to retrieve the next page of results.
  28721. NextToken *string `locationName:"nextToken" type:"string"`
  28722. // One or more Elastic IP addresses.
  28723. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  28724. }
  28725. // String returns the string representation
  28726. func (s DescribeMovingAddressesInput) String() string {
  28727. return awsutil.Prettify(s)
  28728. }
  28729. // GoString returns the string representation
  28730. func (s DescribeMovingAddressesInput) GoString() string {
  28731. return s.String()
  28732. }
  28733. // SetDryRun sets the DryRun field's value.
  28734. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  28735. s.DryRun = &v
  28736. return s
  28737. }
  28738. // SetFilters sets the Filters field's value.
  28739. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  28740. s.Filters = v
  28741. return s
  28742. }
  28743. // SetMaxResults sets the MaxResults field's value.
  28744. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  28745. s.MaxResults = &v
  28746. return s
  28747. }
  28748. // SetNextToken sets the NextToken field's value.
  28749. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  28750. s.NextToken = &v
  28751. return s
  28752. }
  28753. // SetPublicIps sets the PublicIps field's value.
  28754. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  28755. s.PublicIps = v
  28756. return s
  28757. }
  28758. // Contains the output of DescribeMovingAddresses.
  28759. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesResult
  28760. type DescribeMovingAddressesOutput struct {
  28761. _ struct{} `type:"structure"`
  28762. // The status for each Elastic IP address.
  28763. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  28764. // The token to use to retrieve the next page of results. This value is null
  28765. // when there are no more results to return.
  28766. NextToken *string `locationName:"nextToken" type:"string"`
  28767. }
  28768. // String returns the string representation
  28769. func (s DescribeMovingAddressesOutput) String() string {
  28770. return awsutil.Prettify(s)
  28771. }
  28772. // GoString returns the string representation
  28773. func (s DescribeMovingAddressesOutput) GoString() string {
  28774. return s.String()
  28775. }
  28776. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  28777. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  28778. s.MovingAddressStatuses = v
  28779. return s
  28780. }
  28781. // SetNextToken sets the NextToken field's value.
  28782. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  28783. s.NextToken = &v
  28784. return s
  28785. }
  28786. // Contains the parameters for DescribeNatGateways.
  28787. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysRequest
  28788. type DescribeNatGatewaysInput struct {
  28789. _ struct{} `type:"structure"`
  28790. // One or more filters.
  28791. //
  28792. // * nat-gateway-id - The ID of the NAT gateway.
  28793. //
  28794. // * state - The state of the NAT gateway (pending | failed | available |
  28795. // deleting | deleted).
  28796. //
  28797. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  28798. //
  28799. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  28800. Filter []*Filter `locationNameList:"Filter" type:"list"`
  28801. // The maximum number of items to return for this request. The request returns
  28802. // a token that you can specify in a subsequent call to get the next set of
  28803. // results.
  28804. //
  28805. // Constraint: If the value specified is greater than 1000, we return only 1000
  28806. // items.
  28807. MaxResults *int64 `type:"integer"`
  28808. // One or more NAT gateway IDs.
  28809. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  28810. // The token to retrieve the next page of results.
  28811. NextToken *string `type:"string"`
  28812. }
  28813. // String returns the string representation
  28814. func (s DescribeNatGatewaysInput) String() string {
  28815. return awsutil.Prettify(s)
  28816. }
  28817. // GoString returns the string representation
  28818. func (s DescribeNatGatewaysInput) GoString() string {
  28819. return s.String()
  28820. }
  28821. // SetFilter sets the Filter field's value.
  28822. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  28823. s.Filter = v
  28824. return s
  28825. }
  28826. // SetMaxResults sets the MaxResults field's value.
  28827. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  28828. s.MaxResults = &v
  28829. return s
  28830. }
  28831. // SetNatGatewayIds sets the NatGatewayIds field's value.
  28832. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  28833. s.NatGatewayIds = v
  28834. return s
  28835. }
  28836. // SetNextToken sets the NextToken field's value.
  28837. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  28838. s.NextToken = &v
  28839. return s
  28840. }
  28841. // Contains the output of DescribeNatGateways.
  28842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysResult
  28843. type DescribeNatGatewaysOutput struct {
  28844. _ struct{} `type:"structure"`
  28845. // Information about the NAT gateways.
  28846. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  28847. // The token to use to retrieve the next page of results. This value is null
  28848. // when there are no more results to return.
  28849. NextToken *string `locationName:"nextToken" type:"string"`
  28850. }
  28851. // String returns the string representation
  28852. func (s DescribeNatGatewaysOutput) String() string {
  28853. return awsutil.Prettify(s)
  28854. }
  28855. // GoString returns the string representation
  28856. func (s DescribeNatGatewaysOutput) GoString() string {
  28857. return s.String()
  28858. }
  28859. // SetNatGateways sets the NatGateways field's value.
  28860. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  28861. s.NatGateways = v
  28862. return s
  28863. }
  28864. // SetNextToken sets the NextToken field's value.
  28865. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  28866. s.NextToken = &v
  28867. return s
  28868. }
  28869. // Contains the parameters for DescribeNetworkAcls.
  28870. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsRequest
  28871. type DescribeNetworkAclsInput struct {
  28872. _ struct{} `type:"structure"`
  28873. // Checks whether you have the required permissions for the action, without
  28874. // actually making the request, and provides an error response. If you have
  28875. // the required permissions, the error response is DryRunOperation. Otherwise,
  28876. // it is UnauthorizedOperation.
  28877. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28878. // One or more filters.
  28879. //
  28880. // * association.association-id - The ID of an association ID for the ACL.
  28881. //
  28882. // * association.network-acl-id - The ID of the network ACL involved in the
  28883. // association.
  28884. //
  28885. // * association.subnet-id - The ID of the subnet involved in the association.
  28886. //
  28887. // * default - Indicates whether the ACL is the default network ACL for the
  28888. // VPC.
  28889. //
  28890. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  28891. //
  28892. // * entry.egress - Indicates whether the entry applies to egress traffic.
  28893. //
  28894. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  28895. //
  28896. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  28897. //
  28898. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  28899. //
  28900. // * entry.port-range.from - The start of the port range specified in the
  28901. // entry.
  28902. //
  28903. // * entry.port-range.to - The end of the port range specified in the entry.
  28904. //
  28905. //
  28906. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  28907. // or a protocol number).
  28908. //
  28909. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  28910. //
  28911. // * entry.rule-number - The number of an entry (in other words, rule) in
  28912. // the ACL's set of entries.
  28913. //
  28914. // * network-acl-id - The ID of the network ACL.
  28915. //
  28916. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28917. // Specify the key of the tag in the filter name and the value of the tag
  28918. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28919. // for the filter name and X for the filter value.
  28920. //
  28921. // * tag-key - The key of a tag assigned to the resource. This filter is
  28922. // independent of the tag-value filter. For example, if you use both the
  28923. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28924. // assigned both the tag key Purpose (regardless of what the tag's value
  28925. // is), and the tag value X (regardless of what the tag's key is). If you
  28926. // want to list only resources where Purpose is X, see the tag:key=value
  28927. // filter.
  28928. //
  28929. // * tag-value - The value of a tag assigned to the resource. This filter
  28930. // is independent of the tag-key filter.
  28931. //
  28932. // * vpc-id - The ID of the VPC for the network ACL.
  28933. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28934. // One or more network ACL IDs.
  28935. //
  28936. // Default: Describes all your network ACLs.
  28937. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  28938. }
  28939. // String returns the string representation
  28940. func (s DescribeNetworkAclsInput) String() string {
  28941. return awsutil.Prettify(s)
  28942. }
  28943. // GoString returns the string representation
  28944. func (s DescribeNetworkAclsInput) GoString() string {
  28945. return s.String()
  28946. }
  28947. // SetDryRun sets the DryRun field's value.
  28948. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  28949. s.DryRun = &v
  28950. return s
  28951. }
  28952. // SetFilters sets the Filters field's value.
  28953. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  28954. s.Filters = v
  28955. return s
  28956. }
  28957. // SetNetworkAclIds sets the NetworkAclIds field's value.
  28958. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  28959. s.NetworkAclIds = v
  28960. return s
  28961. }
  28962. // Contains the output of DescribeNetworkAcls.
  28963. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsResult
  28964. type DescribeNetworkAclsOutput struct {
  28965. _ struct{} `type:"structure"`
  28966. // Information about one or more network ACLs.
  28967. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  28968. }
  28969. // String returns the string representation
  28970. func (s DescribeNetworkAclsOutput) String() string {
  28971. return awsutil.Prettify(s)
  28972. }
  28973. // GoString returns the string representation
  28974. func (s DescribeNetworkAclsOutput) GoString() string {
  28975. return s.String()
  28976. }
  28977. // SetNetworkAcls sets the NetworkAcls field's value.
  28978. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  28979. s.NetworkAcls = v
  28980. return s
  28981. }
  28982. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  28983. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeRequest
  28984. type DescribeNetworkInterfaceAttributeInput struct {
  28985. _ struct{} `type:"structure"`
  28986. // The attribute of the network interface. This parameter is required.
  28987. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  28988. // Checks whether you have the required permissions for the action, without
  28989. // actually making the request, and provides an error response. If you have
  28990. // the required permissions, the error response is DryRunOperation. Otherwise,
  28991. // it is UnauthorizedOperation.
  28992. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28993. // The ID of the network interface.
  28994. //
  28995. // NetworkInterfaceId is a required field
  28996. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  28997. }
  28998. // String returns the string representation
  28999. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  29000. return awsutil.Prettify(s)
  29001. }
  29002. // GoString returns the string representation
  29003. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  29004. return s.String()
  29005. }
  29006. // Validate inspects the fields of the type to determine if they are valid.
  29007. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  29008. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  29009. if s.NetworkInterfaceId == nil {
  29010. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  29011. }
  29012. if invalidParams.Len() > 0 {
  29013. return invalidParams
  29014. }
  29015. return nil
  29016. }
  29017. // SetAttribute sets the Attribute field's value.
  29018. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  29019. s.Attribute = &v
  29020. return s
  29021. }
  29022. // SetDryRun sets the DryRun field's value.
  29023. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  29024. s.DryRun = &v
  29025. return s
  29026. }
  29027. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  29028. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  29029. s.NetworkInterfaceId = &v
  29030. return s
  29031. }
  29032. // Contains the output of DescribeNetworkInterfaceAttribute.
  29033. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeResult
  29034. type DescribeNetworkInterfaceAttributeOutput struct {
  29035. _ struct{} `type:"structure"`
  29036. // The attachment (if any) of the network interface.
  29037. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  29038. // The description of the network interface.
  29039. Description *AttributeValue `locationName:"description" type:"structure"`
  29040. // The security groups associated with the network interface.
  29041. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  29042. // The ID of the network interface.
  29043. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  29044. // Indicates whether source/destination checking is enabled.
  29045. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  29046. }
  29047. // String returns the string representation
  29048. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  29049. return awsutil.Prettify(s)
  29050. }
  29051. // GoString returns the string representation
  29052. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  29053. return s.String()
  29054. }
  29055. // SetAttachment sets the Attachment field's value.
  29056. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  29057. s.Attachment = v
  29058. return s
  29059. }
  29060. // SetDescription sets the Description field's value.
  29061. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  29062. s.Description = v
  29063. return s
  29064. }
  29065. // SetGroups sets the Groups field's value.
  29066. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  29067. s.Groups = v
  29068. return s
  29069. }
  29070. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  29071. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  29072. s.NetworkInterfaceId = &v
  29073. return s
  29074. }
  29075. // SetSourceDestCheck sets the SourceDestCheck field's value.
  29076. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  29077. s.SourceDestCheck = v
  29078. return s
  29079. }
  29080. // Contains the parameters for DescribeNetworkInterfacePermissions.
  29081. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsRequest
  29082. type DescribeNetworkInterfacePermissionsInput struct {
  29083. _ struct{} `type:"structure"`
  29084. // One or more filters.
  29085. //
  29086. // * network-interface-permission.network-interface-permission-id - The ID
  29087. // of the permission.
  29088. //
  29089. // * network-interface-permission.network-interface-id - The ID of the network
  29090. // interface.
  29091. //
  29092. // * network-interface-permission.aws-account-id - The AWS account ID.
  29093. //
  29094. // * network-interface-permission.aws-service - The AWS service.
  29095. //
  29096. // * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
  29097. // | EIP-ASSOCIATE).
  29098. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29099. // The maximum number of results to return in a single call. To retrieve the
  29100. // remaining results, make another call with the returned NextToken value. If
  29101. // this parameter is not specified, up to 50 results are returned by default.
  29102. MaxResults *int64 `type:"integer"`
  29103. // One or more network interface permission IDs.
  29104. NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
  29105. // The token to request the next page of results.
  29106. NextToken *string `type:"string"`
  29107. }
  29108. // String returns the string representation
  29109. func (s DescribeNetworkInterfacePermissionsInput) String() string {
  29110. return awsutil.Prettify(s)
  29111. }
  29112. // GoString returns the string representation
  29113. func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
  29114. return s.String()
  29115. }
  29116. // SetFilters sets the Filters field's value.
  29117. func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
  29118. s.Filters = v
  29119. return s
  29120. }
  29121. // SetMaxResults sets the MaxResults field's value.
  29122. func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
  29123. s.MaxResults = &v
  29124. return s
  29125. }
  29126. // SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
  29127. func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
  29128. s.NetworkInterfacePermissionIds = v
  29129. return s
  29130. }
  29131. // SetNextToken sets the NextToken field's value.
  29132. func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
  29133. s.NextToken = &v
  29134. return s
  29135. }
  29136. // Contains the output for DescribeNetworkInterfacePermissions.
  29137. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsResult
  29138. type DescribeNetworkInterfacePermissionsOutput struct {
  29139. _ struct{} `type:"structure"`
  29140. // The network interface permissions.
  29141. NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
  29142. // The token to use to retrieve the next page of results.
  29143. NextToken *string `locationName:"nextToken" type:"string"`
  29144. }
  29145. // String returns the string representation
  29146. func (s DescribeNetworkInterfacePermissionsOutput) String() string {
  29147. return awsutil.Prettify(s)
  29148. }
  29149. // GoString returns the string representation
  29150. func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
  29151. return s.String()
  29152. }
  29153. // SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
  29154. func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
  29155. s.NetworkInterfacePermissions = v
  29156. return s
  29157. }
  29158. // SetNextToken sets the NextToken field's value.
  29159. func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
  29160. s.NextToken = &v
  29161. return s
  29162. }
  29163. // Contains the parameters for DescribeNetworkInterfaces.
  29164. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesRequest
  29165. type DescribeNetworkInterfacesInput struct {
  29166. _ struct{} `type:"structure"`
  29167. // Checks whether you have the required permissions for the action, without
  29168. // actually making the request, and provides an error response. If you have
  29169. // the required permissions, the error response is DryRunOperation. Otherwise,
  29170. // it is UnauthorizedOperation.
  29171. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29172. // One or more filters.
  29173. //
  29174. // * addresses.private-ip-address - The private IPv4 addresses associated
  29175. // with the network interface.
  29176. //
  29177. // * addresses.primary - Whether the private IPv4 address is the primary
  29178. // IP address associated with the network interface.
  29179. //
  29180. // * addresses.association.public-ip - The association ID returned when the
  29181. // network interface was associated with the Elastic IP address (IPv4).
  29182. //
  29183. // * addresses.association.owner-id - The owner ID of the addresses associated
  29184. // with the network interface.
  29185. //
  29186. // * association.association-id - The association ID returned when the network
  29187. // interface was associated with an IPv4 address.
  29188. //
  29189. // * association.allocation-id - The allocation ID returned when you allocated
  29190. // the Elastic IP address (IPv4) for your network interface.
  29191. //
  29192. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  29193. // associated with the network interface.
  29194. //
  29195. // * association.public-ip - The address of the Elastic IP address (IPv4)
  29196. // bound to the network interface.
  29197. //
  29198. // * association.public-dns-name - The public DNS name for the network interface
  29199. // (IPv4).
  29200. //
  29201. // * attachment.attachment-id - The ID of the interface attachment.
  29202. //
  29203. // * attachment.attach.time - The time that the network interface was attached
  29204. // to an instance.
  29205. //
  29206. // * attachment.delete-on-termination - Indicates whether the attachment
  29207. // is deleted when an instance is terminated.
  29208. //
  29209. // * attachment.device-index - The device index to which the network interface
  29210. // is attached.
  29211. //
  29212. // * attachment.instance-id - The ID of the instance to which the network
  29213. // interface is attached.
  29214. //
  29215. // * attachment.instance-owner-id - The owner ID of the instance to which
  29216. // the network interface is attached.
  29217. //
  29218. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  29219. // interface is attached.
  29220. //
  29221. // * attachment.status - The status of the attachment (attaching | attached
  29222. // | detaching | detached).
  29223. //
  29224. // * availability-zone - The Availability Zone of the network interface.
  29225. //
  29226. // * description - The description of the network interface.
  29227. //
  29228. // * group-id - The ID of a security group associated with the network interface.
  29229. //
  29230. // * group-name - The name of a security group associated with the network
  29231. // interface.
  29232. //
  29233. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  29234. // interface.
  29235. //
  29236. // * mac-address - The MAC address of the network interface.
  29237. //
  29238. // * network-interface-id - The ID of the network interface.
  29239. //
  29240. // * owner-id - The AWS account ID of the network interface owner.
  29241. //
  29242. // * private-ip-address - The private IPv4 address or addresses of the network
  29243. // interface.
  29244. //
  29245. // * private-dns-name - The private DNS name of the network interface (IPv4).
  29246. //
  29247. // * requester-id - The ID of the entity that launched the instance on your
  29248. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  29249. //
  29250. // * requester-managed - Indicates whether the network interface is being
  29251. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  29252. // and so on).
  29253. //
  29254. // * source-desk-check - Indicates whether the network interface performs
  29255. // source/destination checking. A value of true means checking is enabled,
  29256. // and false means checking is disabled. The value must be false for the
  29257. // network interface to perform network address translation (NAT) in your
  29258. // VPC.
  29259. //
  29260. // * status - The status of the network interface. If the network interface
  29261. // is not attached to an instance, the status is available; if a network
  29262. // interface is attached to an instance the status is in-use.
  29263. //
  29264. // * subnet-id - The ID of the subnet for the network interface.
  29265. //
  29266. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29267. // Specify the key of the tag in the filter name and the value of the tag
  29268. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  29269. // for the filter name and X for the filter value.
  29270. //
  29271. // * tag-key - The key of a tag assigned to the resource. This filter is
  29272. // independent of the tag-value filter. For example, if you use both the
  29273. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29274. // assigned both the tag key Purpose (regardless of what the tag's value
  29275. // is), and the tag value X (regardless of what the tag's key is). If you
  29276. // want to list only resources where Purpose is X, see the tag:key=value
  29277. // filter.
  29278. //
  29279. // * tag-value - The value of a tag assigned to the resource. This filter
  29280. // is independent of the tag-key filter.
  29281. //
  29282. // * vpc-id - The ID of the VPC for the network interface.
  29283. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  29284. // One or more network interface IDs.
  29285. //
  29286. // Default: Describes all your network interfaces.
  29287. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  29288. }
  29289. // String returns the string representation
  29290. func (s DescribeNetworkInterfacesInput) String() string {
  29291. return awsutil.Prettify(s)
  29292. }
  29293. // GoString returns the string representation
  29294. func (s DescribeNetworkInterfacesInput) GoString() string {
  29295. return s.String()
  29296. }
  29297. // SetDryRun sets the DryRun field's value.
  29298. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  29299. s.DryRun = &v
  29300. return s
  29301. }
  29302. // SetFilters sets the Filters field's value.
  29303. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  29304. s.Filters = v
  29305. return s
  29306. }
  29307. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  29308. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  29309. s.NetworkInterfaceIds = v
  29310. return s
  29311. }
  29312. // Contains the output of DescribeNetworkInterfaces.
  29313. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesResult
  29314. type DescribeNetworkInterfacesOutput struct {
  29315. _ struct{} `type:"structure"`
  29316. // Information about one or more network interfaces.
  29317. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  29318. }
  29319. // String returns the string representation
  29320. func (s DescribeNetworkInterfacesOutput) String() string {
  29321. return awsutil.Prettify(s)
  29322. }
  29323. // GoString returns the string representation
  29324. func (s DescribeNetworkInterfacesOutput) GoString() string {
  29325. return s.String()
  29326. }
  29327. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  29328. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  29329. s.NetworkInterfaces = v
  29330. return s
  29331. }
  29332. // Contains the parameters for DescribePlacementGroups.
  29333. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsRequest
  29334. type DescribePlacementGroupsInput struct {
  29335. _ struct{} `type:"structure"`
  29336. // Checks whether you have the required permissions for the action, without
  29337. // actually making the request, and provides an error response. If you have
  29338. // the required permissions, the error response is DryRunOperation. Otherwise,
  29339. // it is UnauthorizedOperation.
  29340. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29341. // One or more filters.
  29342. //
  29343. // * group-name - The name of the placement group.
  29344. //
  29345. // * state - The state of the placement group (pending | available | deleting
  29346. // | deleted).
  29347. //
  29348. // * strategy - The strategy of the placement group (cluster).
  29349. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29350. // One or more placement group names.
  29351. //
  29352. // Default: Describes all your placement groups, or only those otherwise specified.
  29353. GroupNames []*string `locationName:"groupName" type:"list"`
  29354. }
  29355. // String returns the string representation
  29356. func (s DescribePlacementGroupsInput) String() string {
  29357. return awsutil.Prettify(s)
  29358. }
  29359. // GoString returns the string representation
  29360. func (s DescribePlacementGroupsInput) GoString() string {
  29361. return s.String()
  29362. }
  29363. // SetDryRun sets the DryRun field's value.
  29364. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  29365. s.DryRun = &v
  29366. return s
  29367. }
  29368. // SetFilters sets the Filters field's value.
  29369. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  29370. s.Filters = v
  29371. return s
  29372. }
  29373. // SetGroupNames sets the GroupNames field's value.
  29374. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  29375. s.GroupNames = v
  29376. return s
  29377. }
  29378. // Contains the output of DescribePlacementGroups.
  29379. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsResult
  29380. type DescribePlacementGroupsOutput struct {
  29381. _ struct{} `type:"structure"`
  29382. // One or more placement groups.
  29383. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  29384. }
  29385. // String returns the string representation
  29386. func (s DescribePlacementGroupsOutput) String() string {
  29387. return awsutil.Prettify(s)
  29388. }
  29389. // GoString returns the string representation
  29390. func (s DescribePlacementGroupsOutput) GoString() string {
  29391. return s.String()
  29392. }
  29393. // SetPlacementGroups sets the PlacementGroups field's value.
  29394. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  29395. s.PlacementGroups = v
  29396. return s
  29397. }
  29398. // Contains the parameters for DescribePrefixLists.
  29399. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsRequest
  29400. type DescribePrefixListsInput struct {
  29401. _ struct{} `type:"structure"`
  29402. // Checks whether you have the required permissions for the action, without
  29403. // actually making the request, and provides an error response. If you have
  29404. // the required permissions, the error response is DryRunOperation. Otherwise,
  29405. // it is UnauthorizedOperation.
  29406. DryRun *bool `type:"boolean"`
  29407. // One or more filters.
  29408. //
  29409. // * prefix-list-id: The ID of a prefix list.
  29410. //
  29411. // * prefix-list-name: The name of a prefix list.
  29412. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29413. // The maximum number of items to return for this request. The request returns
  29414. // a token that you can specify in a subsequent call to get the next set of
  29415. // results.
  29416. //
  29417. // Constraint: If the value specified is greater than 1000, we return only 1000
  29418. // items.
  29419. MaxResults *int64 `type:"integer"`
  29420. // The token for the next set of items to return. (You received this token from
  29421. // a prior call.)
  29422. NextToken *string `type:"string"`
  29423. // One or more prefix list IDs.
  29424. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  29425. }
  29426. // String returns the string representation
  29427. func (s DescribePrefixListsInput) String() string {
  29428. return awsutil.Prettify(s)
  29429. }
  29430. // GoString returns the string representation
  29431. func (s DescribePrefixListsInput) GoString() string {
  29432. return s.String()
  29433. }
  29434. // SetDryRun sets the DryRun field's value.
  29435. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  29436. s.DryRun = &v
  29437. return s
  29438. }
  29439. // SetFilters sets the Filters field's value.
  29440. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  29441. s.Filters = v
  29442. return s
  29443. }
  29444. // SetMaxResults sets the MaxResults field's value.
  29445. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  29446. s.MaxResults = &v
  29447. return s
  29448. }
  29449. // SetNextToken sets the NextToken field's value.
  29450. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  29451. s.NextToken = &v
  29452. return s
  29453. }
  29454. // SetPrefixListIds sets the PrefixListIds field's value.
  29455. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  29456. s.PrefixListIds = v
  29457. return s
  29458. }
  29459. // Contains the output of DescribePrefixLists.
  29460. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsResult
  29461. type DescribePrefixListsOutput struct {
  29462. _ struct{} `type:"structure"`
  29463. // The token to use when requesting the next set of items. If there are no additional
  29464. // items to return, the string is empty.
  29465. NextToken *string `locationName:"nextToken" type:"string"`
  29466. // All available prefix lists.
  29467. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  29468. }
  29469. // String returns the string representation
  29470. func (s DescribePrefixListsOutput) String() string {
  29471. return awsutil.Prettify(s)
  29472. }
  29473. // GoString returns the string representation
  29474. func (s DescribePrefixListsOutput) GoString() string {
  29475. return s.String()
  29476. }
  29477. // SetNextToken sets the NextToken field's value.
  29478. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  29479. s.NextToken = &v
  29480. return s
  29481. }
  29482. // SetPrefixLists sets the PrefixLists field's value.
  29483. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  29484. s.PrefixLists = v
  29485. return s
  29486. }
  29487. // Contains the parameters for DescribeRegions.
  29488. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsRequest
  29489. type DescribeRegionsInput struct {
  29490. _ struct{} `type:"structure"`
  29491. // Checks whether you have the required permissions for the action, without
  29492. // actually making the request, and provides an error response. If you have
  29493. // the required permissions, the error response is DryRunOperation. Otherwise,
  29494. // it is UnauthorizedOperation.
  29495. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29496. // One or more filters.
  29497. //
  29498. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  29499. //
  29500. // * region-name - The name of the region (for example, us-east-1).
  29501. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29502. // The names of one or more regions.
  29503. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  29504. }
  29505. // String returns the string representation
  29506. func (s DescribeRegionsInput) String() string {
  29507. return awsutil.Prettify(s)
  29508. }
  29509. // GoString returns the string representation
  29510. func (s DescribeRegionsInput) GoString() string {
  29511. return s.String()
  29512. }
  29513. // SetDryRun sets the DryRun field's value.
  29514. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  29515. s.DryRun = &v
  29516. return s
  29517. }
  29518. // SetFilters sets the Filters field's value.
  29519. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  29520. s.Filters = v
  29521. return s
  29522. }
  29523. // SetRegionNames sets the RegionNames field's value.
  29524. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  29525. s.RegionNames = v
  29526. return s
  29527. }
  29528. // Contains the output of DescribeRegions.
  29529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsResult
  29530. type DescribeRegionsOutput struct {
  29531. _ struct{} `type:"structure"`
  29532. // Information about one or more regions.
  29533. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  29534. }
  29535. // String returns the string representation
  29536. func (s DescribeRegionsOutput) String() string {
  29537. return awsutil.Prettify(s)
  29538. }
  29539. // GoString returns the string representation
  29540. func (s DescribeRegionsOutput) GoString() string {
  29541. return s.String()
  29542. }
  29543. // SetRegions sets the Regions field's value.
  29544. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  29545. s.Regions = v
  29546. return s
  29547. }
  29548. // Contains the parameters for DescribeReservedInstances.
  29549. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesRequest
  29550. type DescribeReservedInstancesInput struct {
  29551. _ struct{} `type:"structure"`
  29552. // Checks whether you have the required permissions for the action, without
  29553. // actually making the request, and provides an error response. If you have
  29554. // the required permissions, the error response is DryRunOperation. Otherwise,
  29555. // it is UnauthorizedOperation.
  29556. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29557. // One or more filters.
  29558. //
  29559. // * availability-zone - The Availability Zone where the Reserved Instance
  29560. // can be used.
  29561. //
  29562. // * duration - The duration of the Reserved Instance (one year or three
  29563. // years), in seconds (31536000 | 94608000).
  29564. //
  29565. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  29566. //
  29567. // * fixed-price - The purchase price of the Reserved Instance (for example,
  29568. // 9800.0).
  29569. //
  29570. // * instance-type - The instance type that is covered by the reservation.
  29571. //
  29572. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  29573. //
  29574. // * product-description - The Reserved Instance product platform description.
  29575. // Instances that include (Amazon VPC) in the product platform description
  29576. // will only be displayed to EC2-Classic account holders and are for use
  29577. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  29578. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  29579. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  29580. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  29581. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  29582. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  29583. //
  29584. // * reserved-instances-id - The ID of the Reserved Instance.
  29585. //
  29586. // * start - The time at which the Reserved Instance purchase request was
  29587. // placed (for example, 2014-08-07T11:54:42.000Z).
  29588. //
  29589. // * state - The state of the Reserved Instance (payment-pending | active
  29590. // | payment-failed | retired).
  29591. //
  29592. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29593. // Specify the key of the tag in the filter name and the value of the tag
  29594. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  29595. // for the filter name and X for the filter value.
  29596. //
  29597. // * tag-key - The key of a tag assigned to the resource. This filter is
  29598. // independent of the tag-value filter. For example, if you use both the
  29599. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29600. // assigned both the tag key Purpose (regardless of what the tag's value
  29601. // is), and the tag value X (regardless of what the tag's key is). If you
  29602. // want to list only resources where Purpose is X, see the tag:key=value
  29603. // filter.
  29604. //
  29605. // * tag-value - The value of a tag assigned to the resource. This filter
  29606. // is independent of the tag-key filter.
  29607. //
  29608. // * usage-price - The usage price of the Reserved Instance, per hour (for
  29609. // example, 0.84).
  29610. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29611. // Describes whether the Reserved Instance is Standard or Convertible.
  29612. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  29613. // The Reserved Instance offering type. If you are using tools that predate
  29614. // the 2011-11-01 API version, you only have access to the Medium Utilization
  29615. // Reserved Instance offering type.
  29616. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  29617. // One or more Reserved Instance IDs.
  29618. //
  29619. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  29620. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  29621. }
  29622. // String returns the string representation
  29623. func (s DescribeReservedInstancesInput) String() string {
  29624. return awsutil.Prettify(s)
  29625. }
  29626. // GoString returns the string representation
  29627. func (s DescribeReservedInstancesInput) GoString() string {
  29628. return s.String()
  29629. }
  29630. // SetDryRun sets the DryRun field's value.
  29631. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  29632. s.DryRun = &v
  29633. return s
  29634. }
  29635. // SetFilters sets the Filters field's value.
  29636. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  29637. s.Filters = v
  29638. return s
  29639. }
  29640. // SetOfferingClass sets the OfferingClass field's value.
  29641. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  29642. s.OfferingClass = &v
  29643. return s
  29644. }
  29645. // SetOfferingType sets the OfferingType field's value.
  29646. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  29647. s.OfferingType = &v
  29648. return s
  29649. }
  29650. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  29651. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  29652. s.ReservedInstancesIds = v
  29653. return s
  29654. }
  29655. // Contains the parameters for DescribeReservedInstancesListings.
  29656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsRequest
  29657. type DescribeReservedInstancesListingsInput struct {
  29658. _ struct{} `type:"structure"`
  29659. // One or more filters.
  29660. //
  29661. // * reserved-instances-id - The ID of the Reserved Instances.
  29662. //
  29663. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  29664. //
  29665. // * status - The status of the Reserved Instance listing (pending | active
  29666. // | cancelled | closed).
  29667. //
  29668. // * status-message - The reason for the status.
  29669. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29670. // One or more Reserved Instance IDs.
  29671. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  29672. // One or more Reserved Instance listing IDs.
  29673. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  29674. }
  29675. // String returns the string representation
  29676. func (s DescribeReservedInstancesListingsInput) String() string {
  29677. return awsutil.Prettify(s)
  29678. }
  29679. // GoString returns the string representation
  29680. func (s DescribeReservedInstancesListingsInput) GoString() string {
  29681. return s.String()
  29682. }
  29683. // SetFilters sets the Filters field's value.
  29684. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  29685. s.Filters = v
  29686. return s
  29687. }
  29688. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  29689. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  29690. s.ReservedInstancesId = &v
  29691. return s
  29692. }
  29693. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  29694. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  29695. s.ReservedInstancesListingId = &v
  29696. return s
  29697. }
  29698. // Contains the output of DescribeReservedInstancesListings.
  29699. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsResult
  29700. type DescribeReservedInstancesListingsOutput struct {
  29701. _ struct{} `type:"structure"`
  29702. // Information about the Reserved Instance listing.
  29703. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  29704. }
  29705. // String returns the string representation
  29706. func (s DescribeReservedInstancesListingsOutput) String() string {
  29707. return awsutil.Prettify(s)
  29708. }
  29709. // GoString returns the string representation
  29710. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  29711. return s.String()
  29712. }
  29713. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  29714. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  29715. s.ReservedInstancesListings = v
  29716. return s
  29717. }
  29718. // Contains the parameters for DescribeReservedInstancesModifications.
  29719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsRequest
  29720. type DescribeReservedInstancesModificationsInput struct {
  29721. _ struct{} `type:"structure"`
  29722. // One or more filters.
  29723. //
  29724. // * client-token - The idempotency token for the modification request.
  29725. //
  29726. // * create-date - The time when the modification request was created.
  29727. //
  29728. // * effective-date - The time when the modification becomes effective.
  29729. //
  29730. // * modification-result.reserved-instances-id - The ID for the Reserved
  29731. // Instances created as part of the modification request. This ID is only
  29732. // available when the status of the modification is fulfilled.
  29733. //
  29734. // * modification-result.target-configuration.availability-zone - The Availability
  29735. // Zone for the new Reserved Instances.
  29736. //
  29737. // * modification-result.target-configuration.instance-count - The number
  29738. // of new Reserved Instances.
  29739. //
  29740. // * modification-result.target-configuration.instance-type - The instance
  29741. // type of the new Reserved Instances.
  29742. //
  29743. // * modification-result.target-configuration.platform - The network platform
  29744. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  29745. //
  29746. // * reserved-instances-id - The ID of the Reserved Instances modified.
  29747. //
  29748. // * reserved-instances-modification-id - The ID of the modification request.
  29749. //
  29750. // * status - The status of the Reserved Instances modification request (processing
  29751. // | fulfilled | failed).
  29752. //
  29753. // * status-message - The reason for the status.
  29754. //
  29755. // * update-date - The time when the modification request was last updated.
  29756. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29757. // The token to retrieve the next page of results.
  29758. NextToken *string `locationName:"nextToken" type:"string"`
  29759. // IDs for the submitted modification request.
  29760. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  29761. }
  29762. // String returns the string representation
  29763. func (s DescribeReservedInstancesModificationsInput) String() string {
  29764. return awsutil.Prettify(s)
  29765. }
  29766. // GoString returns the string representation
  29767. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  29768. return s.String()
  29769. }
  29770. // SetFilters sets the Filters field's value.
  29771. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  29772. s.Filters = v
  29773. return s
  29774. }
  29775. // SetNextToken sets the NextToken field's value.
  29776. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  29777. s.NextToken = &v
  29778. return s
  29779. }
  29780. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  29781. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  29782. s.ReservedInstancesModificationIds = v
  29783. return s
  29784. }
  29785. // Contains the output of DescribeReservedInstancesModifications.
  29786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsResult
  29787. type DescribeReservedInstancesModificationsOutput struct {
  29788. _ struct{} `type:"structure"`
  29789. // The token to use to retrieve the next page of results. This value is null
  29790. // when there are no more results to return.
  29791. NextToken *string `locationName:"nextToken" type:"string"`
  29792. // The Reserved Instance modification information.
  29793. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  29794. }
  29795. // String returns the string representation
  29796. func (s DescribeReservedInstancesModificationsOutput) String() string {
  29797. return awsutil.Prettify(s)
  29798. }
  29799. // GoString returns the string representation
  29800. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  29801. return s.String()
  29802. }
  29803. // SetNextToken sets the NextToken field's value.
  29804. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  29805. s.NextToken = &v
  29806. return s
  29807. }
  29808. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  29809. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  29810. s.ReservedInstancesModifications = v
  29811. return s
  29812. }
  29813. // Contains the parameters for DescribeReservedInstancesOfferings.
  29814. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsRequest
  29815. type DescribeReservedInstancesOfferingsInput struct {
  29816. _ struct{} `type:"structure"`
  29817. // The Availability Zone in which the Reserved Instance can be used.
  29818. AvailabilityZone *string `type:"string"`
  29819. // Checks whether you have the required permissions for the action, without
  29820. // actually making the request, and provides an error response. If you have
  29821. // the required permissions, the error response is DryRunOperation. Otherwise,
  29822. // it is UnauthorizedOperation.
  29823. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29824. // One or more filters.
  29825. //
  29826. // * availability-zone - The Availability Zone where the Reserved Instance
  29827. // can be used.
  29828. //
  29829. // * duration - The duration of the Reserved Instance (for example, one year
  29830. // or three years), in seconds (31536000 | 94608000).
  29831. //
  29832. // * fixed-price - The purchase price of the Reserved Instance (for example,
  29833. // 9800.0).
  29834. //
  29835. // * instance-type - The instance type that is covered by the reservation.
  29836. //
  29837. // * marketplace - Set to true to show only Reserved Instance Marketplace
  29838. // offerings. When this filter is not used, which is the default behavior,
  29839. // all offerings from both AWS and the Reserved Instance Marketplace are
  29840. // listed.
  29841. //
  29842. // * product-description - The Reserved Instance product platform description.
  29843. // Instances that include (Amazon VPC) in the product platform description
  29844. // will only be displayed to EC2-Classic account holders and are for use
  29845. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  29846. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  29847. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  29848. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  29849. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  29850. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  29851. // VPC))
  29852. //
  29853. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  29854. //
  29855. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  29856. //
  29857. // * usage-price - The usage price of the Reserved Instance, per hour (for
  29858. // example, 0.84).
  29859. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29860. // Include Reserved Instance Marketplace offerings in the response.
  29861. IncludeMarketplace *bool `type:"boolean"`
  29862. // The tenancy of the instances covered by the reservation. A Reserved Instance
  29863. // with a tenancy of dedicated is applied to instances that run in a VPC on
  29864. // single-tenant hardware (i.e., Dedicated Instances).
  29865. //
  29866. // Important: The host value cannot be used with this parameter. Use the default
  29867. // or dedicated values only.
  29868. //
  29869. // Default: default
  29870. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  29871. // The instance type that the reservation will cover (for example, m1.small).
  29872. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  29873. // in the Amazon Elastic Compute Cloud User Guide.
  29874. InstanceType *string `type:"string" enum:"InstanceType"`
  29875. // The maximum duration (in seconds) to filter when searching for offerings.
  29876. //
  29877. // Default: 94608000 (3 years)
  29878. MaxDuration *int64 `type:"long"`
  29879. // The maximum number of instances to filter when searching for offerings.
  29880. //
  29881. // Default: 20
  29882. MaxInstanceCount *int64 `type:"integer"`
  29883. // The maximum number of results to return for the request in a single page.
  29884. // The remaining results of the initial request can be seen by sending another
  29885. // request with the returned NextToken value. The maximum is 100.
  29886. //
  29887. // Default: 100
  29888. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  29889. // The minimum duration (in seconds) to filter when searching for offerings.
  29890. //
  29891. // Default: 2592000 (1 month)
  29892. MinDuration *int64 `type:"long"`
  29893. // The token to retrieve the next page of results.
  29894. NextToken *string `locationName:"nextToken" type:"string"`
  29895. // The offering class of the Reserved Instance. Can be standard or convertible.
  29896. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  29897. // The Reserved Instance offering type. If you are using tools that predate
  29898. // the 2011-11-01 API version, you only have access to the Medium Utilization
  29899. // Reserved Instance offering type.
  29900. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  29901. // The Reserved Instance product platform description. Instances that include
  29902. // (Amazon VPC) in the description are for use with Amazon VPC.
  29903. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  29904. // One or more Reserved Instances offering IDs.
  29905. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  29906. }
  29907. // String returns the string representation
  29908. func (s DescribeReservedInstancesOfferingsInput) String() string {
  29909. return awsutil.Prettify(s)
  29910. }
  29911. // GoString returns the string representation
  29912. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  29913. return s.String()
  29914. }
  29915. // SetAvailabilityZone sets the AvailabilityZone field's value.
  29916. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  29917. s.AvailabilityZone = &v
  29918. return s
  29919. }
  29920. // SetDryRun sets the DryRun field's value.
  29921. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  29922. s.DryRun = &v
  29923. return s
  29924. }
  29925. // SetFilters sets the Filters field's value.
  29926. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  29927. s.Filters = v
  29928. return s
  29929. }
  29930. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  29931. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  29932. s.IncludeMarketplace = &v
  29933. return s
  29934. }
  29935. // SetInstanceTenancy sets the InstanceTenancy field's value.
  29936. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  29937. s.InstanceTenancy = &v
  29938. return s
  29939. }
  29940. // SetInstanceType sets the InstanceType field's value.
  29941. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  29942. s.InstanceType = &v
  29943. return s
  29944. }
  29945. // SetMaxDuration sets the MaxDuration field's value.
  29946. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  29947. s.MaxDuration = &v
  29948. return s
  29949. }
  29950. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  29951. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  29952. s.MaxInstanceCount = &v
  29953. return s
  29954. }
  29955. // SetMaxResults sets the MaxResults field's value.
  29956. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  29957. s.MaxResults = &v
  29958. return s
  29959. }
  29960. // SetMinDuration sets the MinDuration field's value.
  29961. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  29962. s.MinDuration = &v
  29963. return s
  29964. }
  29965. // SetNextToken sets the NextToken field's value.
  29966. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  29967. s.NextToken = &v
  29968. return s
  29969. }
  29970. // SetOfferingClass sets the OfferingClass field's value.
  29971. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  29972. s.OfferingClass = &v
  29973. return s
  29974. }
  29975. // SetOfferingType sets the OfferingType field's value.
  29976. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  29977. s.OfferingType = &v
  29978. return s
  29979. }
  29980. // SetProductDescription sets the ProductDescription field's value.
  29981. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  29982. s.ProductDescription = &v
  29983. return s
  29984. }
  29985. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  29986. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  29987. s.ReservedInstancesOfferingIds = v
  29988. return s
  29989. }
  29990. // Contains the output of DescribeReservedInstancesOfferings.
  29991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsResult
  29992. type DescribeReservedInstancesOfferingsOutput struct {
  29993. _ struct{} `type:"structure"`
  29994. // The token to use to retrieve the next page of results. This value is null
  29995. // when there are no more results to return.
  29996. NextToken *string `locationName:"nextToken" type:"string"`
  29997. // A list of Reserved Instances offerings.
  29998. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  29999. }
  30000. // String returns the string representation
  30001. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  30002. return awsutil.Prettify(s)
  30003. }
  30004. // GoString returns the string representation
  30005. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  30006. return s.String()
  30007. }
  30008. // SetNextToken sets the NextToken field's value.
  30009. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  30010. s.NextToken = &v
  30011. return s
  30012. }
  30013. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  30014. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  30015. s.ReservedInstancesOfferings = v
  30016. return s
  30017. }
  30018. // Contains the output for DescribeReservedInstances.
  30019. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesResult
  30020. type DescribeReservedInstancesOutput struct {
  30021. _ struct{} `type:"structure"`
  30022. // A list of Reserved Instances.
  30023. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  30024. }
  30025. // String returns the string representation
  30026. func (s DescribeReservedInstancesOutput) String() string {
  30027. return awsutil.Prettify(s)
  30028. }
  30029. // GoString returns the string representation
  30030. func (s DescribeReservedInstancesOutput) GoString() string {
  30031. return s.String()
  30032. }
  30033. // SetReservedInstances sets the ReservedInstances field's value.
  30034. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  30035. s.ReservedInstances = v
  30036. return s
  30037. }
  30038. // Contains the parameters for DescribeRouteTables.
  30039. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesRequest
  30040. type DescribeRouteTablesInput struct {
  30041. _ struct{} `type:"structure"`
  30042. // Checks whether you have the required permissions for the action, without
  30043. // actually making the request, and provides an error response. If you have
  30044. // the required permissions, the error response is DryRunOperation. Otherwise,
  30045. // it is UnauthorizedOperation.
  30046. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30047. // One or more filters.
  30048. //
  30049. // * association.route-table-association-id - The ID of an association ID
  30050. // for the route table.
  30051. //
  30052. // * association.route-table-id - The ID of the route table involved in the
  30053. // association.
  30054. //
  30055. // * association.subnet-id - The ID of the subnet involved in the association.
  30056. //
  30057. // * association.main - Indicates whether the route table is the main route
  30058. // table for the VPC (true | false). Route tables that do not have an association
  30059. // ID are not returned in the response.
  30060. //
  30061. // * route-table-id - The ID of the route table.
  30062. //
  30063. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  30064. // in the table.
  30065. //
  30066. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  30067. // a route in the route table.
  30068. //
  30069. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  30070. // specified in a route in the table.
  30071. //
  30072. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  30073. // gateway specified in a route in the route table.
  30074. //
  30075. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  30076. //
  30077. // * route.instance-id - The ID of an instance specified in a route in the
  30078. // table.
  30079. //
  30080. // * route.nat-gateway-id - The ID of a NAT gateway.
  30081. //
  30082. // * route.origin - Describes how the route was created. CreateRouteTable
  30083. // indicates that the route was automatically created when the route table
  30084. // was created; CreateRoute indicates that the route was manually added to
  30085. // the route table; EnableVgwRoutePropagation indicates that the route was
  30086. // propagated by route propagation.
  30087. //
  30088. // * route.state - The state of a route in the route table (active | blackhole).
  30089. // The blackhole state indicates that the route's target isn't available
  30090. // (for example, the specified gateway isn't attached to the VPC, the specified
  30091. // NAT instance has been terminated, and so on).
  30092. //
  30093. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  30094. // specified in a route in the table.
  30095. //
  30096. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30097. // Specify the key of the tag in the filter name and the value of the tag
  30098. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30099. // for the filter name and X for the filter value.
  30100. //
  30101. // * tag-key - The key of a tag assigned to the resource. This filter is
  30102. // independent of the tag-value filter. For example, if you use both the
  30103. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30104. // assigned both the tag key Purpose (regardless of what the tag's value
  30105. // is), and the tag value X (regardless of what the tag's key is). If you
  30106. // want to list only resources where Purpose is X, see the tag:key=value
  30107. // filter.
  30108. //
  30109. // * tag-value - The value of a tag assigned to the resource. This filter
  30110. // is independent of the tag-key filter.
  30111. //
  30112. // * vpc-id - The ID of the VPC for the route table.
  30113. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30114. // One or more route table IDs.
  30115. //
  30116. // Default: Describes all your route tables.
  30117. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  30118. }
  30119. // String returns the string representation
  30120. func (s DescribeRouteTablesInput) String() string {
  30121. return awsutil.Prettify(s)
  30122. }
  30123. // GoString returns the string representation
  30124. func (s DescribeRouteTablesInput) GoString() string {
  30125. return s.String()
  30126. }
  30127. // SetDryRun sets the DryRun field's value.
  30128. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  30129. s.DryRun = &v
  30130. return s
  30131. }
  30132. // SetFilters sets the Filters field's value.
  30133. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  30134. s.Filters = v
  30135. return s
  30136. }
  30137. // SetRouteTableIds sets the RouteTableIds field's value.
  30138. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  30139. s.RouteTableIds = v
  30140. return s
  30141. }
  30142. // Contains the output of DescribeRouteTables.
  30143. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesResult
  30144. type DescribeRouteTablesOutput struct {
  30145. _ struct{} `type:"structure"`
  30146. // Information about one or more route tables.
  30147. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  30148. }
  30149. // String returns the string representation
  30150. func (s DescribeRouteTablesOutput) String() string {
  30151. return awsutil.Prettify(s)
  30152. }
  30153. // GoString returns the string representation
  30154. func (s DescribeRouteTablesOutput) GoString() string {
  30155. return s.String()
  30156. }
  30157. // SetRouteTables sets the RouteTables field's value.
  30158. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  30159. s.RouteTables = v
  30160. return s
  30161. }
  30162. // Contains the parameters for DescribeScheduledInstanceAvailability.
  30163. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityRequest
  30164. type DescribeScheduledInstanceAvailabilityInput struct {
  30165. _ struct{} `type:"structure"`
  30166. // Checks whether you have the required permissions for the action, without
  30167. // actually making the request, and provides an error response. If you have
  30168. // the required permissions, the error response is DryRunOperation. Otherwise,
  30169. // it is UnauthorizedOperation.
  30170. DryRun *bool `type:"boolean"`
  30171. // One or more filters.
  30172. //
  30173. // * availability-zone - The Availability Zone (for example, us-west-2a).
  30174. //
  30175. // * instance-type - The instance type (for example, c4.large).
  30176. //
  30177. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  30178. //
  30179. // * platform - The platform (Linux/UNIX or Windows).
  30180. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30181. // The time period for the first schedule to start.
  30182. //
  30183. // FirstSlotStartTimeRange is a required field
  30184. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  30185. // The maximum number of results to return in a single call. This value can
  30186. // be between 5 and 300. The default value is 300. To retrieve the remaining
  30187. // results, make another call with the returned NextToken value.
  30188. MaxResults *int64 `type:"integer"`
  30189. // The maximum available duration, in hours. This value must be greater than
  30190. // MinSlotDurationInHours and less than 1,720.
  30191. MaxSlotDurationInHours *int64 `type:"integer"`
  30192. // The minimum available duration, in hours. The minimum required duration is
  30193. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  30194. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  30195. // is 100 hours.
  30196. MinSlotDurationInHours *int64 `type:"integer"`
  30197. // The token for the next set of results.
  30198. NextToken *string `type:"string"`
  30199. // The schedule recurrence.
  30200. //
  30201. // Recurrence is a required field
  30202. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  30203. }
  30204. // String returns the string representation
  30205. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  30206. return awsutil.Prettify(s)
  30207. }
  30208. // GoString returns the string representation
  30209. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  30210. return s.String()
  30211. }
  30212. // Validate inspects the fields of the type to determine if they are valid.
  30213. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  30214. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  30215. if s.FirstSlotStartTimeRange == nil {
  30216. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  30217. }
  30218. if s.Recurrence == nil {
  30219. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  30220. }
  30221. if s.FirstSlotStartTimeRange != nil {
  30222. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  30223. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  30224. }
  30225. }
  30226. if invalidParams.Len() > 0 {
  30227. return invalidParams
  30228. }
  30229. return nil
  30230. }
  30231. // SetDryRun sets the DryRun field's value.
  30232. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  30233. s.DryRun = &v
  30234. return s
  30235. }
  30236. // SetFilters sets the Filters field's value.
  30237. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  30238. s.Filters = v
  30239. return s
  30240. }
  30241. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  30242. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  30243. s.FirstSlotStartTimeRange = v
  30244. return s
  30245. }
  30246. // SetMaxResults sets the MaxResults field's value.
  30247. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  30248. s.MaxResults = &v
  30249. return s
  30250. }
  30251. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  30252. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  30253. s.MaxSlotDurationInHours = &v
  30254. return s
  30255. }
  30256. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  30257. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  30258. s.MinSlotDurationInHours = &v
  30259. return s
  30260. }
  30261. // SetNextToken sets the NextToken field's value.
  30262. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  30263. s.NextToken = &v
  30264. return s
  30265. }
  30266. // SetRecurrence sets the Recurrence field's value.
  30267. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  30268. s.Recurrence = v
  30269. return s
  30270. }
  30271. // Contains the output of DescribeScheduledInstanceAvailability.
  30272. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityResult
  30273. type DescribeScheduledInstanceAvailabilityOutput struct {
  30274. _ struct{} `type:"structure"`
  30275. // The token required to retrieve the next set of results. This value is null
  30276. // when there are no more results to return.
  30277. NextToken *string `locationName:"nextToken" type:"string"`
  30278. // Information about the available Scheduled Instances.
  30279. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  30280. }
  30281. // String returns the string representation
  30282. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  30283. return awsutil.Prettify(s)
  30284. }
  30285. // GoString returns the string representation
  30286. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  30287. return s.String()
  30288. }
  30289. // SetNextToken sets the NextToken field's value.
  30290. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  30291. s.NextToken = &v
  30292. return s
  30293. }
  30294. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  30295. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  30296. s.ScheduledInstanceAvailabilitySet = v
  30297. return s
  30298. }
  30299. // Contains the parameters for DescribeScheduledInstances.
  30300. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesRequest
  30301. type DescribeScheduledInstancesInput struct {
  30302. _ struct{} `type:"structure"`
  30303. // Checks whether you have the required permissions for the action, without
  30304. // actually making the request, and provides an error response. If you have
  30305. // the required permissions, the error response is DryRunOperation. Otherwise,
  30306. // it is UnauthorizedOperation.
  30307. DryRun *bool `type:"boolean"`
  30308. // One or more filters.
  30309. //
  30310. // * availability-zone - The Availability Zone (for example, us-west-2a).
  30311. //
  30312. // * instance-type - The instance type (for example, c4.large).
  30313. //
  30314. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  30315. //
  30316. // * platform - The platform (Linux/UNIX or Windows).
  30317. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30318. // The maximum number of results to return in a single call. This value can
  30319. // be between 5 and 300. The default value is 100. To retrieve the remaining
  30320. // results, make another call with the returned NextToken value.
  30321. MaxResults *int64 `type:"integer"`
  30322. // The token for the next set of results.
  30323. NextToken *string `type:"string"`
  30324. // One or more Scheduled Instance IDs.
  30325. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  30326. // The time period for the first schedule to start.
  30327. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  30328. }
  30329. // String returns the string representation
  30330. func (s DescribeScheduledInstancesInput) String() string {
  30331. return awsutil.Prettify(s)
  30332. }
  30333. // GoString returns the string representation
  30334. func (s DescribeScheduledInstancesInput) GoString() string {
  30335. return s.String()
  30336. }
  30337. // SetDryRun sets the DryRun field's value.
  30338. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  30339. s.DryRun = &v
  30340. return s
  30341. }
  30342. // SetFilters sets the Filters field's value.
  30343. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  30344. s.Filters = v
  30345. return s
  30346. }
  30347. // SetMaxResults sets the MaxResults field's value.
  30348. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  30349. s.MaxResults = &v
  30350. return s
  30351. }
  30352. // SetNextToken sets the NextToken field's value.
  30353. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  30354. s.NextToken = &v
  30355. return s
  30356. }
  30357. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  30358. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  30359. s.ScheduledInstanceIds = v
  30360. return s
  30361. }
  30362. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  30363. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  30364. s.SlotStartTimeRange = v
  30365. return s
  30366. }
  30367. // Contains the output of DescribeScheduledInstances.
  30368. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesResult
  30369. type DescribeScheduledInstancesOutput struct {
  30370. _ struct{} `type:"structure"`
  30371. // The token required to retrieve the next set of results. This value is null
  30372. // when there are no more results to return.
  30373. NextToken *string `locationName:"nextToken" type:"string"`
  30374. // Information about the Scheduled Instances.
  30375. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  30376. }
  30377. // String returns the string representation
  30378. func (s DescribeScheduledInstancesOutput) String() string {
  30379. return awsutil.Prettify(s)
  30380. }
  30381. // GoString returns the string representation
  30382. func (s DescribeScheduledInstancesOutput) GoString() string {
  30383. return s.String()
  30384. }
  30385. // SetNextToken sets the NextToken field's value.
  30386. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  30387. s.NextToken = &v
  30388. return s
  30389. }
  30390. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  30391. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  30392. s.ScheduledInstanceSet = v
  30393. return s
  30394. }
  30395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesRequest
  30396. type DescribeSecurityGroupReferencesInput struct {
  30397. _ struct{} `type:"structure"`
  30398. // Checks whether you have the required permissions for the operation, without
  30399. // actually making the request, and provides an error response. If you have
  30400. // the required permissions, the error response is DryRunOperation. Otherwise,
  30401. // it is UnauthorizedOperation.
  30402. DryRun *bool `type:"boolean"`
  30403. // One or more security group IDs in your account.
  30404. //
  30405. // GroupId is a required field
  30406. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  30407. }
  30408. // String returns the string representation
  30409. func (s DescribeSecurityGroupReferencesInput) String() string {
  30410. return awsutil.Prettify(s)
  30411. }
  30412. // GoString returns the string representation
  30413. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  30414. return s.String()
  30415. }
  30416. // Validate inspects the fields of the type to determine if they are valid.
  30417. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  30418. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  30419. if s.GroupId == nil {
  30420. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  30421. }
  30422. if invalidParams.Len() > 0 {
  30423. return invalidParams
  30424. }
  30425. return nil
  30426. }
  30427. // SetDryRun sets the DryRun field's value.
  30428. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  30429. s.DryRun = &v
  30430. return s
  30431. }
  30432. // SetGroupId sets the GroupId field's value.
  30433. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  30434. s.GroupId = v
  30435. return s
  30436. }
  30437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesResult
  30438. type DescribeSecurityGroupReferencesOutput struct {
  30439. _ struct{} `type:"structure"`
  30440. // Information about the VPCs with the referencing security groups.
  30441. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  30442. }
  30443. // String returns the string representation
  30444. func (s DescribeSecurityGroupReferencesOutput) String() string {
  30445. return awsutil.Prettify(s)
  30446. }
  30447. // GoString returns the string representation
  30448. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  30449. return s.String()
  30450. }
  30451. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  30452. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  30453. s.SecurityGroupReferenceSet = v
  30454. return s
  30455. }
  30456. // Contains the parameters for DescribeSecurityGroups.
  30457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsRequest
  30458. type DescribeSecurityGroupsInput struct {
  30459. _ struct{} `type:"structure"`
  30460. // Checks whether you have the required permissions for the action, without
  30461. // actually making the request, and provides an error response. If you have
  30462. // the required permissions, the error response is DryRunOperation. Otherwise,
  30463. // it is UnauthorizedOperation.
  30464. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30465. // One or more filters. If using multiple filters for rules, the results include
  30466. // security groups for which any combination of rules - not necessarily a single
  30467. // rule - match all filters.
  30468. //
  30469. // * description - The description of the security group.
  30470. //
  30471. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  30472. // to which the security group allows access.
  30473. //
  30474. // * group-id - The ID of the security group.
  30475. //
  30476. // * group-name - The name of the security group.
  30477. //
  30478. // * ip-permission.cidr - An IPv4 CIDR range that has been granted permission
  30479. // in a security group rule.
  30480. //
  30481. // * ip-permission.from-port - The start of port range for the TCP and UDP
  30482. // protocols, or an ICMP type number.
  30483. //
  30484. // * ip-permission.group-id - The ID of a security group that has been granted
  30485. // permission.
  30486. //
  30487. // * ip-permission.group-name - The name of a security group that has been
  30488. // granted permission.
  30489. //
  30490. // * ip-permission.ipv6-cidr - An IPv6 CIDR range that has been granted permission
  30491. // in a security group rule.
  30492. //
  30493. // * ip-permission.protocol - The IP protocol for the permission (tcp | udp
  30494. // | icmp or a protocol number).
  30495. //
  30496. // * ip-permission.to-port - The end of port range for the TCP and UDP protocols,
  30497. // or an ICMP code.
  30498. //
  30499. // * ip-permission.user-id - The ID of an AWS account that has been granted
  30500. // permission.
  30501. //
  30502. // * owner-id - The AWS account ID of the owner of the security group.
  30503. //
  30504. // * tag-key - The key of a tag assigned to the security group.
  30505. //
  30506. // * tag-value - The value of a tag assigned to the security group.
  30507. //
  30508. // * vpc-id - The ID of the VPC specified when the security group was created.
  30509. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30510. // One or more security group IDs. Required for security groups in a nondefault
  30511. // VPC.
  30512. //
  30513. // Default: Describes all your security groups.
  30514. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  30515. // [EC2-Classic and default VPC only] One or more security group names. You
  30516. // can specify either the security group name or the security group ID. For
  30517. // security groups in a nondefault VPC, use the group-name filter to describe
  30518. // security groups by name.
  30519. //
  30520. // Default: Describes all your security groups.
  30521. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  30522. }
  30523. // String returns the string representation
  30524. func (s DescribeSecurityGroupsInput) String() string {
  30525. return awsutil.Prettify(s)
  30526. }
  30527. // GoString returns the string representation
  30528. func (s DescribeSecurityGroupsInput) GoString() string {
  30529. return s.String()
  30530. }
  30531. // SetDryRun sets the DryRun field's value.
  30532. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  30533. s.DryRun = &v
  30534. return s
  30535. }
  30536. // SetFilters sets the Filters field's value.
  30537. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  30538. s.Filters = v
  30539. return s
  30540. }
  30541. // SetGroupIds sets the GroupIds field's value.
  30542. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  30543. s.GroupIds = v
  30544. return s
  30545. }
  30546. // SetGroupNames sets the GroupNames field's value.
  30547. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  30548. s.GroupNames = v
  30549. return s
  30550. }
  30551. // Contains the output of DescribeSecurityGroups.
  30552. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsResult
  30553. type DescribeSecurityGroupsOutput struct {
  30554. _ struct{} `type:"structure"`
  30555. // Information about one or more security groups.
  30556. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  30557. }
  30558. // String returns the string representation
  30559. func (s DescribeSecurityGroupsOutput) String() string {
  30560. return awsutil.Prettify(s)
  30561. }
  30562. // GoString returns the string representation
  30563. func (s DescribeSecurityGroupsOutput) GoString() string {
  30564. return s.String()
  30565. }
  30566. // SetSecurityGroups sets the SecurityGroups field's value.
  30567. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  30568. s.SecurityGroups = v
  30569. return s
  30570. }
  30571. // Contains the parameters for DescribeSnapshotAttribute.
  30572. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeRequest
  30573. type DescribeSnapshotAttributeInput struct {
  30574. _ struct{} `type:"structure"`
  30575. // The snapshot attribute you would like to view.
  30576. //
  30577. // Attribute is a required field
  30578. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  30579. // Checks whether you have the required permissions for the action, without
  30580. // actually making the request, and provides an error response. If you have
  30581. // the required permissions, the error response is DryRunOperation. Otherwise,
  30582. // it is UnauthorizedOperation.
  30583. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30584. // The ID of the EBS snapshot.
  30585. //
  30586. // SnapshotId is a required field
  30587. SnapshotId *string `type:"string" required:"true"`
  30588. }
  30589. // String returns the string representation
  30590. func (s DescribeSnapshotAttributeInput) String() string {
  30591. return awsutil.Prettify(s)
  30592. }
  30593. // GoString returns the string representation
  30594. func (s DescribeSnapshotAttributeInput) GoString() string {
  30595. return s.String()
  30596. }
  30597. // Validate inspects the fields of the type to determine if they are valid.
  30598. func (s *DescribeSnapshotAttributeInput) Validate() error {
  30599. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  30600. if s.Attribute == nil {
  30601. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  30602. }
  30603. if s.SnapshotId == nil {
  30604. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  30605. }
  30606. if invalidParams.Len() > 0 {
  30607. return invalidParams
  30608. }
  30609. return nil
  30610. }
  30611. // SetAttribute sets the Attribute field's value.
  30612. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  30613. s.Attribute = &v
  30614. return s
  30615. }
  30616. // SetDryRun sets the DryRun field's value.
  30617. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  30618. s.DryRun = &v
  30619. return s
  30620. }
  30621. // SetSnapshotId sets the SnapshotId field's value.
  30622. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  30623. s.SnapshotId = &v
  30624. return s
  30625. }
  30626. // Contains the output of DescribeSnapshotAttribute.
  30627. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeResult
  30628. type DescribeSnapshotAttributeOutput struct {
  30629. _ struct{} `type:"structure"`
  30630. // A list of permissions for creating volumes from the snapshot.
  30631. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  30632. // A list of product codes.
  30633. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  30634. // The ID of the EBS snapshot.
  30635. SnapshotId *string `locationName:"snapshotId" type:"string"`
  30636. }
  30637. // String returns the string representation
  30638. func (s DescribeSnapshotAttributeOutput) String() string {
  30639. return awsutil.Prettify(s)
  30640. }
  30641. // GoString returns the string representation
  30642. func (s DescribeSnapshotAttributeOutput) GoString() string {
  30643. return s.String()
  30644. }
  30645. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  30646. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  30647. s.CreateVolumePermissions = v
  30648. return s
  30649. }
  30650. // SetProductCodes sets the ProductCodes field's value.
  30651. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  30652. s.ProductCodes = v
  30653. return s
  30654. }
  30655. // SetSnapshotId sets the SnapshotId field's value.
  30656. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  30657. s.SnapshotId = &v
  30658. return s
  30659. }
  30660. // Contains the parameters for DescribeSnapshots.
  30661. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsRequest
  30662. type DescribeSnapshotsInput struct {
  30663. _ struct{} `type:"structure"`
  30664. // Checks whether you have the required permissions for the action, without
  30665. // actually making the request, and provides an error response. If you have
  30666. // the required permissions, the error response is DryRunOperation. Otherwise,
  30667. // it is UnauthorizedOperation.
  30668. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30669. // One or more filters.
  30670. //
  30671. // * description - A description of the snapshot.
  30672. //
  30673. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  30674. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  30675. // AWS account alias, which is set from the IAM console.
  30676. //
  30677. // * owner-id - The ID of the AWS account that owns the snapshot.
  30678. //
  30679. // * progress - The progress of the snapshot, as a percentage (for example,
  30680. // 80%).
  30681. //
  30682. // * snapshot-id - The snapshot ID.
  30683. //
  30684. // * start-time - The time stamp when the snapshot was initiated.
  30685. //
  30686. // * status - The status of the snapshot (pending | completed | error).
  30687. //
  30688. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30689. // Specify the key of the tag in the filter name and the value of the tag
  30690. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30691. // for the filter name and X for the filter value.
  30692. //
  30693. // * tag-key - The key of a tag assigned to the resource. This filter is
  30694. // independent of the tag-value filter. For example, if you use both the
  30695. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30696. // assigned both the tag key Purpose (regardless of what the tag's value
  30697. // is), and the tag value X (regardless of what the tag's key is). If you
  30698. // want to list only resources where Purpose is X, see the tag:key=value
  30699. // filter.
  30700. //
  30701. // * tag-value - The value of a tag assigned to the resource. This filter
  30702. // is independent of the tag-key filter.
  30703. //
  30704. // * volume-id - The ID of the volume the snapshot is for.
  30705. //
  30706. // * volume-size - The size of the volume, in GiB.
  30707. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30708. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  30709. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  30710. // results in a single page along with a NextToken response element. The remaining
  30711. // results of the initial request can be seen by sending another DescribeSnapshots
  30712. // request with the returned NextToken value. This value can be between 5 and
  30713. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  30714. // are returned. If this parameter is not used, then DescribeSnapshots returns
  30715. // all results. You cannot specify this parameter and the snapshot IDs parameter
  30716. // in the same request.
  30717. MaxResults *int64 `type:"integer"`
  30718. // The NextToken value returned from a previous paginated DescribeSnapshots
  30719. // request where MaxResults was used and the results exceeded the value of that
  30720. // parameter. Pagination continues from the end of the previous results that
  30721. // returned the NextToken value. This value is null when there are no more results
  30722. // to return.
  30723. NextToken *string `type:"string"`
  30724. // Returns the snapshots owned by the specified owner. Multiple owners can be
  30725. // specified.
  30726. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  30727. // One or more AWS accounts IDs that can create volumes from the snapshot.
  30728. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  30729. // One or more snapshot IDs.
  30730. //
  30731. // Default: Describes snapshots for which you have launch permissions.
  30732. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  30733. }
  30734. // String returns the string representation
  30735. func (s DescribeSnapshotsInput) String() string {
  30736. return awsutil.Prettify(s)
  30737. }
  30738. // GoString returns the string representation
  30739. func (s DescribeSnapshotsInput) GoString() string {
  30740. return s.String()
  30741. }
  30742. // SetDryRun sets the DryRun field's value.
  30743. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  30744. s.DryRun = &v
  30745. return s
  30746. }
  30747. // SetFilters sets the Filters field's value.
  30748. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  30749. s.Filters = v
  30750. return s
  30751. }
  30752. // SetMaxResults sets the MaxResults field's value.
  30753. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  30754. s.MaxResults = &v
  30755. return s
  30756. }
  30757. // SetNextToken sets the NextToken field's value.
  30758. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  30759. s.NextToken = &v
  30760. return s
  30761. }
  30762. // SetOwnerIds sets the OwnerIds field's value.
  30763. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  30764. s.OwnerIds = v
  30765. return s
  30766. }
  30767. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  30768. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  30769. s.RestorableByUserIds = v
  30770. return s
  30771. }
  30772. // SetSnapshotIds sets the SnapshotIds field's value.
  30773. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  30774. s.SnapshotIds = v
  30775. return s
  30776. }
  30777. // Contains the output of DescribeSnapshots.
  30778. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsResult
  30779. type DescribeSnapshotsOutput struct {
  30780. _ struct{} `type:"structure"`
  30781. // The NextToken value to include in a future DescribeSnapshots request. When
  30782. // the results of a DescribeSnapshots request exceed MaxResults, this value
  30783. // can be used to retrieve the next page of results. This value is null when
  30784. // there are no more results to return.
  30785. NextToken *string `locationName:"nextToken" type:"string"`
  30786. // Information about the snapshots.
  30787. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  30788. }
  30789. // String returns the string representation
  30790. func (s DescribeSnapshotsOutput) String() string {
  30791. return awsutil.Prettify(s)
  30792. }
  30793. // GoString returns the string representation
  30794. func (s DescribeSnapshotsOutput) GoString() string {
  30795. return s.String()
  30796. }
  30797. // SetNextToken sets the NextToken field's value.
  30798. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  30799. s.NextToken = &v
  30800. return s
  30801. }
  30802. // SetSnapshots sets the Snapshots field's value.
  30803. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  30804. s.Snapshots = v
  30805. return s
  30806. }
  30807. // Contains the parameters for DescribeSpotDatafeedSubscription.
  30808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionRequest
  30809. type DescribeSpotDatafeedSubscriptionInput struct {
  30810. _ struct{} `type:"structure"`
  30811. // Checks whether you have the required permissions for the action, without
  30812. // actually making the request, and provides an error response. If you have
  30813. // the required permissions, the error response is DryRunOperation. Otherwise,
  30814. // it is UnauthorizedOperation.
  30815. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30816. }
  30817. // String returns the string representation
  30818. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  30819. return awsutil.Prettify(s)
  30820. }
  30821. // GoString returns the string representation
  30822. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  30823. return s.String()
  30824. }
  30825. // SetDryRun sets the DryRun field's value.
  30826. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  30827. s.DryRun = &v
  30828. return s
  30829. }
  30830. // Contains the output of DescribeSpotDatafeedSubscription.
  30831. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionResult
  30832. type DescribeSpotDatafeedSubscriptionOutput struct {
  30833. _ struct{} `type:"structure"`
  30834. // The Spot instance data feed subscription.
  30835. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  30836. }
  30837. // String returns the string representation
  30838. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  30839. return awsutil.Prettify(s)
  30840. }
  30841. // GoString returns the string representation
  30842. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  30843. return s.String()
  30844. }
  30845. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  30846. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  30847. s.SpotDatafeedSubscription = v
  30848. return s
  30849. }
  30850. // Contains the parameters for DescribeSpotFleetInstances.
  30851. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesRequest
  30852. type DescribeSpotFleetInstancesInput struct {
  30853. _ struct{} `type:"structure"`
  30854. // Checks whether you have the required permissions for the action, without
  30855. // actually making the request, and provides an error response. If you have
  30856. // the required permissions, the error response is DryRunOperation. Otherwise,
  30857. // it is UnauthorizedOperation.
  30858. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30859. // The maximum number of results to return in a single call. Specify a value
  30860. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  30861. // results, make another call with the returned NextToken value.
  30862. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30863. // The token for the next set of results.
  30864. NextToken *string `locationName:"nextToken" type:"string"`
  30865. // The ID of the Spot fleet request.
  30866. //
  30867. // SpotFleetRequestId is a required field
  30868. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  30869. }
  30870. // String returns the string representation
  30871. func (s DescribeSpotFleetInstancesInput) String() string {
  30872. return awsutil.Prettify(s)
  30873. }
  30874. // GoString returns the string representation
  30875. func (s DescribeSpotFleetInstancesInput) GoString() string {
  30876. return s.String()
  30877. }
  30878. // Validate inspects the fields of the type to determine if they are valid.
  30879. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  30880. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  30881. if s.SpotFleetRequestId == nil {
  30882. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  30883. }
  30884. if invalidParams.Len() > 0 {
  30885. return invalidParams
  30886. }
  30887. return nil
  30888. }
  30889. // SetDryRun sets the DryRun field's value.
  30890. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  30891. s.DryRun = &v
  30892. return s
  30893. }
  30894. // SetMaxResults sets the MaxResults field's value.
  30895. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  30896. s.MaxResults = &v
  30897. return s
  30898. }
  30899. // SetNextToken sets the NextToken field's value.
  30900. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  30901. s.NextToken = &v
  30902. return s
  30903. }
  30904. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  30905. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  30906. s.SpotFleetRequestId = &v
  30907. return s
  30908. }
  30909. // Contains the output of DescribeSpotFleetInstances.
  30910. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesResponse
  30911. type DescribeSpotFleetInstancesOutput struct {
  30912. _ struct{} `type:"structure"`
  30913. // The running instances. Note that this list is refreshed periodically and
  30914. // might be out of date.
  30915. //
  30916. // ActiveInstances is a required field
  30917. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  30918. // The token required to retrieve the next set of results. This value is null
  30919. // when there are no more results to return.
  30920. NextToken *string `locationName:"nextToken" type:"string"`
  30921. // The ID of the Spot fleet request.
  30922. //
  30923. // SpotFleetRequestId is a required field
  30924. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  30925. }
  30926. // String returns the string representation
  30927. func (s DescribeSpotFleetInstancesOutput) String() string {
  30928. return awsutil.Prettify(s)
  30929. }
  30930. // GoString returns the string representation
  30931. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  30932. return s.String()
  30933. }
  30934. // SetActiveInstances sets the ActiveInstances field's value.
  30935. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  30936. s.ActiveInstances = v
  30937. return s
  30938. }
  30939. // SetNextToken sets the NextToken field's value.
  30940. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  30941. s.NextToken = &v
  30942. return s
  30943. }
  30944. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  30945. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  30946. s.SpotFleetRequestId = &v
  30947. return s
  30948. }
  30949. // Contains the parameters for DescribeSpotFleetRequestHistory.
  30950. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryRequest
  30951. type DescribeSpotFleetRequestHistoryInput struct {
  30952. _ struct{} `type:"structure"`
  30953. // Checks whether you have the required permissions for the action, without
  30954. // actually making the request, and provides an error response. If you have
  30955. // the required permissions, the error response is DryRunOperation. Otherwise,
  30956. // it is UnauthorizedOperation.
  30957. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30958. // The type of events to describe. By default, all events are described.
  30959. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  30960. // The maximum number of results to return in a single call. Specify a value
  30961. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  30962. // results, make another call with the returned NextToken value.
  30963. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30964. // The token for the next set of results.
  30965. NextToken *string `locationName:"nextToken" type:"string"`
  30966. // The ID of the Spot fleet request.
  30967. //
  30968. // SpotFleetRequestId is a required field
  30969. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  30970. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30971. //
  30972. // StartTime is a required field
  30973. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  30974. }
  30975. // String returns the string representation
  30976. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  30977. return awsutil.Prettify(s)
  30978. }
  30979. // GoString returns the string representation
  30980. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  30981. return s.String()
  30982. }
  30983. // Validate inspects the fields of the type to determine if they are valid.
  30984. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  30985. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  30986. if s.SpotFleetRequestId == nil {
  30987. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  30988. }
  30989. if s.StartTime == nil {
  30990. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  30991. }
  30992. if invalidParams.Len() > 0 {
  30993. return invalidParams
  30994. }
  30995. return nil
  30996. }
  30997. // SetDryRun sets the DryRun field's value.
  30998. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  30999. s.DryRun = &v
  31000. return s
  31001. }
  31002. // SetEventType sets the EventType field's value.
  31003. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  31004. s.EventType = &v
  31005. return s
  31006. }
  31007. // SetMaxResults sets the MaxResults field's value.
  31008. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  31009. s.MaxResults = &v
  31010. return s
  31011. }
  31012. // SetNextToken sets the NextToken field's value.
  31013. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  31014. s.NextToken = &v
  31015. return s
  31016. }
  31017. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  31018. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  31019. s.SpotFleetRequestId = &v
  31020. return s
  31021. }
  31022. // SetStartTime sets the StartTime field's value.
  31023. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  31024. s.StartTime = &v
  31025. return s
  31026. }
  31027. // Contains the output of DescribeSpotFleetRequestHistory.
  31028. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryResponse
  31029. type DescribeSpotFleetRequestHistoryOutput struct {
  31030. _ struct{} `type:"structure"`
  31031. // Information about the events in the history of the Spot fleet request.
  31032. //
  31033. // HistoryRecords is a required field
  31034. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  31035. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31036. // All records up to this time were retrieved.
  31037. //
  31038. // If nextToken indicates that there are more results, this value is not present.
  31039. //
  31040. // LastEvaluatedTime is a required field
  31041. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  31042. // The token required to retrieve the next set of results. This value is null
  31043. // when there are no more results to return.
  31044. NextToken *string `locationName:"nextToken" type:"string"`
  31045. // The ID of the Spot fleet request.
  31046. //
  31047. // SpotFleetRequestId is a required field
  31048. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  31049. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31050. //
  31051. // StartTime is a required field
  31052. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  31053. }
  31054. // String returns the string representation
  31055. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  31056. return awsutil.Prettify(s)
  31057. }
  31058. // GoString returns the string representation
  31059. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  31060. return s.String()
  31061. }
  31062. // SetHistoryRecords sets the HistoryRecords field's value.
  31063. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  31064. s.HistoryRecords = v
  31065. return s
  31066. }
  31067. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  31068. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  31069. s.LastEvaluatedTime = &v
  31070. return s
  31071. }
  31072. // SetNextToken sets the NextToken field's value.
  31073. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  31074. s.NextToken = &v
  31075. return s
  31076. }
  31077. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  31078. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  31079. s.SpotFleetRequestId = &v
  31080. return s
  31081. }
  31082. // SetStartTime sets the StartTime field's value.
  31083. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  31084. s.StartTime = &v
  31085. return s
  31086. }
  31087. // Contains the parameters for DescribeSpotFleetRequests.
  31088. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsRequest
  31089. type DescribeSpotFleetRequestsInput struct {
  31090. _ struct{} `type:"structure"`
  31091. // Checks whether you have the required permissions for the action, without
  31092. // actually making the request, and provides an error response. If you have
  31093. // the required permissions, the error response is DryRunOperation. Otherwise,
  31094. // it is UnauthorizedOperation.
  31095. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31096. // The maximum number of results to return in a single call. Specify a value
  31097. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  31098. // results, make another call with the returned NextToken value.
  31099. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  31100. // The token for the next set of results.
  31101. NextToken *string `locationName:"nextToken" type:"string"`
  31102. // The IDs of the Spot fleet requests.
  31103. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  31104. }
  31105. // String returns the string representation
  31106. func (s DescribeSpotFleetRequestsInput) String() string {
  31107. return awsutil.Prettify(s)
  31108. }
  31109. // GoString returns the string representation
  31110. func (s DescribeSpotFleetRequestsInput) GoString() string {
  31111. return s.String()
  31112. }
  31113. // SetDryRun sets the DryRun field's value.
  31114. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  31115. s.DryRun = &v
  31116. return s
  31117. }
  31118. // SetMaxResults sets the MaxResults field's value.
  31119. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  31120. s.MaxResults = &v
  31121. return s
  31122. }
  31123. // SetNextToken sets the NextToken field's value.
  31124. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  31125. s.NextToken = &v
  31126. return s
  31127. }
  31128. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  31129. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  31130. s.SpotFleetRequestIds = v
  31131. return s
  31132. }
  31133. // Contains the output of DescribeSpotFleetRequests.
  31134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsResponse
  31135. type DescribeSpotFleetRequestsOutput struct {
  31136. _ struct{} `type:"structure"`
  31137. // The token required to retrieve the next set of results. This value is null
  31138. // when there are no more results to return.
  31139. NextToken *string `locationName:"nextToken" type:"string"`
  31140. // Information about the configuration of your Spot fleet.
  31141. //
  31142. // SpotFleetRequestConfigs is a required field
  31143. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  31144. }
  31145. // String returns the string representation
  31146. func (s DescribeSpotFleetRequestsOutput) String() string {
  31147. return awsutil.Prettify(s)
  31148. }
  31149. // GoString returns the string representation
  31150. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  31151. return s.String()
  31152. }
  31153. // SetNextToken sets the NextToken field's value.
  31154. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  31155. s.NextToken = &v
  31156. return s
  31157. }
  31158. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  31159. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  31160. s.SpotFleetRequestConfigs = v
  31161. return s
  31162. }
  31163. // Contains the parameters for DescribeSpotInstanceRequests.
  31164. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsRequest
  31165. type DescribeSpotInstanceRequestsInput struct {
  31166. _ struct{} `type:"structure"`
  31167. // Checks whether you have the required permissions for the action, without
  31168. // actually making the request, and provides an error response. If you have
  31169. // the required permissions, the error response is DryRunOperation. Otherwise,
  31170. // it is UnauthorizedOperation.
  31171. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31172. // One or more filters.
  31173. //
  31174. // * availability-zone-group - The Availability Zone group.
  31175. //
  31176. // * create-time - The time stamp when the Spot instance request was created.
  31177. //
  31178. // * fault-code - The fault code related to the request.
  31179. //
  31180. // * fault-message - The fault message related to the request.
  31181. //
  31182. // * instance-id - The ID of the instance that fulfilled the request.
  31183. //
  31184. // * launch-group - The Spot instance launch group.
  31185. //
  31186. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  31187. // the Amazon EBS volume is deleted on instance termination.
  31188. //
  31189. // * launch.block-device-mapping.device-name - The device name for the Amazon
  31190. // EBS volume (for example, /dev/sdh).
  31191. //
  31192. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot used
  31193. // for the Amazon EBS volume.
  31194. //
  31195. // * launch.block-device-mapping.volume-size - The size of the Amazon EBS
  31196. // volume, in GiB.
  31197. //
  31198. // * launch.block-device-mapping.volume-type - The type of the Amazon EBS
  31199. // volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1
  31200. // for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  31201. //
  31202. // * launch.group-id - The security group for the instance.
  31203. //
  31204. // * launch.image-id - The ID of the AMI.
  31205. //
  31206. // * launch.instance-type - The type of instance (for example, m3.medium).
  31207. //
  31208. // * launch.kernel-id - The kernel ID.
  31209. //
  31210. // * launch.key-name - The name of the key pair the instance launched with.
  31211. //
  31212. // * launch.monitoring-enabled - Whether monitoring is enabled for the Spot
  31213. // instance.
  31214. //
  31215. // * launch.ramdisk-id - The RAM disk ID.
  31216. //
  31217. // * network-interface.network-interface-id - The ID of the network interface.
  31218. //
  31219. // * network-interface.device-index - The index of the device for the network
  31220. // interface attachment on the instance.
  31221. //
  31222. // * network-interface.subnet-id - The ID of the subnet for the instance.
  31223. //
  31224. // * network-interface.description - A description of the network interface.
  31225. //
  31226. // * network-interface.private-ip-address - The primary private IP address
  31227. // of the network interface.
  31228. //
  31229. // * network-interface.delete-on-termination - Indicates whether the network
  31230. // interface is deleted when the instance is terminated.
  31231. //
  31232. // * network-interface.group-id - The ID of the security group associated
  31233. // with the network interface.
  31234. //
  31235. // * network-interface.group-name - The name of the security group associated
  31236. // with the network interface.
  31237. //
  31238. // * network-interface.addresses.primary - Indicates whether the IP address
  31239. // is the primary private IP address.
  31240. //
  31241. // * product-description - The product description associated with the instance
  31242. // (Linux/UNIX | Windows).
  31243. //
  31244. // * spot-instance-request-id - The Spot instance request ID.
  31245. //
  31246. // * spot-price - The maximum hourly price for any Spot instance launched
  31247. // to fulfill the request.
  31248. //
  31249. // * state - The state of the Spot instance request (open | active | closed
  31250. // | cancelled | failed). Spot bid status information can help you track
  31251. // your Amazon EC2 Spot instance requests. For more information, see Spot
  31252. // Bid Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  31253. // in the Amazon Elastic Compute Cloud User Guide.
  31254. //
  31255. // * status-code - The short code describing the most recent evaluation of
  31256. // your Spot instance request.
  31257. //
  31258. // * status-message - The message explaining the status of the Spot instance
  31259. // request.
  31260. //
  31261. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31262. // Specify the key of the tag in the filter name and the value of the tag
  31263. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31264. // for the filter name and X for the filter value.
  31265. //
  31266. // * tag-key - The key of a tag assigned to the resource. This filter is
  31267. // independent of the tag-value filter. For example, if you use both the
  31268. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31269. // assigned both the tag key Purpose (regardless of what the tag's value
  31270. // is), and the tag value X (regardless of what the tag's key is). If you
  31271. // want to list only resources where Purpose is X, see the tag:key=value
  31272. // filter.
  31273. //
  31274. // * tag-value - The value of a tag assigned to the resource. This filter
  31275. // is independent of the tag-key filter.
  31276. //
  31277. // * type - The type of Spot instance request (one-time | persistent).
  31278. //
  31279. // * launched-availability-zone - The Availability Zone in which the bid
  31280. // is launched.
  31281. //
  31282. // * valid-from - The start date of the request.
  31283. //
  31284. // * valid-until - The end date of the request.
  31285. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31286. // One or more Spot instance request IDs.
  31287. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  31288. }
  31289. // String returns the string representation
  31290. func (s DescribeSpotInstanceRequestsInput) String() string {
  31291. return awsutil.Prettify(s)
  31292. }
  31293. // GoString returns the string representation
  31294. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  31295. return s.String()
  31296. }
  31297. // SetDryRun sets the DryRun field's value.
  31298. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  31299. s.DryRun = &v
  31300. return s
  31301. }
  31302. // SetFilters sets the Filters field's value.
  31303. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  31304. s.Filters = v
  31305. return s
  31306. }
  31307. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  31308. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  31309. s.SpotInstanceRequestIds = v
  31310. return s
  31311. }
  31312. // Contains the output of DescribeSpotInstanceRequests.
  31313. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsResult
  31314. type DescribeSpotInstanceRequestsOutput struct {
  31315. _ struct{} `type:"structure"`
  31316. // One or more Spot instance requests.
  31317. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  31318. }
  31319. // String returns the string representation
  31320. func (s DescribeSpotInstanceRequestsOutput) String() string {
  31321. return awsutil.Prettify(s)
  31322. }
  31323. // GoString returns the string representation
  31324. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  31325. return s.String()
  31326. }
  31327. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  31328. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  31329. s.SpotInstanceRequests = v
  31330. return s
  31331. }
  31332. // Contains the parameters for DescribeSpotPriceHistory.
  31333. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryRequest
  31334. type DescribeSpotPriceHistoryInput struct {
  31335. _ struct{} `type:"structure"`
  31336. // Filters the results by the specified Availability Zone.
  31337. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  31338. // Checks whether you have the required permissions for the action, without
  31339. // actually making the request, and provides an error response. If you have
  31340. // the required permissions, the error response is DryRunOperation. Otherwise,
  31341. // it is UnauthorizedOperation.
  31342. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31343. // The date and time, up to the current date, from which to stop retrieving
  31344. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31345. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  31346. // One or more filters.
  31347. //
  31348. // * availability-zone - The Availability Zone for which prices should be
  31349. // returned.
  31350. //
  31351. // * instance-type - The type of instance (for example, m3.medium).
  31352. //
  31353. // * product-description - The product description for the Spot price (Linux/UNIX
  31354. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  31355. // VPC) | Windows (Amazon VPC)).
  31356. //
  31357. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  31358. // greater than or less than comparison is not supported).
  31359. //
  31360. // * timestamp - The timestamp of the Spot price history, in UTC format (for
  31361. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  31362. // than or less than comparison is not supported.
  31363. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31364. // Filters the results by the specified instance types. Note that T2 and HS1
  31365. // instance types are not supported.
  31366. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  31367. // The maximum number of results to return in a single call. Specify a value
  31368. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  31369. // results, make another call with the returned NextToken value.
  31370. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  31371. // The token for the next set of results.
  31372. NextToken *string `locationName:"nextToken" type:"string"`
  31373. // Filters the results by the specified basic product descriptions.
  31374. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  31375. // The date and time, up to the past 90 days, from which to start retrieving
  31376. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  31377. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  31378. }
  31379. // String returns the string representation
  31380. func (s DescribeSpotPriceHistoryInput) String() string {
  31381. return awsutil.Prettify(s)
  31382. }
  31383. // GoString returns the string representation
  31384. func (s DescribeSpotPriceHistoryInput) GoString() string {
  31385. return s.String()
  31386. }
  31387. // SetAvailabilityZone sets the AvailabilityZone field's value.
  31388. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  31389. s.AvailabilityZone = &v
  31390. return s
  31391. }
  31392. // SetDryRun sets the DryRun field's value.
  31393. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  31394. s.DryRun = &v
  31395. return s
  31396. }
  31397. // SetEndTime sets the EndTime field's value.
  31398. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  31399. s.EndTime = &v
  31400. return s
  31401. }
  31402. // SetFilters sets the Filters field's value.
  31403. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  31404. s.Filters = v
  31405. return s
  31406. }
  31407. // SetInstanceTypes sets the InstanceTypes field's value.
  31408. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  31409. s.InstanceTypes = v
  31410. return s
  31411. }
  31412. // SetMaxResults sets the MaxResults field's value.
  31413. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  31414. s.MaxResults = &v
  31415. return s
  31416. }
  31417. // SetNextToken sets the NextToken field's value.
  31418. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  31419. s.NextToken = &v
  31420. return s
  31421. }
  31422. // SetProductDescriptions sets the ProductDescriptions field's value.
  31423. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  31424. s.ProductDescriptions = v
  31425. return s
  31426. }
  31427. // SetStartTime sets the StartTime field's value.
  31428. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  31429. s.StartTime = &v
  31430. return s
  31431. }
  31432. // Contains the output of DescribeSpotPriceHistory.
  31433. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryResult
  31434. type DescribeSpotPriceHistoryOutput struct {
  31435. _ struct{} `type:"structure"`
  31436. // The token required to retrieve the next set of results. This value is null
  31437. // when there are no more results to return.
  31438. NextToken *string `locationName:"nextToken" type:"string"`
  31439. // The historical Spot prices.
  31440. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  31441. }
  31442. // String returns the string representation
  31443. func (s DescribeSpotPriceHistoryOutput) String() string {
  31444. return awsutil.Prettify(s)
  31445. }
  31446. // GoString returns the string representation
  31447. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  31448. return s.String()
  31449. }
  31450. // SetNextToken sets the NextToken field's value.
  31451. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  31452. s.NextToken = &v
  31453. return s
  31454. }
  31455. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  31456. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  31457. s.SpotPriceHistory = v
  31458. return s
  31459. }
  31460. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsRequest
  31461. type DescribeStaleSecurityGroupsInput struct {
  31462. _ struct{} `type:"structure"`
  31463. // Checks whether you have the required permissions for the operation, without
  31464. // actually making the request, and provides an error response. If you have
  31465. // the required permissions, the error response is DryRunOperation. Otherwise,
  31466. // it is UnauthorizedOperation.
  31467. DryRun *bool `type:"boolean"`
  31468. // The maximum number of items to return for this request. The request returns
  31469. // a token that you can specify in a subsequent call to get the next set of
  31470. // results.
  31471. MaxResults *int64 `min:"5" type:"integer"`
  31472. // The token for the next set of items to return. (You received this token from
  31473. // a prior call.)
  31474. NextToken *string `min:"1" type:"string"`
  31475. // The ID of the VPC.
  31476. //
  31477. // VpcId is a required field
  31478. VpcId *string `type:"string" required:"true"`
  31479. }
  31480. // String returns the string representation
  31481. func (s DescribeStaleSecurityGroupsInput) String() string {
  31482. return awsutil.Prettify(s)
  31483. }
  31484. // GoString returns the string representation
  31485. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  31486. return s.String()
  31487. }
  31488. // Validate inspects the fields of the type to determine if they are valid.
  31489. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  31490. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  31491. if s.MaxResults != nil && *s.MaxResults < 5 {
  31492. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  31493. }
  31494. if s.NextToken != nil && len(*s.NextToken) < 1 {
  31495. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  31496. }
  31497. if s.VpcId == nil {
  31498. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  31499. }
  31500. if invalidParams.Len() > 0 {
  31501. return invalidParams
  31502. }
  31503. return nil
  31504. }
  31505. // SetDryRun sets the DryRun field's value.
  31506. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  31507. s.DryRun = &v
  31508. return s
  31509. }
  31510. // SetMaxResults sets the MaxResults field's value.
  31511. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  31512. s.MaxResults = &v
  31513. return s
  31514. }
  31515. // SetNextToken sets the NextToken field's value.
  31516. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  31517. s.NextToken = &v
  31518. return s
  31519. }
  31520. // SetVpcId sets the VpcId field's value.
  31521. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  31522. s.VpcId = &v
  31523. return s
  31524. }
  31525. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsResult
  31526. type DescribeStaleSecurityGroupsOutput struct {
  31527. _ struct{} `type:"structure"`
  31528. // The token to use when requesting the next set of items. If there are no additional
  31529. // items to return, the string is empty.
  31530. NextToken *string `locationName:"nextToken" type:"string"`
  31531. // Information about the stale security groups.
  31532. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  31533. }
  31534. // String returns the string representation
  31535. func (s DescribeStaleSecurityGroupsOutput) String() string {
  31536. return awsutil.Prettify(s)
  31537. }
  31538. // GoString returns the string representation
  31539. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  31540. return s.String()
  31541. }
  31542. // SetNextToken sets the NextToken field's value.
  31543. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  31544. s.NextToken = &v
  31545. return s
  31546. }
  31547. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  31548. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  31549. s.StaleSecurityGroupSet = v
  31550. return s
  31551. }
  31552. // Contains the parameters for DescribeSubnets.
  31553. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsRequest
  31554. type DescribeSubnetsInput struct {
  31555. _ struct{} `type:"structure"`
  31556. // Checks whether you have the required permissions for the action, without
  31557. // actually making the request, and provides an error response. If you have
  31558. // the required permissions, the error response is DryRunOperation. Otherwise,
  31559. // it is UnauthorizedOperation.
  31560. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31561. // One or more filters.
  31562. //
  31563. // * availabilityZone - The Availability Zone for the subnet. You can also
  31564. // use availability-zone as the filter name.
  31565. //
  31566. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  31567. // that are available.
  31568. //
  31569. // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify
  31570. // must exactly match the subnet's CIDR block for information to be returned
  31571. // for the subnet. You can also use cidr or cidr-block as the filter names.
  31572. //
  31573. // * defaultForAz - Indicates whether this is the default subnet for the
  31574. // Availability Zone. You can also use default-for-az as the filter name.
  31575. //
  31576. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  31577. // with the subnet.
  31578. //
  31579. // * ipv6-cidr-block-association.association-id - An association ID for an
  31580. // IPv6 CIDR block associated with the subnet.
  31581. //
  31582. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  31583. // associated with the subnet.
  31584. //
  31585. // * state - The state of the subnet (pending | available).
  31586. //
  31587. // * subnet-id - The ID of the subnet.
  31588. //
  31589. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31590. // Specify the key of the tag in the filter name and the value of the tag
  31591. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31592. // for the filter name and X for the filter value.
  31593. //
  31594. // * tag-key - The key of a tag assigned to the resource. This filter is
  31595. // independent of the tag-value filter. For example, if you use both the
  31596. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31597. // assigned both the tag key Purpose (regardless of what the tag's value
  31598. // is), and the tag value X (regardless of what the tag's key is). If you
  31599. // want to list only resources where Purpose is X, see the tag:key=value
  31600. // filter.
  31601. //
  31602. // * tag-value - The value of a tag assigned to the resource. This filter
  31603. // is independent of the tag-key filter.
  31604. //
  31605. // * vpc-id - The ID of the VPC for the subnet.
  31606. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31607. // One or more subnet IDs.
  31608. //
  31609. // Default: Describes all your subnets.
  31610. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  31611. }
  31612. // String returns the string representation
  31613. func (s DescribeSubnetsInput) String() string {
  31614. return awsutil.Prettify(s)
  31615. }
  31616. // GoString returns the string representation
  31617. func (s DescribeSubnetsInput) GoString() string {
  31618. return s.String()
  31619. }
  31620. // SetDryRun sets the DryRun field's value.
  31621. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  31622. s.DryRun = &v
  31623. return s
  31624. }
  31625. // SetFilters sets the Filters field's value.
  31626. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  31627. s.Filters = v
  31628. return s
  31629. }
  31630. // SetSubnetIds sets the SubnetIds field's value.
  31631. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  31632. s.SubnetIds = v
  31633. return s
  31634. }
  31635. // Contains the output of DescribeSubnets.
  31636. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsResult
  31637. type DescribeSubnetsOutput struct {
  31638. _ struct{} `type:"structure"`
  31639. // Information about one or more subnets.
  31640. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  31641. }
  31642. // String returns the string representation
  31643. func (s DescribeSubnetsOutput) String() string {
  31644. return awsutil.Prettify(s)
  31645. }
  31646. // GoString returns the string representation
  31647. func (s DescribeSubnetsOutput) GoString() string {
  31648. return s.String()
  31649. }
  31650. // SetSubnets sets the Subnets field's value.
  31651. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  31652. s.Subnets = v
  31653. return s
  31654. }
  31655. // Contains the parameters for DescribeTags.
  31656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsRequest
  31657. type DescribeTagsInput struct {
  31658. _ struct{} `type:"structure"`
  31659. // Checks whether you have the required permissions for the action, without
  31660. // actually making the request, and provides an error response. If you have
  31661. // the required permissions, the error response is DryRunOperation. Otherwise,
  31662. // it is UnauthorizedOperation.
  31663. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31664. // One or more filters.
  31665. //
  31666. // * key - The tag key.
  31667. //
  31668. // * resource-id - The resource ID.
  31669. //
  31670. // * resource-type - The resource type (customer-gateway | dhcp-options |
  31671. // image | instance | internet-gateway | network-acl | network-interface
  31672. // | reserved-instances | route-table | security-group | snapshot | spot-instances-request
  31673. // | subnet | volume | vpc | vpn-connection | vpn-gateway).
  31674. //
  31675. // * value - The tag value.
  31676. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31677. // The maximum number of results to return in a single call. This value can
  31678. // be between 5 and 1000. To retrieve the remaining results, make another call
  31679. // with the returned NextToken value.
  31680. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  31681. // The token to retrieve the next page of results.
  31682. NextToken *string `locationName:"nextToken" type:"string"`
  31683. }
  31684. // String returns the string representation
  31685. func (s DescribeTagsInput) String() string {
  31686. return awsutil.Prettify(s)
  31687. }
  31688. // GoString returns the string representation
  31689. func (s DescribeTagsInput) GoString() string {
  31690. return s.String()
  31691. }
  31692. // SetDryRun sets the DryRun field's value.
  31693. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  31694. s.DryRun = &v
  31695. return s
  31696. }
  31697. // SetFilters sets the Filters field's value.
  31698. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  31699. s.Filters = v
  31700. return s
  31701. }
  31702. // SetMaxResults sets the MaxResults field's value.
  31703. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  31704. s.MaxResults = &v
  31705. return s
  31706. }
  31707. // SetNextToken sets the NextToken field's value.
  31708. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  31709. s.NextToken = &v
  31710. return s
  31711. }
  31712. // Contains the output of DescribeTags.
  31713. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsResult
  31714. type DescribeTagsOutput struct {
  31715. _ struct{} `type:"structure"`
  31716. // The token to use to retrieve the next page of results. This value is null
  31717. // when there are no more results to return..
  31718. NextToken *string `locationName:"nextToken" type:"string"`
  31719. // A list of tags.
  31720. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  31721. }
  31722. // String returns the string representation
  31723. func (s DescribeTagsOutput) String() string {
  31724. return awsutil.Prettify(s)
  31725. }
  31726. // GoString returns the string representation
  31727. func (s DescribeTagsOutput) GoString() string {
  31728. return s.String()
  31729. }
  31730. // SetNextToken sets the NextToken field's value.
  31731. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  31732. s.NextToken = &v
  31733. return s
  31734. }
  31735. // SetTags sets the Tags field's value.
  31736. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  31737. s.Tags = v
  31738. return s
  31739. }
  31740. // Contains the parameters for DescribeVolumeAttribute.
  31741. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeRequest
  31742. type DescribeVolumeAttributeInput struct {
  31743. _ struct{} `type:"structure"`
  31744. // The attribute of the volume. This parameter is required.
  31745. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  31746. // Checks whether you have the required permissions for the action, without
  31747. // actually making the request, and provides an error response. If you have
  31748. // the required permissions, the error response is DryRunOperation. Otherwise,
  31749. // it is UnauthorizedOperation.
  31750. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31751. // The ID of the volume.
  31752. //
  31753. // VolumeId is a required field
  31754. VolumeId *string `type:"string" required:"true"`
  31755. }
  31756. // String returns the string representation
  31757. func (s DescribeVolumeAttributeInput) String() string {
  31758. return awsutil.Prettify(s)
  31759. }
  31760. // GoString returns the string representation
  31761. func (s DescribeVolumeAttributeInput) GoString() string {
  31762. return s.String()
  31763. }
  31764. // Validate inspects the fields of the type to determine if they are valid.
  31765. func (s *DescribeVolumeAttributeInput) Validate() error {
  31766. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  31767. if s.VolumeId == nil {
  31768. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  31769. }
  31770. if invalidParams.Len() > 0 {
  31771. return invalidParams
  31772. }
  31773. return nil
  31774. }
  31775. // SetAttribute sets the Attribute field's value.
  31776. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  31777. s.Attribute = &v
  31778. return s
  31779. }
  31780. // SetDryRun sets the DryRun field's value.
  31781. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  31782. s.DryRun = &v
  31783. return s
  31784. }
  31785. // SetVolumeId sets the VolumeId field's value.
  31786. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  31787. s.VolumeId = &v
  31788. return s
  31789. }
  31790. // Contains the output of DescribeVolumeAttribute.
  31791. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeResult
  31792. type DescribeVolumeAttributeOutput struct {
  31793. _ struct{} `type:"structure"`
  31794. // The state of autoEnableIO attribute.
  31795. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  31796. // A list of product codes.
  31797. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  31798. // The ID of the volume.
  31799. VolumeId *string `locationName:"volumeId" type:"string"`
  31800. }
  31801. // String returns the string representation
  31802. func (s DescribeVolumeAttributeOutput) String() string {
  31803. return awsutil.Prettify(s)
  31804. }
  31805. // GoString returns the string representation
  31806. func (s DescribeVolumeAttributeOutput) GoString() string {
  31807. return s.String()
  31808. }
  31809. // SetAutoEnableIO sets the AutoEnableIO field's value.
  31810. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  31811. s.AutoEnableIO = v
  31812. return s
  31813. }
  31814. // SetProductCodes sets the ProductCodes field's value.
  31815. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  31816. s.ProductCodes = v
  31817. return s
  31818. }
  31819. // SetVolumeId sets the VolumeId field's value.
  31820. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  31821. s.VolumeId = &v
  31822. return s
  31823. }
  31824. // Contains the parameters for DescribeVolumeStatus.
  31825. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusRequest
  31826. type DescribeVolumeStatusInput struct {
  31827. _ struct{} `type:"structure"`
  31828. // Checks whether you have the required permissions for the action, without
  31829. // actually making the request, and provides an error response. If you have
  31830. // the required permissions, the error response is DryRunOperation. Otherwise,
  31831. // it is UnauthorizedOperation.
  31832. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31833. // One or more filters.
  31834. //
  31835. // * action.code - The action code for the event (for example, enable-volume-io).
  31836. //
  31837. // * action.description - A description of the action.
  31838. //
  31839. // * action.event-id - The event ID associated with the action.
  31840. //
  31841. // * availability-zone - The Availability Zone of the instance.
  31842. //
  31843. // * event.description - A description of the event.
  31844. //
  31845. // * event.event-id - The event ID.
  31846. //
  31847. // * event.event-type - The event type (for io-enabled: passed | failed;
  31848. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  31849. // | io-performance:stalled).
  31850. //
  31851. // * event.not-after - The latest end time for the event.
  31852. //
  31853. // * event.not-before - The earliest start time for the event.
  31854. //
  31855. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  31856. // | io-performance).
  31857. //
  31858. // * volume-status.details-status - The status of volume-status.details-name
  31859. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  31860. // | severely-degraded | stalled).
  31861. //
  31862. // * volume-status.status - The status of the volume (ok | impaired | warning
  31863. // | insufficient-data).
  31864. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31865. // The maximum number of volume results returned by DescribeVolumeStatus in
  31866. // paginated output. When this parameter is used, the request only returns MaxResults
  31867. // results in a single page along with a NextToken response element. The remaining
  31868. // results of the initial request can be seen by sending another request with
  31869. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  31870. // is given a value larger than 1000, only 1000 results are returned. If this
  31871. // parameter is not used, then DescribeVolumeStatus returns all results. You
  31872. // cannot specify this parameter and the volume IDs parameter in the same request.
  31873. MaxResults *int64 `type:"integer"`
  31874. // The NextToken value to include in a future DescribeVolumeStatus request.
  31875. // When the results of the request exceed MaxResults, this value can be used
  31876. // to retrieve the next page of results. This value is null when there are no
  31877. // more results to return.
  31878. NextToken *string `type:"string"`
  31879. // One or more volume IDs.
  31880. //
  31881. // Default: Describes all your volumes.
  31882. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  31883. }
  31884. // String returns the string representation
  31885. func (s DescribeVolumeStatusInput) String() string {
  31886. return awsutil.Prettify(s)
  31887. }
  31888. // GoString returns the string representation
  31889. func (s DescribeVolumeStatusInput) GoString() string {
  31890. return s.String()
  31891. }
  31892. // SetDryRun sets the DryRun field's value.
  31893. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  31894. s.DryRun = &v
  31895. return s
  31896. }
  31897. // SetFilters sets the Filters field's value.
  31898. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  31899. s.Filters = v
  31900. return s
  31901. }
  31902. // SetMaxResults sets the MaxResults field's value.
  31903. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  31904. s.MaxResults = &v
  31905. return s
  31906. }
  31907. // SetNextToken sets the NextToken field's value.
  31908. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  31909. s.NextToken = &v
  31910. return s
  31911. }
  31912. // SetVolumeIds sets the VolumeIds field's value.
  31913. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  31914. s.VolumeIds = v
  31915. return s
  31916. }
  31917. // Contains the output of DescribeVolumeStatus.
  31918. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusResult
  31919. type DescribeVolumeStatusOutput struct {
  31920. _ struct{} `type:"structure"`
  31921. // The token to use to retrieve the next page of results. This value is null
  31922. // when there are no more results to return.
  31923. NextToken *string `locationName:"nextToken" type:"string"`
  31924. // A list of volumes.
  31925. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  31926. }
  31927. // String returns the string representation
  31928. func (s DescribeVolumeStatusOutput) String() string {
  31929. return awsutil.Prettify(s)
  31930. }
  31931. // GoString returns the string representation
  31932. func (s DescribeVolumeStatusOutput) GoString() string {
  31933. return s.String()
  31934. }
  31935. // SetNextToken sets the NextToken field's value.
  31936. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  31937. s.NextToken = &v
  31938. return s
  31939. }
  31940. // SetVolumeStatuses sets the VolumeStatuses field's value.
  31941. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  31942. s.VolumeStatuses = v
  31943. return s
  31944. }
  31945. // Contains the parameters for DescribeVolumes.
  31946. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesRequest
  31947. type DescribeVolumesInput struct {
  31948. _ struct{} `type:"structure"`
  31949. // Checks whether you have the required permissions for the action, without
  31950. // actually making the request, and provides an error response. If you have
  31951. // the required permissions, the error response is DryRunOperation. Otherwise,
  31952. // it is UnauthorizedOperation.
  31953. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31954. // One or more filters.
  31955. //
  31956. // * attachment.attach-time - The time stamp when the attachment initiated.
  31957. //
  31958. // * attachment.delete-on-termination - Whether the volume is deleted on
  31959. // instance termination.
  31960. //
  31961. // * attachment.device - The device name that is exposed to the instance
  31962. // (for example, /dev/sda1).
  31963. //
  31964. // * attachment.instance-id - The ID of the instance the volume is attached
  31965. // to.
  31966. //
  31967. // * attachment.status - The attachment state (attaching | attached | detaching
  31968. // | detached).
  31969. //
  31970. // * availability-zone - The Availability Zone in which the volume was created.
  31971. //
  31972. // * create-time - The time stamp when the volume was created.
  31973. //
  31974. // * encrypted - The encryption status of the volume.
  31975. //
  31976. // * size - The size of the volume, in GiB.
  31977. //
  31978. // * snapshot-id - The snapshot from which the volume was created.
  31979. //
  31980. // * status - The status of the volume (creating | available | in-use | deleting
  31981. // | deleted | error).
  31982. //
  31983. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31984. // Specify the key of the tag in the filter name and the value of the tag
  31985. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31986. // for the filter name and X for the filter value.
  31987. //
  31988. // * tag-key - The key of a tag assigned to the resource. This filter is
  31989. // independent of the tag-value filter. For example, if you use both the
  31990. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31991. // assigned both the tag key Purpose (regardless of what the tag's value
  31992. // is), and the tag value X (regardless of what the tag's key is). If you
  31993. // want to list only resources where Purpose is X, see the tag:key=value
  31994. // filter.
  31995. //
  31996. // * tag-value - The value of a tag assigned to the resource. This filter
  31997. // is independent of the tag-key filter.
  31998. //
  31999. // * volume-id - The volume ID.
  32000. //
  32001. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  32002. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  32003. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  32004. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32005. // The maximum number of volume results returned by DescribeVolumes in paginated
  32006. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  32007. // results in a single page along with a NextToken response element. The remaining
  32008. // results of the initial request can be seen by sending another DescribeVolumes
  32009. // request with the returned NextToken value. This value can be between 5 and
  32010. // 500; if MaxResults is given a value larger than 500, only 500 results are
  32011. // returned. If this parameter is not used, then DescribeVolumes returns all
  32012. // results. You cannot specify this parameter and the volume IDs parameter in
  32013. // the same request.
  32014. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  32015. // The NextToken value returned from a previous paginated DescribeVolumes request
  32016. // where MaxResults was used and the results exceeded the value of that parameter.
  32017. // Pagination continues from the end of the previous results that returned the
  32018. // NextToken value. This value is null when there are no more results to return.
  32019. NextToken *string `locationName:"nextToken" type:"string"`
  32020. // One or more volume IDs.
  32021. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  32022. }
  32023. // String returns the string representation
  32024. func (s DescribeVolumesInput) String() string {
  32025. return awsutil.Prettify(s)
  32026. }
  32027. // GoString returns the string representation
  32028. func (s DescribeVolumesInput) GoString() string {
  32029. return s.String()
  32030. }
  32031. // SetDryRun sets the DryRun field's value.
  32032. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  32033. s.DryRun = &v
  32034. return s
  32035. }
  32036. // SetFilters sets the Filters field's value.
  32037. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  32038. s.Filters = v
  32039. return s
  32040. }
  32041. // SetMaxResults sets the MaxResults field's value.
  32042. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  32043. s.MaxResults = &v
  32044. return s
  32045. }
  32046. // SetNextToken sets the NextToken field's value.
  32047. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  32048. s.NextToken = &v
  32049. return s
  32050. }
  32051. // SetVolumeIds sets the VolumeIds field's value.
  32052. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  32053. s.VolumeIds = v
  32054. return s
  32055. }
  32056. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsRequest
  32057. type DescribeVolumesModificationsInput struct {
  32058. _ struct{} `type:"structure"`
  32059. // Checks whether you have the required permissions for the action, without
  32060. // actually making the request, and provides an error response. If you have
  32061. // the required permissions, the error response is DryRunOperation. Otherwise,
  32062. // it is UnauthorizedOperation.
  32063. DryRun *bool `type:"boolean"`
  32064. // One or more filters. Supported filters: volume-id, modification-state, target-size,
  32065. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  32066. // start-time.
  32067. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32068. // The maximum number of results (up to a limit of 500) to be returned in a
  32069. // paginated request.
  32070. MaxResults *int64 `type:"integer"`
  32071. // The nextToken value returned by a previous paginated request.
  32072. NextToken *string `type:"string"`
  32073. // One or more volume IDs for which in-progress modifications will be described.
  32074. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  32075. }
  32076. // String returns the string representation
  32077. func (s DescribeVolumesModificationsInput) String() string {
  32078. return awsutil.Prettify(s)
  32079. }
  32080. // GoString returns the string representation
  32081. func (s DescribeVolumesModificationsInput) GoString() string {
  32082. return s.String()
  32083. }
  32084. // SetDryRun sets the DryRun field's value.
  32085. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  32086. s.DryRun = &v
  32087. return s
  32088. }
  32089. // SetFilters sets the Filters field's value.
  32090. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  32091. s.Filters = v
  32092. return s
  32093. }
  32094. // SetMaxResults sets the MaxResults field's value.
  32095. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  32096. s.MaxResults = &v
  32097. return s
  32098. }
  32099. // SetNextToken sets the NextToken field's value.
  32100. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  32101. s.NextToken = &v
  32102. return s
  32103. }
  32104. // SetVolumeIds sets the VolumeIds field's value.
  32105. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  32106. s.VolumeIds = v
  32107. return s
  32108. }
  32109. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsResult
  32110. type DescribeVolumesModificationsOutput struct {
  32111. _ struct{} `type:"structure"`
  32112. // Token for pagination, null if there are no more results
  32113. NextToken *string `locationName:"nextToken" type:"string"`
  32114. // A list of returned VolumeModification objects.
  32115. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  32116. }
  32117. // String returns the string representation
  32118. func (s DescribeVolumesModificationsOutput) String() string {
  32119. return awsutil.Prettify(s)
  32120. }
  32121. // GoString returns the string representation
  32122. func (s DescribeVolumesModificationsOutput) GoString() string {
  32123. return s.String()
  32124. }
  32125. // SetNextToken sets the NextToken field's value.
  32126. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  32127. s.NextToken = &v
  32128. return s
  32129. }
  32130. // SetVolumesModifications sets the VolumesModifications field's value.
  32131. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  32132. s.VolumesModifications = v
  32133. return s
  32134. }
  32135. // Contains the output of DescribeVolumes.
  32136. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesResult
  32137. type DescribeVolumesOutput struct {
  32138. _ struct{} `type:"structure"`
  32139. // The NextToken value to include in a future DescribeVolumes request. When
  32140. // the results of a DescribeVolumes request exceed MaxResults, this value can
  32141. // be used to retrieve the next page of results. This value is null when there
  32142. // are no more results to return.
  32143. NextToken *string `locationName:"nextToken" type:"string"`
  32144. // Information about the volumes.
  32145. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  32146. }
  32147. // String returns the string representation
  32148. func (s DescribeVolumesOutput) String() string {
  32149. return awsutil.Prettify(s)
  32150. }
  32151. // GoString returns the string representation
  32152. func (s DescribeVolumesOutput) GoString() string {
  32153. return s.String()
  32154. }
  32155. // SetNextToken sets the NextToken field's value.
  32156. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  32157. s.NextToken = &v
  32158. return s
  32159. }
  32160. // SetVolumes sets the Volumes field's value.
  32161. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  32162. s.Volumes = v
  32163. return s
  32164. }
  32165. // Contains the parameters for DescribeVpcAttribute.
  32166. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeRequest
  32167. type DescribeVpcAttributeInput struct {
  32168. _ struct{} `type:"structure"`
  32169. // The VPC attribute.
  32170. //
  32171. // Attribute is a required field
  32172. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  32173. // Checks whether you have the required permissions for the action, without
  32174. // actually making the request, and provides an error response. If you have
  32175. // the required permissions, the error response is DryRunOperation. Otherwise,
  32176. // it is UnauthorizedOperation.
  32177. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32178. // The ID of the VPC.
  32179. //
  32180. // VpcId is a required field
  32181. VpcId *string `type:"string" required:"true"`
  32182. }
  32183. // String returns the string representation
  32184. func (s DescribeVpcAttributeInput) String() string {
  32185. return awsutil.Prettify(s)
  32186. }
  32187. // GoString returns the string representation
  32188. func (s DescribeVpcAttributeInput) GoString() string {
  32189. return s.String()
  32190. }
  32191. // Validate inspects the fields of the type to determine if they are valid.
  32192. func (s *DescribeVpcAttributeInput) Validate() error {
  32193. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  32194. if s.Attribute == nil {
  32195. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  32196. }
  32197. if s.VpcId == nil {
  32198. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32199. }
  32200. if invalidParams.Len() > 0 {
  32201. return invalidParams
  32202. }
  32203. return nil
  32204. }
  32205. // SetAttribute sets the Attribute field's value.
  32206. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  32207. s.Attribute = &v
  32208. return s
  32209. }
  32210. // SetDryRun sets the DryRun field's value.
  32211. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  32212. s.DryRun = &v
  32213. return s
  32214. }
  32215. // SetVpcId sets the VpcId field's value.
  32216. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  32217. s.VpcId = &v
  32218. return s
  32219. }
  32220. // Contains the output of DescribeVpcAttribute.
  32221. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeResult
  32222. type DescribeVpcAttributeOutput struct {
  32223. _ struct{} `type:"structure"`
  32224. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  32225. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  32226. // they do not.
  32227. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  32228. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  32229. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  32230. // to their corresponding IP addresses; otherwise, it does not.
  32231. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  32232. // The ID of the VPC.
  32233. VpcId *string `locationName:"vpcId" type:"string"`
  32234. }
  32235. // String returns the string representation
  32236. func (s DescribeVpcAttributeOutput) String() string {
  32237. return awsutil.Prettify(s)
  32238. }
  32239. // GoString returns the string representation
  32240. func (s DescribeVpcAttributeOutput) GoString() string {
  32241. return s.String()
  32242. }
  32243. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  32244. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  32245. s.EnableDnsHostnames = v
  32246. return s
  32247. }
  32248. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  32249. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  32250. s.EnableDnsSupport = v
  32251. return s
  32252. }
  32253. // SetVpcId sets the VpcId field's value.
  32254. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  32255. s.VpcId = &v
  32256. return s
  32257. }
  32258. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  32259. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportRequest
  32260. type DescribeVpcClassicLinkDnsSupportInput struct {
  32261. _ struct{} `type:"structure"`
  32262. // The maximum number of items to return for this request. The request returns
  32263. // a token that you can specify in a subsequent call to get the next set of
  32264. // results.
  32265. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  32266. // The token for the next set of items to return. (You received this token from
  32267. // a prior call.)
  32268. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  32269. // One or more VPC IDs.
  32270. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  32271. }
  32272. // String returns the string representation
  32273. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  32274. return awsutil.Prettify(s)
  32275. }
  32276. // GoString returns the string representation
  32277. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  32278. return s.String()
  32279. }
  32280. // Validate inspects the fields of the type to determine if they are valid.
  32281. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  32282. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  32283. if s.MaxResults != nil && *s.MaxResults < 5 {
  32284. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  32285. }
  32286. if s.NextToken != nil && len(*s.NextToken) < 1 {
  32287. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  32288. }
  32289. if invalidParams.Len() > 0 {
  32290. return invalidParams
  32291. }
  32292. return nil
  32293. }
  32294. // SetMaxResults sets the MaxResults field's value.
  32295. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  32296. s.MaxResults = &v
  32297. return s
  32298. }
  32299. // SetNextToken sets the NextToken field's value.
  32300. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  32301. s.NextToken = &v
  32302. return s
  32303. }
  32304. // SetVpcIds sets the VpcIds field's value.
  32305. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  32306. s.VpcIds = v
  32307. return s
  32308. }
  32309. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  32310. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportResult
  32311. type DescribeVpcClassicLinkDnsSupportOutput struct {
  32312. _ struct{} `type:"structure"`
  32313. // The token to use when requesting the next set of items.
  32314. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  32315. // Information about the ClassicLink DNS support status of the VPCs.
  32316. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  32317. }
  32318. // String returns the string representation
  32319. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  32320. return awsutil.Prettify(s)
  32321. }
  32322. // GoString returns the string representation
  32323. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  32324. return s.String()
  32325. }
  32326. // SetNextToken sets the NextToken field's value.
  32327. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  32328. s.NextToken = &v
  32329. return s
  32330. }
  32331. // SetVpcs sets the Vpcs field's value.
  32332. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  32333. s.Vpcs = v
  32334. return s
  32335. }
  32336. // Contains the parameters for DescribeVpcClassicLink.
  32337. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkRequest
  32338. type DescribeVpcClassicLinkInput struct {
  32339. _ struct{} `type:"structure"`
  32340. // Checks whether you have the required permissions for the action, without
  32341. // actually making the request, and provides an error response. If you have
  32342. // the required permissions, the error response is DryRunOperation. Otherwise,
  32343. // it is UnauthorizedOperation.
  32344. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32345. // One or more filters.
  32346. //
  32347. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  32348. // (true | false).
  32349. //
  32350. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32351. // Specify the key of the tag in the filter name and the value of the tag
  32352. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32353. // for the filter name and X for the filter value.
  32354. //
  32355. // * tag-key - The key of a tag assigned to the resource. This filter is
  32356. // independent of the tag-value filter. For example, if you use both the
  32357. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32358. // assigned both the tag key Purpose (regardless of what the tag's value
  32359. // is), and the tag value X (regardless of what the tag's key is). If you
  32360. // want to list only resources where Purpose is X, see the tag:key=value
  32361. // filter.
  32362. //
  32363. // * tag-value - The value of a tag assigned to the resource. This filter
  32364. // is independent of the tag-key filter.
  32365. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32366. // One or more VPCs for which you want to describe the ClassicLink status.
  32367. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  32368. }
  32369. // String returns the string representation
  32370. func (s DescribeVpcClassicLinkInput) String() string {
  32371. return awsutil.Prettify(s)
  32372. }
  32373. // GoString returns the string representation
  32374. func (s DescribeVpcClassicLinkInput) GoString() string {
  32375. return s.String()
  32376. }
  32377. // SetDryRun sets the DryRun field's value.
  32378. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  32379. s.DryRun = &v
  32380. return s
  32381. }
  32382. // SetFilters sets the Filters field's value.
  32383. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  32384. s.Filters = v
  32385. return s
  32386. }
  32387. // SetVpcIds sets the VpcIds field's value.
  32388. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  32389. s.VpcIds = v
  32390. return s
  32391. }
  32392. // Contains the output of DescribeVpcClassicLink.
  32393. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkResult
  32394. type DescribeVpcClassicLinkOutput struct {
  32395. _ struct{} `type:"structure"`
  32396. // The ClassicLink status of one or more VPCs.
  32397. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  32398. }
  32399. // String returns the string representation
  32400. func (s DescribeVpcClassicLinkOutput) String() string {
  32401. return awsutil.Prettify(s)
  32402. }
  32403. // GoString returns the string representation
  32404. func (s DescribeVpcClassicLinkOutput) GoString() string {
  32405. return s.String()
  32406. }
  32407. // SetVpcs sets the Vpcs field's value.
  32408. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  32409. s.Vpcs = v
  32410. return s
  32411. }
  32412. // Contains the parameters for DescribeVpcEndpointServices.
  32413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesRequest
  32414. type DescribeVpcEndpointServicesInput struct {
  32415. _ struct{} `type:"structure"`
  32416. // Checks whether you have the required permissions for the action, without
  32417. // actually making the request, and provides an error response. If you have
  32418. // the required permissions, the error response is DryRunOperation. Otherwise,
  32419. // it is UnauthorizedOperation.
  32420. DryRun *bool `type:"boolean"`
  32421. // The maximum number of items to return for this request. The request returns
  32422. // a token that you can specify in a subsequent call to get the next set of
  32423. // results.
  32424. //
  32425. // Constraint: If the value is greater than 1000, we return only 1000 items.
  32426. MaxResults *int64 `type:"integer"`
  32427. // The token for the next set of items to return. (You received this token from
  32428. // a prior call.)
  32429. NextToken *string `type:"string"`
  32430. }
  32431. // String returns the string representation
  32432. func (s DescribeVpcEndpointServicesInput) String() string {
  32433. return awsutil.Prettify(s)
  32434. }
  32435. // GoString returns the string representation
  32436. func (s DescribeVpcEndpointServicesInput) GoString() string {
  32437. return s.String()
  32438. }
  32439. // SetDryRun sets the DryRun field's value.
  32440. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  32441. s.DryRun = &v
  32442. return s
  32443. }
  32444. // SetMaxResults sets the MaxResults field's value.
  32445. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  32446. s.MaxResults = &v
  32447. return s
  32448. }
  32449. // SetNextToken sets the NextToken field's value.
  32450. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  32451. s.NextToken = &v
  32452. return s
  32453. }
  32454. // Contains the output of DescribeVpcEndpointServices.
  32455. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesResult
  32456. type DescribeVpcEndpointServicesOutput struct {
  32457. _ struct{} `type:"structure"`
  32458. // The token to use when requesting the next set of items. If there are no additional
  32459. // items to return, the string is empty.
  32460. NextToken *string `locationName:"nextToken" type:"string"`
  32461. // A list of supported AWS services.
  32462. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  32463. }
  32464. // String returns the string representation
  32465. func (s DescribeVpcEndpointServicesOutput) String() string {
  32466. return awsutil.Prettify(s)
  32467. }
  32468. // GoString returns the string representation
  32469. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  32470. return s.String()
  32471. }
  32472. // SetNextToken sets the NextToken field's value.
  32473. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  32474. s.NextToken = &v
  32475. return s
  32476. }
  32477. // SetServiceNames sets the ServiceNames field's value.
  32478. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  32479. s.ServiceNames = v
  32480. return s
  32481. }
  32482. // Contains the parameters for DescribeVpcEndpoints.
  32483. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsRequest
  32484. type DescribeVpcEndpointsInput struct {
  32485. _ struct{} `type:"structure"`
  32486. // Checks whether you have the required permissions for the action, without
  32487. // actually making the request, and provides an error response. If you have
  32488. // the required permissions, the error response is DryRunOperation. Otherwise,
  32489. // it is UnauthorizedOperation.
  32490. DryRun *bool `type:"boolean"`
  32491. // One or more filters.
  32492. //
  32493. // * service-name: The name of the AWS service.
  32494. //
  32495. // * vpc-id: The ID of the VPC in which the endpoint resides.
  32496. //
  32497. // * vpc-endpoint-id: The ID of the endpoint.
  32498. //
  32499. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  32500. // | deleting | deleted)
  32501. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32502. // The maximum number of items to return for this request. The request returns
  32503. // a token that you can specify in a subsequent call to get the next set of
  32504. // results.
  32505. //
  32506. // Constraint: If the value is greater than 1000, we return only 1000 items.
  32507. MaxResults *int64 `type:"integer"`
  32508. // The token for the next set of items to return. (You received this token from
  32509. // a prior call.)
  32510. NextToken *string `type:"string"`
  32511. // One or more endpoint IDs.
  32512. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  32513. }
  32514. // String returns the string representation
  32515. func (s DescribeVpcEndpointsInput) String() string {
  32516. return awsutil.Prettify(s)
  32517. }
  32518. // GoString returns the string representation
  32519. func (s DescribeVpcEndpointsInput) GoString() string {
  32520. return s.String()
  32521. }
  32522. // SetDryRun sets the DryRun field's value.
  32523. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  32524. s.DryRun = &v
  32525. return s
  32526. }
  32527. // SetFilters sets the Filters field's value.
  32528. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  32529. s.Filters = v
  32530. return s
  32531. }
  32532. // SetMaxResults sets the MaxResults field's value.
  32533. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  32534. s.MaxResults = &v
  32535. return s
  32536. }
  32537. // SetNextToken sets the NextToken field's value.
  32538. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  32539. s.NextToken = &v
  32540. return s
  32541. }
  32542. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  32543. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  32544. s.VpcEndpointIds = v
  32545. return s
  32546. }
  32547. // Contains the output of DescribeVpcEndpoints.
  32548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsResult
  32549. type DescribeVpcEndpointsOutput struct {
  32550. _ struct{} `type:"structure"`
  32551. // The token to use when requesting the next set of items. If there are no additional
  32552. // items to return, the string is empty.
  32553. NextToken *string `locationName:"nextToken" type:"string"`
  32554. // Information about the endpoints.
  32555. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  32556. }
  32557. // String returns the string representation
  32558. func (s DescribeVpcEndpointsOutput) String() string {
  32559. return awsutil.Prettify(s)
  32560. }
  32561. // GoString returns the string representation
  32562. func (s DescribeVpcEndpointsOutput) GoString() string {
  32563. return s.String()
  32564. }
  32565. // SetNextToken sets the NextToken field's value.
  32566. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  32567. s.NextToken = &v
  32568. return s
  32569. }
  32570. // SetVpcEndpoints sets the VpcEndpoints field's value.
  32571. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  32572. s.VpcEndpoints = v
  32573. return s
  32574. }
  32575. // Contains the parameters for DescribeVpcPeeringConnections.
  32576. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsRequest
  32577. type DescribeVpcPeeringConnectionsInput struct {
  32578. _ struct{} `type:"structure"`
  32579. // Checks whether you have the required permissions for the action, without
  32580. // actually making the request, and provides an error response. If you have
  32581. // the required permissions, the error response is DryRunOperation. Otherwise,
  32582. // it is UnauthorizedOperation.
  32583. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32584. // One or more filters.
  32585. //
  32586. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC.
  32587. //
  32588. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  32589. // peer VPC.
  32590. //
  32591. // * accepter-vpc-info.vpc-id - The ID of the peer VPC.
  32592. //
  32593. // * expiration-time - The expiration date and time for the VPC peering connection.
  32594. //
  32595. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  32596. // VPC.
  32597. //
  32598. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  32599. // requester VPC.
  32600. //
  32601. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  32602. //
  32603. // * status-code - The status of the VPC peering connection (pending-acceptance
  32604. // | failed | expired | provisioning | active | deleted | rejected).
  32605. //
  32606. // * status-message - A message that provides more information about the
  32607. // status of the VPC peering connection, if applicable.
  32608. //
  32609. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32610. // Specify the key of the tag in the filter name and the value of the tag
  32611. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32612. // for the filter name and X for the filter value.
  32613. //
  32614. // * tag-key - The key of a tag assigned to the resource. This filter is
  32615. // independent of the tag-value filter. For example, if you use both the
  32616. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32617. // assigned both the tag key Purpose (regardless of what the tag's value
  32618. // is), and the tag value X (regardless of what the tag's key is). If you
  32619. // want to list only resources where Purpose is X, see the tag:key=value
  32620. // filter.
  32621. //
  32622. // * tag-value - The value of a tag assigned to the resource. This filter
  32623. // is independent of the tag-key filter.
  32624. //
  32625. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  32626. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32627. // One or more VPC peering connection IDs.
  32628. //
  32629. // Default: Describes all your VPC peering connections.
  32630. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  32631. }
  32632. // String returns the string representation
  32633. func (s DescribeVpcPeeringConnectionsInput) String() string {
  32634. return awsutil.Prettify(s)
  32635. }
  32636. // GoString returns the string representation
  32637. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  32638. return s.String()
  32639. }
  32640. // SetDryRun sets the DryRun field's value.
  32641. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  32642. s.DryRun = &v
  32643. return s
  32644. }
  32645. // SetFilters sets the Filters field's value.
  32646. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  32647. s.Filters = v
  32648. return s
  32649. }
  32650. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  32651. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  32652. s.VpcPeeringConnectionIds = v
  32653. return s
  32654. }
  32655. // Contains the output of DescribeVpcPeeringConnections.
  32656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsResult
  32657. type DescribeVpcPeeringConnectionsOutput struct {
  32658. _ struct{} `type:"structure"`
  32659. // Information about the VPC peering connections.
  32660. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  32661. }
  32662. // String returns the string representation
  32663. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  32664. return awsutil.Prettify(s)
  32665. }
  32666. // GoString returns the string representation
  32667. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  32668. return s.String()
  32669. }
  32670. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  32671. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  32672. s.VpcPeeringConnections = v
  32673. return s
  32674. }
  32675. // Contains the parameters for DescribeVpcs.
  32676. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsRequest
  32677. type DescribeVpcsInput struct {
  32678. _ struct{} `type:"structure"`
  32679. // Checks whether you have the required permissions for the action, without
  32680. // actually making the request, and provides an error response. If you have
  32681. // the required permissions, the error response is DryRunOperation. Otherwise,
  32682. // it is UnauthorizedOperation.
  32683. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32684. // One or more filters.
  32685. //
  32686. // * cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must
  32687. // exactly match the VPC's CIDR block for information to be returned for
  32688. // the VPC. Must contain the slash followed by one or two digits (for example,
  32689. // /28).
  32690. //
  32691. // * dhcp-options-id - The ID of a set of DHCP options.
  32692. //
  32693. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  32694. // with the VPC.
  32695. //
  32696. // * ipv6-cidr-block-association.association-id - The association ID for
  32697. // an IPv6 CIDR block associated with the VPC.
  32698. //
  32699. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  32700. // associated with the VPC.
  32701. //
  32702. // * isDefault - Indicates whether the VPC is the default VPC.
  32703. //
  32704. // * state - The state of the VPC (pending | available).
  32705. //
  32706. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32707. // Specify the key of the tag in the filter name and the value of the tag
  32708. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32709. // for the filter name and X for the filter value.
  32710. //
  32711. // * tag-key - The key of a tag assigned to the resource. This filter is
  32712. // independent of the tag-value filter. For example, if you use both the
  32713. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32714. // assigned both the tag key Purpose (regardless of what the tag's value
  32715. // is), and the tag value X (regardless of what the tag's key is). If you
  32716. // want to list only resources where Purpose is X, see the tag:key=value
  32717. // filter.
  32718. //
  32719. // * tag-value - The value of a tag assigned to the resource. This filter
  32720. // is independent of the tag-key filter.
  32721. //
  32722. // * vpc-id - The ID of the VPC.
  32723. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32724. // One or more VPC IDs.
  32725. //
  32726. // Default: Describes all your VPCs.
  32727. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  32728. }
  32729. // String returns the string representation
  32730. func (s DescribeVpcsInput) String() string {
  32731. return awsutil.Prettify(s)
  32732. }
  32733. // GoString returns the string representation
  32734. func (s DescribeVpcsInput) GoString() string {
  32735. return s.String()
  32736. }
  32737. // SetDryRun sets the DryRun field's value.
  32738. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  32739. s.DryRun = &v
  32740. return s
  32741. }
  32742. // SetFilters sets the Filters field's value.
  32743. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  32744. s.Filters = v
  32745. return s
  32746. }
  32747. // SetVpcIds sets the VpcIds field's value.
  32748. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  32749. s.VpcIds = v
  32750. return s
  32751. }
  32752. // Contains the output of DescribeVpcs.
  32753. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsResult
  32754. type DescribeVpcsOutput struct {
  32755. _ struct{} `type:"structure"`
  32756. // Information about one or more VPCs.
  32757. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  32758. }
  32759. // String returns the string representation
  32760. func (s DescribeVpcsOutput) String() string {
  32761. return awsutil.Prettify(s)
  32762. }
  32763. // GoString returns the string representation
  32764. func (s DescribeVpcsOutput) GoString() string {
  32765. return s.String()
  32766. }
  32767. // SetVpcs sets the Vpcs field's value.
  32768. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  32769. s.Vpcs = v
  32770. return s
  32771. }
  32772. // Contains the parameters for DescribeVpnConnections.
  32773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsRequest
  32774. type DescribeVpnConnectionsInput struct {
  32775. _ struct{} `type:"structure"`
  32776. // Checks whether you have the required permissions for the action, without
  32777. // actually making the request, and provides an error response. If you have
  32778. // the required permissions, the error response is DryRunOperation. Otherwise,
  32779. // it is UnauthorizedOperation.
  32780. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32781. // One or more filters.
  32782. //
  32783. // * customer-gateway-configuration - The configuration information for the
  32784. // customer gateway.
  32785. //
  32786. // * customer-gateway-id - The ID of a customer gateway associated with the
  32787. // VPN connection.
  32788. //
  32789. // * state - The state of the VPN connection (pending | available | deleting
  32790. // | deleted).
  32791. //
  32792. // * option.static-routes-only - Indicates whether the connection has static
  32793. // routes only. Used for devices that do not support Border Gateway Protocol
  32794. // (BGP).
  32795. //
  32796. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  32797. // to the subnet used in a customer data center.
  32798. //
  32799. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  32800. // device.
  32801. //
  32802. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32803. // Specify the key of the tag in the filter name and the value of the tag
  32804. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32805. // for the filter name and X for the filter value.
  32806. //
  32807. // * tag-key - The key of a tag assigned to the resource. This filter is
  32808. // independent of the tag-value filter. For example, if you use both the
  32809. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32810. // assigned both the tag key Purpose (regardless of what the tag's value
  32811. // is), and the tag value X (regardless of what the tag's key is). If you
  32812. // want to list only resources where Purpose is X, see the tag:key=value
  32813. // filter.
  32814. //
  32815. // * tag-value - The value of a tag assigned to the resource. This filter
  32816. // is independent of the tag-key filter.
  32817. //
  32818. // * type - The type of VPN connection. Currently the only supported type
  32819. // is ipsec.1.
  32820. //
  32821. // * vpn-connection-id - The ID of the VPN connection.
  32822. //
  32823. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  32824. // the VPN connection.
  32825. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32826. // One or more VPN connection IDs.
  32827. //
  32828. // Default: Describes your VPN connections.
  32829. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  32830. }
  32831. // String returns the string representation
  32832. func (s DescribeVpnConnectionsInput) String() string {
  32833. return awsutil.Prettify(s)
  32834. }
  32835. // GoString returns the string representation
  32836. func (s DescribeVpnConnectionsInput) GoString() string {
  32837. return s.String()
  32838. }
  32839. // SetDryRun sets the DryRun field's value.
  32840. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  32841. s.DryRun = &v
  32842. return s
  32843. }
  32844. // SetFilters sets the Filters field's value.
  32845. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  32846. s.Filters = v
  32847. return s
  32848. }
  32849. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  32850. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  32851. s.VpnConnectionIds = v
  32852. return s
  32853. }
  32854. // Contains the output of DescribeVpnConnections.
  32855. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsResult
  32856. type DescribeVpnConnectionsOutput struct {
  32857. _ struct{} `type:"structure"`
  32858. // Information about one or more VPN connections.
  32859. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  32860. }
  32861. // String returns the string representation
  32862. func (s DescribeVpnConnectionsOutput) String() string {
  32863. return awsutil.Prettify(s)
  32864. }
  32865. // GoString returns the string representation
  32866. func (s DescribeVpnConnectionsOutput) GoString() string {
  32867. return s.String()
  32868. }
  32869. // SetVpnConnections sets the VpnConnections field's value.
  32870. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  32871. s.VpnConnections = v
  32872. return s
  32873. }
  32874. // Contains the parameters for DescribeVpnGateways.
  32875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysRequest
  32876. type DescribeVpnGatewaysInput struct {
  32877. _ struct{} `type:"structure"`
  32878. // Checks whether you have the required permissions for the action, without
  32879. // actually making the request, and provides an error response. If you have
  32880. // the required permissions, the error response is DryRunOperation. Otherwise,
  32881. // it is UnauthorizedOperation.
  32882. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32883. // One or more filters.
  32884. //
  32885. // * attachment.state - The current state of the attachment between the gateway
  32886. // and the VPC (attaching | attached | detaching | detached).
  32887. //
  32888. // * attachment.vpc-id - The ID of an attached VPC.
  32889. //
  32890. // * availability-zone - The Availability Zone for the virtual private gateway
  32891. // (if applicable).
  32892. //
  32893. // * state - The state of the virtual private gateway (pending | available
  32894. // | deleting | deleted).
  32895. //
  32896. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  32897. // Specify the key of the tag in the filter name and the value of the tag
  32898. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  32899. // for the filter name and X for the filter value.
  32900. //
  32901. // * tag-key - The key of a tag assigned to the resource. This filter is
  32902. // independent of the tag-value filter. For example, if you use both the
  32903. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  32904. // assigned both the tag key Purpose (regardless of what the tag's value
  32905. // is), and the tag value X (regardless of what the tag's key is). If you
  32906. // want to list only resources where Purpose is X, see the tag:key=value
  32907. // filter.
  32908. //
  32909. // * tag-value - The value of a tag assigned to the resource. This filter
  32910. // is independent of the tag-key filter.
  32911. //
  32912. // * type - The type of virtual private gateway. Currently the only supported
  32913. // type is ipsec.1.
  32914. //
  32915. // * vpn-gateway-id - The ID of the virtual private gateway.
  32916. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  32917. // One or more virtual private gateway IDs.
  32918. //
  32919. // Default: Describes all your virtual private gateways.
  32920. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  32921. }
  32922. // String returns the string representation
  32923. func (s DescribeVpnGatewaysInput) String() string {
  32924. return awsutil.Prettify(s)
  32925. }
  32926. // GoString returns the string representation
  32927. func (s DescribeVpnGatewaysInput) GoString() string {
  32928. return s.String()
  32929. }
  32930. // SetDryRun sets the DryRun field's value.
  32931. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  32932. s.DryRun = &v
  32933. return s
  32934. }
  32935. // SetFilters sets the Filters field's value.
  32936. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  32937. s.Filters = v
  32938. return s
  32939. }
  32940. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  32941. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  32942. s.VpnGatewayIds = v
  32943. return s
  32944. }
  32945. // Contains the output of DescribeVpnGateways.
  32946. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysResult
  32947. type DescribeVpnGatewaysOutput struct {
  32948. _ struct{} `type:"structure"`
  32949. // Information about one or more virtual private gateways.
  32950. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  32951. }
  32952. // String returns the string representation
  32953. func (s DescribeVpnGatewaysOutput) String() string {
  32954. return awsutil.Prettify(s)
  32955. }
  32956. // GoString returns the string representation
  32957. func (s DescribeVpnGatewaysOutput) GoString() string {
  32958. return s.String()
  32959. }
  32960. // SetVpnGateways sets the VpnGateways field's value.
  32961. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  32962. s.VpnGateways = v
  32963. return s
  32964. }
  32965. // Contains the parameters for DetachClassicLinkVpc.
  32966. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcRequest
  32967. type DetachClassicLinkVpcInput struct {
  32968. _ struct{} `type:"structure"`
  32969. // Checks whether you have the required permissions for the action, without
  32970. // actually making the request, and provides an error response. If you have
  32971. // the required permissions, the error response is DryRunOperation. Otherwise,
  32972. // it is UnauthorizedOperation.
  32973. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32974. // The ID of the instance to unlink from the VPC.
  32975. //
  32976. // InstanceId is a required field
  32977. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  32978. // The ID of the VPC to which the instance is linked.
  32979. //
  32980. // VpcId is a required field
  32981. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32982. }
  32983. // String returns the string representation
  32984. func (s DetachClassicLinkVpcInput) String() string {
  32985. return awsutil.Prettify(s)
  32986. }
  32987. // GoString returns the string representation
  32988. func (s DetachClassicLinkVpcInput) GoString() string {
  32989. return s.String()
  32990. }
  32991. // Validate inspects the fields of the type to determine if they are valid.
  32992. func (s *DetachClassicLinkVpcInput) Validate() error {
  32993. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  32994. if s.InstanceId == nil {
  32995. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  32996. }
  32997. if s.VpcId == nil {
  32998. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32999. }
  33000. if invalidParams.Len() > 0 {
  33001. return invalidParams
  33002. }
  33003. return nil
  33004. }
  33005. // SetDryRun sets the DryRun field's value.
  33006. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  33007. s.DryRun = &v
  33008. return s
  33009. }
  33010. // SetInstanceId sets the InstanceId field's value.
  33011. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  33012. s.InstanceId = &v
  33013. return s
  33014. }
  33015. // SetVpcId sets the VpcId field's value.
  33016. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  33017. s.VpcId = &v
  33018. return s
  33019. }
  33020. // Contains the output of DetachClassicLinkVpc.
  33021. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcResult
  33022. type DetachClassicLinkVpcOutput struct {
  33023. _ struct{} `type:"structure"`
  33024. // Returns true if the request succeeds; otherwise, it returns an error.
  33025. Return *bool `locationName:"return" type:"boolean"`
  33026. }
  33027. // String returns the string representation
  33028. func (s DetachClassicLinkVpcOutput) String() string {
  33029. return awsutil.Prettify(s)
  33030. }
  33031. // GoString returns the string representation
  33032. func (s DetachClassicLinkVpcOutput) GoString() string {
  33033. return s.String()
  33034. }
  33035. // SetReturn sets the Return field's value.
  33036. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  33037. s.Return = &v
  33038. return s
  33039. }
  33040. // Contains the parameters for DetachInternetGateway.
  33041. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayRequest
  33042. type DetachInternetGatewayInput struct {
  33043. _ struct{} `type:"structure"`
  33044. // Checks whether you have the required permissions for the action, without
  33045. // actually making the request, and provides an error response. If you have
  33046. // the required permissions, the error response is DryRunOperation. Otherwise,
  33047. // it is UnauthorizedOperation.
  33048. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33049. // The ID of the Internet gateway.
  33050. //
  33051. // InternetGatewayId is a required field
  33052. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  33053. // The ID of the VPC.
  33054. //
  33055. // VpcId is a required field
  33056. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  33057. }
  33058. // String returns the string representation
  33059. func (s DetachInternetGatewayInput) String() string {
  33060. return awsutil.Prettify(s)
  33061. }
  33062. // GoString returns the string representation
  33063. func (s DetachInternetGatewayInput) GoString() string {
  33064. return s.String()
  33065. }
  33066. // Validate inspects the fields of the type to determine if they are valid.
  33067. func (s *DetachInternetGatewayInput) Validate() error {
  33068. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  33069. if s.InternetGatewayId == nil {
  33070. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  33071. }
  33072. if s.VpcId == nil {
  33073. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33074. }
  33075. if invalidParams.Len() > 0 {
  33076. return invalidParams
  33077. }
  33078. return nil
  33079. }
  33080. // SetDryRun sets the DryRun field's value.
  33081. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  33082. s.DryRun = &v
  33083. return s
  33084. }
  33085. // SetInternetGatewayId sets the InternetGatewayId field's value.
  33086. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  33087. s.InternetGatewayId = &v
  33088. return s
  33089. }
  33090. // SetVpcId sets the VpcId field's value.
  33091. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  33092. s.VpcId = &v
  33093. return s
  33094. }
  33095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayOutput
  33096. type DetachInternetGatewayOutput struct {
  33097. _ struct{} `type:"structure"`
  33098. }
  33099. // String returns the string representation
  33100. func (s DetachInternetGatewayOutput) String() string {
  33101. return awsutil.Prettify(s)
  33102. }
  33103. // GoString returns the string representation
  33104. func (s DetachInternetGatewayOutput) GoString() string {
  33105. return s.String()
  33106. }
  33107. // Contains the parameters for DetachNetworkInterface.
  33108. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceRequest
  33109. type DetachNetworkInterfaceInput struct {
  33110. _ struct{} `type:"structure"`
  33111. // The ID of the attachment.
  33112. //
  33113. // AttachmentId is a required field
  33114. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  33115. // Checks whether you have the required permissions for the action, without
  33116. // actually making the request, and provides an error response. If you have
  33117. // the required permissions, the error response is DryRunOperation. Otherwise,
  33118. // it is UnauthorizedOperation.
  33119. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33120. // Specifies whether to force a detachment.
  33121. Force *bool `locationName:"force" type:"boolean"`
  33122. }
  33123. // String returns the string representation
  33124. func (s DetachNetworkInterfaceInput) String() string {
  33125. return awsutil.Prettify(s)
  33126. }
  33127. // GoString returns the string representation
  33128. func (s DetachNetworkInterfaceInput) GoString() string {
  33129. return s.String()
  33130. }
  33131. // Validate inspects the fields of the type to determine if they are valid.
  33132. func (s *DetachNetworkInterfaceInput) Validate() error {
  33133. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  33134. if s.AttachmentId == nil {
  33135. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  33136. }
  33137. if invalidParams.Len() > 0 {
  33138. return invalidParams
  33139. }
  33140. return nil
  33141. }
  33142. // SetAttachmentId sets the AttachmentId field's value.
  33143. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  33144. s.AttachmentId = &v
  33145. return s
  33146. }
  33147. // SetDryRun sets the DryRun field's value.
  33148. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  33149. s.DryRun = &v
  33150. return s
  33151. }
  33152. // SetForce sets the Force field's value.
  33153. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  33154. s.Force = &v
  33155. return s
  33156. }
  33157. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceOutput
  33158. type DetachNetworkInterfaceOutput struct {
  33159. _ struct{} `type:"structure"`
  33160. }
  33161. // String returns the string representation
  33162. func (s DetachNetworkInterfaceOutput) String() string {
  33163. return awsutil.Prettify(s)
  33164. }
  33165. // GoString returns the string representation
  33166. func (s DetachNetworkInterfaceOutput) GoString() string {
  33167. return s.String()
  33168. }
  33169. // Contains the parameters for DetachVolume.
  33170. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolumeRequest
  33171. type DetachVolumeInput struct {
  33172. _ struct{} `type:"structure"`
  33173. // The device name.
  33174. Device *string `type:"string"`
  33175. // Checks whether you have the required permissions for the action, without
  33176. // actually making the request, and provides an error response. If you have
  33177. // the required permissions, the error response is DryRunOperation. Otherwise,
  33178. // it is UnauthorizedOperation.
  33179. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33180. // Forces detachment if the previous detachment attempt did not occur cleanly
  33181. // (for example, logging into an instance, unmounting the volume, and detaching
  33182. // normally). This option can lead to data loss or a corrupted file system.
  33183. // Use this option only as a last resort to detach a volume from a failed instance.
  33184. // The instance won't have an opportunity to flush file system caches or file
  33185. // system metadata. If you use this option, you must perform file system check
  33186. // and repair procedures.
  33187. Force *bool `type:"boolean"`
  33188. // The ID of the instance.
  33189. InstanceId *string `type:"string"`
  33190. // The ID of the volume.
  33191. //
  33192. // VolumeId is a required field
  33193. VolumeId *string `type:"string" required:"true"`
  33194. }
  33195. // String returns the string representation
  33196. func (s DetachVolumeInput) String() string {
  33197. return awsutil.Prettify(s)
  33198. }
  33199. // GoString returns the string representation
  33200. func (s DetachVolumeInput) GoString() string {
  33201. return s.String()
  33202. }
  33203. // Validate inspects the fields of the type to determine if they are valid.
  33204. func (s *DetachVolumeInput) Validate() error {
  33205. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  33206. if s.VolumeId == nil {
  33207. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  33208. }
  33209. if invalidParams.Len() > 0 {
  33210. return invalidParams
  33211. }
  33212. return nil
  33213. }
  33214. // SetDevice sets the Device field's value.
  33215. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  33216. s.Device = &v
  33217. return s
  33218. }
  33219. // SetDryRun sets the DryRun field's value.
  33220. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  33221. s.DryRun = &v
  33222. return s
  33223. }
  33224. // SetForce sets the Force field's value.
  33225. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  33226. s.Force = &v
  33227. return s
  33228. }
  33229. // SetInstanceId sets the InstanceId field's value.
  33230. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  33231. s.InstanceId = &v
  33232. return s
  33233. }
  33234. // SetVolumeId sets the VolumeId field's value.
  33235. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  33236. s.VolumeId = &v
  33237. return s
  33238. }
  33239. // Contains the parameters for DetachVpnGateway.
  33240. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayRequest
  33241. type DetachVpnGatewayInput struct {
  33242. _ struct{} `type:"structure"`
  33243. // Checks whether you have the required permissions for the action, without
  33244. // actually making the request, and provides an error response. If you have
  33245. // the required permissions, the error response is DryRunOperation. Otherwise,
  33246. // it is UnauthorizedOperation.
  33247. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33248. // The ID of the VPC.
  33249. //
  33250. // VpcId is a required field
  33251. VpcId *string `type:"string" required:"true"`
  33252. // The ID of the virtual private gateway.
  33253. //
  33254. // VpnGatewayId is a required field
  33255. VpnGatewayId *string `type:"string" required:"true"`
  33256. }
  33257. // String returns the string representation
  33258. func (s DetachVpnGatewayInput) String() string {
  33259. return awsutil.Prettify(s)
  33260. }
  33261. // GoString returns the string representation
  33262. func (s DetachVpnGatewayInput) GoString() string {
  33263. return s.String()
  33264. }
  33265. // Validate inspects the fields of the type to determine if they are valid.
  33266. func (s *DetachVpnGatewayInput) Validate() error {
  33267. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  33268. if s.VpcId == nil {
  33269. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33270. }
  33271. if s.VpnGatewayId == nil {
  33272. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  33273. }
  33274. if invalidParams.Len() > 0 {
  33275. return invalidParams
  33276. }
  33277. return nil
  33278. }
  33279. // SetDryRun sets the DryRun field's value.
  33280. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  33281. s.DryRun = &v
  33282. return s
  33283. }
  33284. // SetVpcId sets the VpcId field's value.
  33285. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  33286. s.VpcId = &v
  33287. return s
  33288. }
  33289. // SetVpnGatewayId sets the VpnGatewayId field's value.
  33290. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  33291. s.VpnGatewayId = &v
  33292. return s
  33293. }
  33294. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayOutput
  33295. type DetachVpnGatewayOutput struct {
  33296. _ struct{} `type:"structure"`
  33297. }
  33298. // String returns the string representation
  33299. func (s DetachVpnGatewayOutput) String() string {
  33300. return awsutil.Prettify(s)
  33301. }
  33302. // GoString returns the string representation
  33303. func (s DetachVpnGatewayOutput) GoString() string {
  33304. return s.String()
  33305. }
  33306. // Describes a DHCP configuration option.
  33307. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpConfiguration
  33308. type DhcpConfiguration struct {
  33309. _ struct{} `type:"structure"`
  33310. // The name of a DHCP option.
  33311. Key *string `locationName:"key" type:"string"`
  33312. // One or more values for the DHCP option.
  33313. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  33314. }
  33315. // String returns the string representation
  33316. func (s DhcpConfiguration) String() string {
  33317. return awsutil.Prettify(s)
  33318. }
  33319. // GoString returns the string representation
  33320. func (s DhcpConfiguration) GoString() string {
  33321. return s.String()
  33322. }
  33323. // SetKey sets the Key field's value.
  33324. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  33325. s.Key = &v
  33326. return s
  33327. }
  33328. // SetValues sets the Values field's value.
  33329. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  33330. s.Values = v
  33331. return s
  33332. }
  33333. // Describes a set of DHCP options.
  33334. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpOptions
  33335. type DhcpOptions struct {
  33336. _ struct{} `type:"structure"`
  33337. // One or more DHCP options in the set.
  33338. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  33339. // The ID of the set of DHCP options.
  33340. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  33341. // Any tags assigned to the DHCP options set.
  33342. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  33343. }
  33344. // String returns the string representation
  33345. func (s DhcpOptions) String() string {
  33346. return awsutil.Prettify(s)
  33347. }
  33348. // GoString returns the string representation
  33349. func (s DhcpOptions) GoString() string {
  33350. return s.String()
  33351. }
  33352. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  33353. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  33354. s.DhcpConfigurations = v
  33355. return s
  33356. }
  33357. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  33358. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  33359. s.DhcpOptionsId = &v
  33360. return s
  33361. }
  33362. // SetTags sets the Tags field's value.
  33363. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  33364. s.Tags = v
  33365. return s
  33366. }
  33367. // Contains the parameters for DisableVgwRoutePropagation.
  33368. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationRequest
  33369. type DisableVgwRoutePropagationInput struct {
  33370. _ struct{} `type:"structure"`
  33371. // The ID of the virtual private gateway.
  33372. //
  33373. // GatewayId is a required field
  33374. GatewayId *string `type:"string" required:"true"`
  33375. // The ID of the route table.
  33376. //
  33377. // RouteTableId is a required field
  33378. RouteTableId *string `type:"string" required:"true"`
  33379. }
  33380. // String returns the string representation
  33381. func (s DisableVgwRoutePropagationInput) String() string {
  33382. return awsutil.Prettify(s)
  33383. }
  33384. // GoString returns the string representation
  33385. func (s DisableVgwRoutePropagationInput) GoString() string {
  33386. return s.String()
  33387. }
  33388. // Validate inspects the fields of the type to determine if they are valid.
  33389. func (s *DisableVgwRoutePropagationInput) Validate() error {
  33390. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  33391. if s.GatewayId == nil {
  33392. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  33393. }
  33394. if s.RouteTableId == nil {
  33395. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  33396. }
  33397. if invalidParams.Len() > 0 {
  33398. return invalidParams
  33399. }
  33400. return nil
  33401. }
  33402. // SetGatewayId sets the GatewayId field's value.
  33403. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  33404. s.GatewayId = &v
  33405. return s
  33406. }
  33407. // SetRouteTableId sets the RouteTableId field's value.
  33408. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  33409. s.RouteTableId = &v
  33410. return s
  33411. }
  33412. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationOutput
  33413. type DisableVgwRoutePropagationOutput struct {
  33414. _ struct{} `type:"structure"`
  33415. }
  33416. // String returns the string representation
  33417. func (s DisableVgwRoutePropagationOutput) String() string {
  33418. return awsutil.Prettify(s)
  33419. }
  33420. // GoString returns the string representation
  33421. func (s DisableVgwRoutePropagationOutput) GoString() string {
  33422. return s.String()
  33423. }
  33424. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  33425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportRequest
  33426. type DisableVpcClassicLinkDnsSupportInput struct {
  33427. _ struct{} `type:"structure"`
  33428. // The ID of the VPC.
  33429. VpcId *string `type:"string"`
  33430. }
  33431. // String returns the string representation
  33432. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  33433. return awsutil.Prettify(s)
  33434. }
  33435. // GoString returns the string representation
  33436. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  33437. return s.String()
  33438. }
  33439. // SetVpcId sets the VpcId field's value.
  33440. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  33441. s.VpcId = &v
  33442. return s
  33443. }
  33444. // Contains the output of DisableVpcClassicLinkDnsSupport.
  33445. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportResult
  33446. type DisableVpcClassicLinkDnsSupportOutput struct {
  33447. _ struct{} `type:"structure"`
  33448. // Returns true if the request succeeds; otherwise, it returns an error.
  33449. Return *bool `locationName:"return" type:"boolean"`
  33450. }
  33451. // String returns the string representation
  33452. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  33453. return awsutil.Prettify(s)
  33454. }
  33455. // GoString returns the string representation
  33456. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  33457. return s.String()
  33458. }
  33459. // SetReturn sets the Return field's value.
  33460. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  33461. s.Return = &v
  33462. return s
  33463. }
  33464. // Contains the parameters for DisableVpcClassicLink.
  33465. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkRequest
  33466. type DisableVpcClassicLinkInput struct {
  33467. _ struct{} `type:"structure"`
  33468. // Checks whether you have the required permissions for the action, without
  33469. // actually making the request, and provides an error response. If you have
  33470. // the required permissions, the error response is DryRunOperation. Otherwise,
  33471. // it is UnauthorizedOperation.
  33472. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33473. // The ID of the VPC.
  33474. //
  33475. // VpcId is a required field
  33476. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  33477. }
  33478. // String returns the string representation
  33479. func (s DisableVpcClassicLinkInput) String() string {
  33480. return awsutil.Prettify(s)
  33481. }
  33482. // GoString returns the string representation
  33483. func (s DisableVpcClassicLinkInput) GoString() string {
  33484. return s.String()
  33485. }
  33486. // Validate inspects the fields of the type to determine if they are valid.
  33487. func (s *DisableVpcClassicLinkInput) Validate() error {
  33488. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  33489. if s.VpcId == nil {
  33490. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33491. }
  33492. if invalidParams.Len() > 0 {
  33493. return invalidParams
  33494. }
  33495. return nil
  33496. }
  33497. // SetDryRun sets the DryRun field's value.
  33498. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  33499. s.DryRun = &v
  33500. return s
  33501. }
  33502. // SetVpcId sets the VpcId field's value.
  33503. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  33504. s.VpcId = &v
  33505. return s
  33506. }
  33507. // Contains the output of DisableVpcClassicLink.
  33508. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkResult
  33509. type DisableVpcClassicLinkOutput struct {
  33510. _ struct{} `type:"structure"`
  33511. // Returns true if the request succeeds; otherwise, it returns an error.
  33512. Return *bool `locationName:"return" type:"boolean"`
  33513. }
  33514. // String returns the string representation
  33515. func (s DisableVpcClassicLinkOutput) String() string {
  33516. return awsutil.Prettify(s)
  33517. }
  33518. // GoString returns the string representation
  33519. func (s DisableVpcClassicLinkOutput) GoString() string {
  33520. return s.String()
  33521. }
  33522. // SetReturn sets the Return field's value.
  33523. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  33524. s.Return = &v
  33525. return s
  33526. }
  33527. // Contains the parameters for DisassociateAddress.
  33528. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressRequest
  33529. type DisassociateAddressInput struct {
  33530. _ struct{} `type:"structure"`
  33531. // [EC2-VPC] The association ID. Required for EC2-VPC.
  33532. AssociationId *string `type:"string"`
  33533. // Checks whether you have the required permissions for the action, without
  33534. // actually making the request, and provides an error response. If you have
  33535. // the required permissions, the error response is DryRunOperation. Otherwise,
  33536. // it is UnauthorizedOperation.
  33537. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33538. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  33539. PublicIp *string `type:"string"`
  33540. }
  33541. // String returns the string representation
  33542. func (s DisassociateAddressInput) String() string {
  33543. return awsutil.Prettify(s)
  33544. }
  33545. // GoString returns the string representation
  33546. func (s DisassociateAddressInput) GoString() string {
  33547. return s.String()
  33548. }
  33549. // SetAssociationId sets the AssociationId field's value.
  33550. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  33551. s.AssociationId = &v
  33552. return s
  33553. }
  33554. // SetDryRun sets the DryRun field's value.
  33555. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  33556. s.DryRun = &v
  33557. return s
  33558. }
  33559. // SetPublicIp sets the PublicIp field's value.
  33560. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  33561. s.PublicIp = &v
  33562. return s
  33563. }
  33564. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressOutput
  33565. type DisassociateAddressOutput struct {
  33566. _ struct{} `type:"structure"`
  33567. }
  33568. // String returns the string representation
  33569. func (s DisassociateAddressOutput) String() string {
  33570. return awsutil.Prettify(s)
  33571. }
  33572. // GoString returns the string representation
  33573. func (s DisassociateAddressOutput) GoString() string {
  33574. return s.String()
  33575. }
  33576. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileRequest
  33577. type DisassociateIamInstanceProfileInput struct {
  33578. _ struct{} `type:"structure"`
  33579. // The ID of the IAM instance profile association.
  33580. //
  33581. // AssociationId is a required field
  33582. AssociationId *string `type:"string" required:"true"`
  33583. }
  33584. // String returns the string representation
  33585. func (s DisassociateIamInstanceProfileInput) String() string {
  33586. return awsutil.Prettify(s)
  33587. }
  33588. // GoString returns the string representation
  33589. func (s DisassociateIamInstanceProfileInput) GoString() string {
  33590. return s.String()
  33591. }
  33592. // Validate inspects the fields of the type to determine if they are valid.
  33593. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  33594. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  33595. if s.AssociationId == nil {
  33596. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  33597. }
  33598. if invalidParams.Len() > 0 {
  33599. return invalidParams
  33600. }
  33601. return nil
  33602. }
  33603. // SetAssociationId sets the AssociationId field's value.
  33604. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  33605. s.AssociationId = &v
  33606. return s
  33607. }
  33608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileResult
  33609. type DisassociateIamInstanceProfileOutput struct {
  33610. _ struct{} `type:"structure"`
  33611. // Information about the IAM instance profile association.
  33612. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  33613. }
  33614. // String returns the string representation
  33615. func (s DisassociateIamInstanceProfileOutput) String() string {
  33616. return awsutil.Prettify(s)
  33617. }
  33618. // GoString returns the string representation
  33619. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  33620. return s.String()
  33621. }
  33622. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  33623. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  33624. s.IamInstanceProfileAssociation = v
  33625. return s
  33626. }
  33627. // Contains the parameters for DisassociateRouteTable.
  33628. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableRequest
  33629. type DisassociateRouteTableInput struct {
  33630. _ struct{} `type:"structure"`
  33631. // The association ID representing the current association between the route
  33632. // table and subnet.
  33633. //
  33634. // AssociationId is a required field
  33635. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  33636. // Checks whether you have the required permissions for the action, without
  33637. // actually making the request, and provides an error response. If you have
  33638. // the required permissions, the error response is DryRunOperation. Otherwise,
  33639. // it is UnauthorizedOperation.
  33640. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33641. }
  33642. // String returns the string representation
  33643. func (s DisassociateRouteTableInput) String() string {
  33644. return awsutil.Prettify(s)
  33645. }
  33646. // GoString returns the string representation
  33647. func (s DisassociateRouteTableInput) GoString() string {
  33648. return s.String()
  33649. }
  33650. // Validate inspects the fields of the type to determine if they are valid.
  33651. func (s *DisassociateRouteTableInput) Validate() error {
  33652. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  33653. if s.AssociationId == nil {
  33654. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  33655. }
  33656. if invalidParams.Len() > 0 {
  33657. return invalidParams
  33658. }
  33659. return nil
  33660. }
  33661. // SetAssociationId sets the AssociationId field's value.
  33662. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  33663. s.AssociationId = &v
  33664. return s
  33665. }
  33666. // SetDryRun sets the DryRun field's value.
  33667. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  33668. s.DryRun = &v
  33669. return s
  33670. }
  33671. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableOutput
  33672. type DisassociateRouteTableOutput struct {
  33673. _ struct{} `type:"structure"`
  33674. }
  33675. // String returns the string representation
  33676. func (s DisassociateRouteTableOutput) String() string {
  33677. return awsutil.Prettify(s)
  33678. }
  33679. // GoString returns the string representation
  33680. func (s DisassociateRouteTableOutput) GoString() string {
  33681. return s.String()
  33682. }
  33683. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockRequest
  33684. type DisassociateSubnetCidrBlockInput struct {
  33685. _ struct{} `type:"structure"`
  33686. // The association ID for the CIDR block.
  33687. //
  33688. // AssociationId is a required field
  33689. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  33690. }
  33691. // String returns the string representation
  33692. func (s DisassociateSubnetCidrBlockInput) String() string {
  33693. return awsutil.Prettify(s)
  33694. }
  33695. // GoString returns the string representation
  33696. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  33697. return s.String()
  33698. }
  33699. // Validate inspects the fields of the type to determine if they are valid.
  33700. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  33701. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  33702. if s.AssociationId == nil {
  33703. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  33704. }
  33705. if invalidParams.Len() > 0 {
  33706. return invalidParams
  33707. }
  33708. return nil
  33709. }
  33710. // SetAssociationId sets the AssociationId field's value.
  33711. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  33712. s.AssociationId = &v
  33713. return s
  33714. }
  33715. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockResult
  33716. type DisassociateSubnetCidrBlockOutput struct {
  33717. _ struct{} `type:"structure"`
  33718. // Information about the IPv6 CIDR block association.
  33719. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  33720. // The ID of the subnet.
  33721. SubnetId *string `locationName:"subnetId" type:"string"`
  33722. }
  33723. // String returns the string representation
  33724. func (s DisassociateSubnetCidrBlockOutput) String() string {
  33725. return awsutil.Prettify(s)
  33726. }
  33727. // GoString returns the string representation
  33728. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  33729. return s.String()
  33730. }
  33731. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  33732. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  33733. s.Ipv6CidrBlockAssociation = v
  33734. return s
  33735. }
  33736. // SetSubnetId sets the SubnetId field's value.
  33737. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  33738. s.SubnetId = &v
  33739. return s
  33740. }
  33741. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockRequest
  33742. type DisassociateVpcCidrBlockInput struct {
  33743. _ struct{} `type:"structure"`
  33744. // The association ID for the CIDR block.
  33745. //
  33746. // AssociationId is a required field
  33747. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  33748. }
  33749. // String returns the string representation
  33750. func (s DisassociateVpcCidrBlockInput) String() string {
  33751. return awsutil.Prettify(s)
  33752. }
  33753. // GoString returns the string representation
  33754. func (s DisassociateVpcCidrBlockInput) GoString() string {
  33755. return s.String()
  33756. }
  33757. // Validate inspects the fields of the type to determine if they are valid.
  33758. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  33759. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  33760. if s.AssociationId == nil {
  33761. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  33762. }
  33763. if invalidParams.Len() > 0 {
  33764. return invalidParams
  33765. }
  33766. return nil
  33767. }
  33768. // SetAssociationId sets the AssociationId field's value.
  33769. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  33770. s.AssociationId = &v
  33771. return s
  33772. }
  33773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockResult
  33774. type DisassociateVpcCidrBlockOutput struct {
  33775. _ struct{} `type:"structure"`
  33776. // Information about the IPv6 CIDR block association.
  33777. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  33778. // The ID of the VPC.
  33779. VpcId *string `locationName:"vpcId" type:"string"`
  33780. }
  33781. // String returns the string representation
  33782. func (s DisassociateVpcCidrBlockOutput) String() string {
  33783. return awsutil.Prettify(s)
  33784. }
  33785. // GoString returns the string representation
  33786. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  33787. return s.String()
  33788. }
  33789. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  33790. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  33791. s.Ipv6CidrBlockAssociation = v
  33792. return s
  33793. }
  33794. // SetVpcId sets the VpcId field's value.
  33795. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  33796. s.VpcId = &v
  33797. return s
  33798. }
  33799. // Describes a disk image.
  33800. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImage
  33801. type DiskImage struct {
  33802. _ struct{} `type:"structure"`
  33803. // A description of the disk image.
  33804. Description *string `type:"string"`
  33805. // Information about the disk image.
  33806. Image *DiskImageDetail `type:"structure"`
  33807. // Information about the volume.
  33808. Volume *VolumeDetail `type:"structure"`
  33809. }
  33810. // String returns the string representation
  33811. func (s DiskImage) String() string {
  33812. return awsutil.Prettify(s)
  33813. }
  33814. // GoString returns the string representation
  33815. func (s DiskImage) GoString() string {
  33816. return s.String()
  33817. }
  33818. // Validate inspects the fields of the type to determine if they are valid.
  33819. func (s *DiskImage) Validate() error {
  33820. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  33821. if s.Image != nil {
  33822. if err := s.Image.Validate(); err != nil {
  33823. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  33824. }
  33825. }
  33826. if s.Volume != nil {
  33827. if err := s.Volume.Validate(); err != nil {
  33828. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  33829. }
  33830. }
  33831. if invalidParams.Len() > 0 {
  33832. return invalidParams
  33833. }
  33834. return nil
  33835. }
  33836. // SetDescription sets the Description field's value.
  33837. func (s *DiskImage) SetDescription(v string) *DiskImage {
  33838. s.Description = &v
  33839. return s
  33840. }
  33841. // SetImage sets the Image field's value.
  33842. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  33843. s.Image = v
  33844. return s
  33845. }
  33846. // SetVolume sets the Volume field's value.
  33847. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  33848. s.Volume = v
  33849. return s
  33850. }
  33851. // Describes a disk image.
  33852. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDescription
  33853. type DiskImageDescription struct {
  33854. _ struct{} `type:"structure"`
  33855. // The checksum computed for the disk image.
  33856. Checksum *string `locationName:"checksum" type:"string"`
  33857. // The disk image format.
  33858. //
  33859. // Format is a required field
  33860. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  33861. // A presigned URL for the import manifest stored in Amazon S3. For information
  33862. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  33863. // Request Authentication Alternative" section of the Authenticating REST Requests
  33864. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  33865. // topic in the Amazon Simple Storage Service Developer Guide.
  33866. //
  33867. // For information about the import manifest referenced by this API action,
  33868. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  33869. //
  33870. // ImportManifestUrl is a required field
  33871. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  33872. // The size of the disk image, in GiB.
  33873. //
  33874. // Size is a required field
  33875. Size *int64 `locationName:"size" type:"long" required:"true"`
  33876. }
  33877. // String returns the string representation
  33878. func (s DiskImageDescription) String() string {
  33879. return awsutil.Prettify(s)
  33880. }
  33881. // GoString returns the string representation
  33882. func (s DiskImageDescription) GoString() string {
  33883. return s.String()
  33884. }
  33885. // SetChecksum sets the Checksum field's value.
  33886. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  33887. s.Checksum = &v
  33888. return s
  33889. }
  33890. // SetFormat sets the Format field's value.
  33891. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  33892. s.Format = &v
  33893. return s
  33894. }
  33895. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  33896. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  33897. s.ImportManifestUrl = &v
  33898. return s
  33899. }
  33900. // SetSize sets the Size field's value.
  33901. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  33902. s.Size = &v
  33903. return s
  33904. }
  33905. // Describes a disk image.
  33906. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDetail
  33907. type DiskImageDetail struct {
  33908. _ struct{} `type:"structure"`
  33909. // The size of the disk image, in GiB.
  33910. //
  33911. // Bytes is a required field
  33912. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  33913. // The disk image format.
  33914. //
  33915. // Format is a required field
  33916. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  33917. // A presigned URL for the import manifest stored in Amazon S3 and presented
  33918. // here as an Amazon S3 presigned URL. For information about creating a presigned
  33919. // URL for an Amazon S3 object, read the "Query String Request Authentication
  33920. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  33921. // topic in the Amazon Simple Storage Service Developer Guide.
  33922. //
  33923. // For information about the import manifest referenced by this API action,
  33924. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  33925. //
  33926. // ImportManifestUrl is a required field
  33927. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  33928. }
  33929. // String returns the string representation
  33930. func (s DiskImageDetail) String() string {
  33931. return awsutil.Prettify(s)
  33932. }
  33933. // GoString returns the string representation
  33934. func (s DiskImageDetail) GoString() string {
  33935. return s.String()
  33936. }
  33937. // Validate inspects the fields of the type to determine if they are valid.
  33938. func (s *DiskImageDetail) Validate() error {
  33939. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  33940. if s.Bytes == nil {
  33941. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  33942. }
  33943. if s.Format == nil {
  33944. invalidParams.Add(request.NewErrParamRequired("Format"))
  33945. }
  33946. if s.ImportManifestUrl == nil {
  33947. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  33948. }
  33949. if invalidParams.Len() > 0 {
  33950. return invalidParams
  33951. }
  33952. return nil
  33953. }
  33954. // SetBytes sets the Bytes field's value.
  33955. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  33956. s.Bytes = &v
  33957. return s
  33958. }
  33959. // SetFormat sets the Format field's value.
  33960. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  33961. s.Format = &v
  33962. return s
  33963. }
  33964. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  33965. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  33966. s.ImportManifestUrl = &v
  33967. return s
  33968. }
  33969. // Describes a disk image volume.
  33970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageVolumeDescription
  33971. type DiskImageVolumeDescription struct {
  33972. _ struct{} `type:"structure"`
  33973. // The volume identifier.
  33974. //
  33975. // Id is a required field
  33976. Id *string `locationName:"id" type:"string" required:"true"`
  33977. // The size of the volume, in GiB.
  33978. Size *int64 `locationName:"size" type:"long"`
  33979. }
  33980. // String returns the string representation
  33981. func (s DiskImageVolumeDescription) String() string {
  33982. return awsutil.Prettify(s)
  33983. }
  33984. // GoString returns the string representation
  33985. func (s DiskImageVolumeDescription) GoString() string {
  33986. return s.String()
  33987. }
  33988. // SetId sets the Id field's value.
  33989. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  33990. s.Id = &v
  33991. return s
  33992. }
  33993. // SetSize sets the Size field's value.
  33994. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  33995. s.Size = &v
  33996. return s
  33997. }
  33998. // Describes a block device for an EBS volume.
  33999. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice
  34000. type EbsBlockDevice struct {
  34001. _ struct{} `type:"structure"`
  34002. // Indicates whether the EBS volume is deleted on instance termination.
  34003. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  34004. // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
  34005. // may only be attached to instances that support Amazon EBS encryption.
  34006. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  34007. // The number of I/O operations per second (IOPS) that the volume supports.
  34008. // For io1, this represents the number of IOPS that are provisioned for the
  34009. // volume. For gp2, this represents the baseline performance of the volume and
  34010. // the rate at which the volume accumulates I/O credits for bursting. For more
  34011. // information about General Purpose SSD baseline performance, I/O credits,
  34012. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  34013. // in the Amazon Elastic Compute Cloud User Guide.
  34014. //
  34015. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  34016. // gp2 volumes.
  34017. //
  34018. // Condition: This parameter is required for requests to create io1 volumes;
  34019. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  34020. Iops *int64 `locationName:"iops" type:"integer"`
  34021. // The ID of the snapshot.
  34022. SnapshotId *string `locationName:"snapshotId" type:"string"`
  34023. // The size of the volume, in GiB.
  34024. //
  34025. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  34026. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  34027. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  34028. // a snapshot, the volume size must be equal to or larger than the snapshot
  34029. // size.
  34030. //
  34031. // Default: If you're creating the volume from a snapshot and don't specify
  34032. // a volume size, the default is the snapshot size.
  34033. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  34034. // The volume type: gp2, io1, st1, sc1, or standard.
  34035. //
  34036. // Default: standard
  34037. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  34038. }
  34039. // String returns the string representation
  34040. func (s EbsBlockDevice) String() string {
  34041. return awsutil.Prettify(s)
  34042. }
  34043. // GoString returns the string representation
  34044. func (s EbsBlockDevice) GoString() string {
  34045. return s.String()
  34046. }
  34047. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  34048. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  34049. s.DeleteOnTermination = &v
  34050. return s
  34051. }
  34052. // SetEncrypted sets the Encrypted field's value.
  34053. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  34054. s.Encrypted = &v
  34055. return s
  34056. }
  34057. // SetIops sets the Iops field's value.
  34058. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  34059. s.Iops = &v
  34060. return s
  34061. }
  34062. // SetSnapshotId sets the SnapshotId field's value.
  34063. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  34064. s.SnapshotId = &v
  34065. return s
  34066. }
  34067. // SetVolumeSize sets the VolumeSize field's value.
  34068. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  34069. s.VolumeSize = &v
  34070. return s
  34071. }
  34072. // SetVolumeType sets the VolumeType field's value.
  34073. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  34074. s.VolumeType = &v
  34075. return s
  34076. }
  34077. // Describes a parameter used to set up an EBS volume in a block device mapping.
  34078. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDevice
  34079. type EbsInstanceBlockDevice struct {
  34080. _ struct{} `type:"structure"`
  34081. // The time stamp when the attachment initiated.
  34082. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  34083. // Indicates whether the volume is deleted on instance termination.
  34084. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  34085. // The attachment state.
  34086. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  34087. // The ID of the EBS volume.
  34088. VolumeId *string `locationName:"volumeId" type:"string"`
  34089. }
  34090. // String returns the string representation
  34091. func (s EbsInstanceBlockDevice) String() string {
  34092. return awsutil.Prettify(s)
  34093. }
  34094. // GoString returns the string representation
  34095. func (s EbsInstanceBlockDevice) GoString() string {
  34096. return s.String()
  34097. }
  34098. // SetAttachTime sets the AttachTime field's value.
  34099. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  34100. s.AttachTime = &v
  34101. return s
  34102. }
  34103. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  34104. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  34105. s.DeleteOnTermination = &v
  34106. return s
  34107. }
  34108. // SetStatus sets the Status field's value.
  34109. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  34110. s.Status = &v
  34111. return s
  34112. }
  34113. // SetVolumeId sets the VolumeId field's value.
  34114. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  34115. s.VolumeId = &v
  34116. return s
  34117. }
  34118. // Describes information used to set up an EBS volume specified in a block device
  34119. // mapping.
  34120. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDeviceSpecification
  34121. type EbsInstanceBlockDeviceSpecification struct {
  34122. _ struct{} `type:"structure"`
  34123. // Indicates whether the volume is deleted on instance termination.
  34124. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  34125. // The ID of the EBS volume.
  34126. VolumeId *string `locationName:"volumeId" type:"string"`
  34127. }
  34128. // String returns the string representation
  34129. func (s EbsInstanceBlockDeviceSpecification) String() string {
  34130. return awsutil.Prettify(s)
  34131. }
  34132. // GoString returns the string representation
  34133. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  34134. return s.String()
  34135. }
  34136. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  34137. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  34138. s.DeleteOnTermination = &v
  34139. return s
  34140. }
  34141. // SetVolumeId sets the VolumeId field's value.
  34142. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  34143. s.VolumeId = &v
  34144. return s
  34145. }
  34146. // Describes an egress-only Internet gateway.
  34147. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EgressOnlyInternetGateway
  34148. type EgressOnlyInternetGateway struct {
  34149. _ struct{} `type:"structure"`
  34150. // Information about the attachment of the egress-only Internet gateway.
  34151. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  34152. // The ID of the egress-only Internet gateway.
  34153. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  34154. }
  34155. // String returns the string representation
  34156. func (s EgressOnlyInternetGateway) String() string {
  34157. return awsutil.Prettify(s)
  34158. }
  34159. // GoString returns the string representation
  34160. func (s EgressOnlyInternetGateway) GoString() string {
  34161. return s.String()
  34162. }
  34163. // SetAttachments sets the Attachments field's value.
  34164. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  34165. s.Attachments = v
  34166. return s
  34167. }
  34168. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  34169. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  34170. s.EgressOnlyInternetGatewayId = &v
  34171. return s
  34172. }
  34173. // Describes the association between an instance and an Elastic GPU.
  34174. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuAssociation
  34175. type ElasticGpuAssociation struct {
  34176. _ struct{} `type:"structure"`
  34177. // The ID of the association.
  34178. ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
  34179. // The state of the association between the instance and the Elastic GPU.
  34180. ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
  34181. // The time the Elastic GPU was associated with the instance.
  34182. ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
  34183. // The ID of the Elastic GPU.
  34184. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  34185. }
  34186. // String returns the string representation
  34187. func (s ElasticGpuAssociation) String() string {
  34188. return awsutil.Prettify(s)
  34189. }
  34190. // GoString returns the string representation
  34191. func (s ElasticGpuAssociation) GoString() string {
  34192. return s.String()
  34193. }
  34194. // SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
  34195. func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
  34196. s.ElasticGpuAssociationId = &v
  34197. return s
  34198. }
  34199. // SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
  34200. func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
  34201. s.ElasticGpuAssociationState = &v
  34202. return s
  34203. }
  34204. // SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
  34205. func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
  34206. s.ElasticGpuAssociationTime = &v
  34207. return s
  34208. }
  34209. // SetElasticGpuId sets the ElasticGpuId field's value.
  34210. func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
  34211. s.ElasticGpuId = &v
  34212. return s
  34213. }
  34214. // Describes the status of an Elastic GPU.
  34215. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuHealth
  34216. type ElasticGpuHealth struct {
  34217. _ struct{} `type:"structure"`
  34218. // The health status.
  34219. Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
  34220. }
  34221. // String returns the string representation
  34222. func (s ElasticGpuHealth) String() string {
  34223. return awsutil.Prettify(s)
  34224. }
  34225. // GoString returns the string representation
  34226. func (s ElasticGpuHealth) GoString() string {
  34227. return s.String()
  34228. }
  34229. // SetStatus sets the Status field's value.
  34230. func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
  34231. s.Status = &v
  34232. return s
  34233. }
  34234. // A specification for an Elastic GPU.
  34235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpuSpecification
  34236. type ElasticGpuSpecification struct {
  34237. _ struct{} `type:"structure"`
  34238. // The type of Elastic GPU.
  34239. //
  34240. // Type is a required field
  34241. Type *string `type:"string" required:"true"`
  34242. }
  34243. // String returns the string representation
  34244. func (s ElasticGpuSpecification) String() string {
  34245. return awsutil.Prettify(s)
  34246. }
  34247. // GoString returns the string representation
  34248. func (s ElasticGpuSpecification) GoString() string {
  34249. return s.String()
  34250. }
  34251. // Validate inspects the fields of the type to determine if they are valid.
  34252. func (s *ElasticGpuSpecification) Validate() error {
  34253. invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
  34254. if s.Type == nil {
  34255. invalidParams.Add(request.NewErrParamRequired("Type"))
  34256. }
  34257. if invalidParams.Len() > 0 {
  34258. return invalidParams
  34259. }
  34260. return nil
  34261. }
  34262. // SetType sets the Type field's value.
  34263. func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
  34264. s.Type = &v
  34265. return s
  34266. }
  34267. // Describes an Elastic GPU.
  34268. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ElasticGpus
  34269. type ElasticGpus struct {
  34270. _ struct{} `type:"structure"`
  34271. // The Availability Zone in the which the Elastic GPU resides.
  34272. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  34273. // The status of the Elastic GPU.
  34274. ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
  34275. // The ID of the Elastic GPU.
  34276. ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
  34277. // The state of the Elastic GPU.
  34278. ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
  34279. // The type of Elastic GPU.
  34280. ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
  34281. // The ID of the instance to which the Elastic GPU is attached.
  34282. InstanceId *string `locationName:"instanceId" type:"string"`
  34283. }
  34284. // String returns the string representation
  34285. func (s ElasticGpus) String() string {
  34286. return awsutil.Prettify(s)
  34287. }
  34288. // GoString returns the string representation
  34289. func (s ElasticGpus) GoString() string {
  34290. return s.String()
  34291. }
  34292. // SetAvailabilityZone sets the AvailabilityZone field's value.
  34293. func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
  34294. s.AvailabilityZone = &v
  34295. return s
  34296. }
  34297. // SetElasticGpuHealth sets the ElasticGpuHealth field's value.
  34298. func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
  34299. s.ElasticGpuHealth = v
  34300. return s
  34301. }
  34302. // SetElasticGpuId sets the ElasticGpuId field's value.
  34303. func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
  34304. s.ElasticGpuId = &v
  34305. return s
  34306. }
  34307. // SetElasticGpuState sets the ElasticGpuState field's value.
  34308. func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
  34309. s.ElasticGpuState = &v
  34310. return s
  34311. }
  34312. // SetElasticGpuType sets the ElasticGpuType field's value.
  34313. func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
  34314. s.ElasticGpuType = &v
  34315. return s
  34316. }
  34317. // SetInstanceId sets the InstanceId field's value.
  34318. func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
  34319. s.InstanceId = &v
  34320. return s
  34321. }
  34322. // Contains the parameters for EnableVgwRoutePropagation.
  34323. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationRequest
  34324. type EnableVgwRoutePropagationInput struct {
  34325. _ struct{} `type:"structure"`
  34326. // The ID of the virtual private gateway.
  34327. //
  34328. // GatewayId is a required field
  34329. GatewayId *string `type:"string" required:"true"`
  34330. // The ID of the route table.
  34331. //
  34332. // RouteTableId is a required field
  34333. RouteTableId *string `type:"string" required:"true"`
  34334. }
  34335. // String returns the string representation
  34336. func (s EnableVgwRoutePropagationInput) String() string {
  34337. return awsutil.Prettify(s)
  34338. }
  34339. // GoString returns the string representation
  34340. func (s EnableVgwRoutePropagationInput) GoString() string {
  34341. return s.String()
  34342. }
  34343. // Validate inspects the fields of the type to determine if they are valid.
  34344. func (s *EnableVgwRoutePropagationInput) Validate() error {
  34345. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  34346. if s.GatewayId == nil {
  34347. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  34348. }
  34349. if s.RouteTableId == nil {
  34350. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  34351. }
  34352. if invalidParams.Len() > 0 {
  34353. return invalidParams
  34354. }
  34355. return nil
  34356. }
  34357. // SetGatewayId sets the GatewayId field's value.
  34358. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  34359. s.GatewayId = &v
  34360. return s
  34361. }
  34362. // SetRouteTableId sets the RouteTableId field's value.
  34363. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  34364. s.RouteTableId = &v
  34365. return s
  34366. }
  34367. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationOutput
  34368. type EnableVgwRoutePropagationOutput struct {
  34369. _ struct{} `type:"structure"`
  34370. }
  34371. // String returns the string representation
  34372. func (s EnableVgwRoutePropagationOutput) String() string {
  34373. return awsutil.Prettify(s)
  34374. }
  34375. // GoString returns the string representation
  34376. func (s EnableVgwRoutePropagationOutput) GoString() string {
  34377. return s.String()
  34378. }
  34379. // Contains the parameters for EnableVolumeIO.
  34380. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIORequest
  34381. type EnableVolumeIOInput struct {
  34382. _ struct{} `type:"structure"`
  34383. // Checks whether you have the required permissions for the action, without
  34384. // actually making the request, and provides an error response. If you have
  34385. // the required permissions, the error response is DryRunOperation. Otherwise,
  34386. // it is UnauthorizedOperation.
  34387. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34388. // The ID of the volume.
  34389. //
  34390. // VolumeId is a required field
  34391. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  34392. }
  34393. // String returns the string representation
  34394. func (s EnableVolumeIOInput) String() string {
  34395. return awsutil.Prettify(s)
  34396. }
  34397. // GoString returns the string representation
  34398. func (s EnableVolumeIOInput) GoString() string {
  34399. return s.String()
  34400. }
  34401. // Validate inspects the fields of the type to determine if they are valid.
  34402. func (s *EnableVolumeIOInput) Validate() error {
  34403. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  34404. if s.VolumeId == nil {
  34405. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  34406. }
  34407. if invalidParams.Len() > 0 {
  34408. return invalidParams
  34409. }
  34410. return nil
  34411. }
  34412. // SetDryRun sets the DryRun field's value.
  34413. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  34414. s.DryRun = &v
  34415. return s
  34416. }
  34417. // SetVolumeId sets the VolumeId field's value.
  34418. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  34419. s.VolumeId = &v
  34420. return s
  34421. }
  34422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIOOutput
  34423. type EnableVolumeIOOutput struct {
  34424. _ struct{} `type:"structure"`
  34425. }
  34426. // String returns the string representation
  34427. func (s EnableVolumeIOOutput) String() string {
  34428. return awsutil.Prettify(s)
  34429. }
  34430. // GoString returns the string representation
  34431. func (s EnableVolumeIOOutput) GoString() string {
  34432. return s.String()
  34433. }
  34434. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  34435. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportRequest
  34436. type EnableVpcClassicLinkDnsSupportInput struct {
  34437. _ struct{} `type:"structure"`
  34438. // The ID of the VPC.
  34439. VpcId *string `type:"string"`
  34440. }
  34441. // String returns the string representation
  34442. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  34443. return awsutil.Prettify(s)
  34444. }
  34445. // GoString returns the string representation
  34446. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  34447. return s.String()
  34448. }
  34449. // SetVpcId sets the VpcId field's value.
  34450. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  34451. s.VpcId = &v
  34452. return s
  34453. }
  34454. // Contains the output of EnableVpcClassicLinkDnsSupport.
  34455. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportResult
  34456. type EnableVpcClassicLinkDnsSupportOutput struct {
  34457. _ struct{} `type:"structure"`
  34458. // Returns true if the request succeeds; otherwise, it returns an error.
  34459. Return *bool `locationName:"return" type:"boolean"`
  34460. }
  34461. // String returns the string representation
  34462. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  34463. return awsutil.Prettify(s)
  34464. }
  34465. // GoString returns the string representation
  34466. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  34467. return s.String()
  34468. }
  34469. // SetReturn sets the Return field's value.
  34470. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  34471. s.Return = &v
  34472. return s
  34473. }
  34474. // Contains the parameters for EnableVpcClassicLink.
  34475. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkRequest
  34476. type EnableVpcClassicLinkInput struct {
  34477. _ struct{} `type:"structure"`
  34478. // Checks whether you have the required permissions for the action, without
  34479. // actually making the request, and provides an error response. If you have
  34480. // the required permissions, the error response is DryRunOperation. Otherwise,
  34481. // it is UnauthorizedOperation.
  34482. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34483. // The ID of the VPC.
  34484. //
  34485. // VpcId is a required field
  34486. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  34487. }
  34488. // String returns the string representation
  34489. func (s EnableVpcClassicLinkInput) String() string {
  34490. return awsutil.Prettify(s)
  34491. }
  34492. // GoString returns the string representation
  34493. func (s EnableVpcClassicLinkInput) GoString() string {
  34494. return s.String()
  34495. }
  34496. // Validate inspects the fields of the type to determine if they are valid.
  34497. func (s *EnableVpcClassicLinkInput) Validate() error {
  34498. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  34499. if s.VpcId == nil {
  34500. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  34501. }
  34502. if invalidParams.Len() > 0 {
  34503. return invalidParams
  34504. }
  34505. return nil
  34506. }
  34507. // SetDryRun sets the DryRun field's value.
  34508. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  34509. s.DryRun = &v
  34510. return s
  34511. }
  34512. // SetVpcId sets the VpcId field's value.
  34513. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  34514. s.VpcId = &v
  34515. return s
  34516. }
  34517. // Contains the output of EnableVpcClassicLink.
  34518. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkResult
  34519. type EnableVpcClassicLinkOutput struct {
  34520. _ struct{} `type:"structure"`
  34521. // Returns true if the request succeeds; otherwise, it returns an error.
  34522. Return *bool `locationName:"return" type:"boolean"`
  34523. }
  34524. // String returns the string representation
  34525. func (s EnableVpcClassicLinkOutput) String() string {
  34526. return awsutil.Prettify(s)
  34527. }
  34528. // GoString returns the string representation
  34529. func (s EnableVpcClassicLinkOutput) GoString() string {
  34530. return s.String()
  34531. }
  34532. // SetReturn sets the Return field's value.
  34533. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  34534. s.Return = &v
  34535. return s
  34536. }
  34537. // Describes a Spot fleet event.
  34538. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EventInformation
  34539. type EventInformation struct {
  34540. _ struct{} `type:"structure"`
  34541. // The description of the event.
  34542. EventDescription *string `locationName:"eventDescription" type:"string"`
  34543. // The event.
  34544. //
  34545. // The following are the error events.
  34546. //
  34547. // * iamFleetRoleInvalid - The Spot fleet did not have the required permissions
  34548. // either to launch or terminate an instance.
  34549. //
  34550. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  34551. // several attempts to launch instances have failed. For more information,
  34552. // see the description of the event.
  34553. //
  34554. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  34555. // For more information, see the description of the event.
  34556. //
  34557. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  34558. // of Spot instances that you can launch.
  34559. //
  34560. // The following are the fleetRequestChange events.
  34561. //
  34562. // * active - The Spot fleet has been validated and Amazon EC2 is attempting
  34563. // to maintain the target number of running Spot instances.
  34564. //
  34565. // * cancelled - The Spot fleet is canceled and has no running Spot instances.
  34566. // The Spot fleet will be deleted two days after its instances were terminated.
  34567. //
  34568. // * cancelled_running - The Spot fleet is canceled and will not launch additional
  34569. // Spot instances, but its existing Spot instances continue to run until
  34570. // they are interrupted or terminated.
  34571. //
  34572. // * cancelled_terminating - The Spot fleet is canceled and its Spot instances
  34573. // are terminating.
  34574. //
  34575. // * expired - The Spot fleet request has expired. A subsequent event indicates
  34576. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  34577. // set.
  34578. //
  34579. // * modify_in_progress - A request to modify the Spot fleet request was
  34580. // accepted and is in progress.
  34581. //
  34582. // * modify_successful - The Spot fleet request was modified.
  34583. //
  34584. // * price_update - The bid price for a launch configuration was adjusted
  34585. // because it was too high. This change is permanent.
  34586. //
  34587. // * submitted - The Spot fleet request is being evaluated and Amazon EC2
  34588. // is preparing to launch the target number of Spot instances.
  34589. //
  34590. // The following are the instanceChange events.
  34591. //
  34592. // * launched - A bid was fulfilled and a new instance was launched.
  34593. //
  34594. // * terminated - An instance was terminated by the user.
  34595. EventSubType *string `locationName:"eventSubType" type:"string"`
  34596. // The ID of the instance. This information is available only for instanceChange
  34597. // events.
  34598. InstanceId *string `locationName:"instanceId" type:"string"`
  34599. }
  34600. // String returns the string representation
  34601. func (s EventInformation) String() string {
  34602. return awsutil.Prettify(s)
  34603. }
  34604. // GoString returns the string representation
  34605. func (s EventInformation) GoString() string {
  34606. return s.String()
  34607. }
  34608. // SetEventDescription sets the EventDescription field's value.
  34609. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  34610. s.EventDescription = &v
  34611. return s
  34612. }
  34613. // SetEventSubType sets the EventSubType field's value.
  34614. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  34615. s.EventSubType = &v
  34616. return s
  34617. }
  34618. // SetInstanceId sets the InstanceId field's value.
  34619. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  34620. s.InstanceId = &v
  34621. return s
  34622. }
  34623. // Describes an instance export task.
  34624. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTask
  34625. type ExportTask struct {
  34626. _ struct{} `type:"structure"`
  34627. // A description of the resource being exported.
  34628. Description *string `locationName:"description" type:"string"`
  34629. // The ID of the export task.
  34630. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  34631. // Information about the export task.
  34632. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  34633. // Information about the instance to export.
  34634. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  34635. // The state of the export task.
  34636. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  34637. // The status message related to the export task.
  34638. StatusMessage *string `locationName:"statusMessage" type:"string"`
  34639. }
  34640. // String returns the string representation
  34641. func (s ExportTask) String() string {
  34642. return awsutil.Prettify(s)
  34643. }
  34644. // GoString returns the string representation
  34645. func (s ExportTask) GoString() string {
  34646. return s.String()
  34647. }
  34648. // SetDescription sets the Description field's value.
  34649. func (s *ExportTask) SetDescription(v string) *ExportTask {
  34650. s.Description = &v
  34651. return s
  34652. }
  34653. // SetExportTaskId sets the ExportTaskId field's value.
  34654. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  34655. s.ExportTaskId = &v
  34656. return s
  34657. }
  34658. // SetExportToS3Task sets the ExportToS3Task field's value.
  34659. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  34660. s.ExportToS3Task = v
  34661. return s
  34662. }
  34663. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  34664. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  34665. s.InstanceExportDetails = v
  34666. return s
  34667. }
  34668. // SetState sets the State field's value.
  34669. func (s *ExportTask) SetState(v string) *ExportTask {
  34670. s.State = &v
  34671. return s
  34672. }
  34673. // SetStatusMessage sets the StatusMessage field's value.
  34674. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  34675. s.StatusMessage = &v
  34676. return s
  34677. }
  34678. // Describes the format and location for an instance export task.
  34679. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3Task
  34680. type ExportToS3Task struct {
  34681. _ struct{} `type:"structure"`
  34682. // The container format used to combine disk images with metadata (such as OVF).
  34683. // If absent, only the disk image is exported.
  34684. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  34685. // The format for the exported image.
  34686. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  34687. // The S3 bucket for the destination image. The destination bucket must exist
  34688. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  34689. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  34690. // The encryption key for your S3 bucket.
  34691. S3Key *string `locationName:"s3Key" type:"string"`
  34692. }
  34693. // String returns the string representation
  34694. func (s ExportToS3Task) String() string {
  34695. return awsutil.Prettify(s)
  34696. }
  34697. // GoString returns the string representation
  34698. func (s ExportToS3Task) GoString() string {
  34699. return s.String()
  34700. }
  34701. // SetContainerFormat sets the ContainerFormat field's value.
  34702. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  34703. s.ContainerFormat = &v
  34704. return s
  34705. }
  34706. // SetDiskImageFormat sets the DiskImageFormat field's value.
  34707. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  34708. s.DiskImageFormat = &v
  34709. return s
  34710. }
  34711. // SetS3Bucket sets the S3Bucket field's value.
  34712. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  34713. s.S3Bucket = &v
  34714. return s
  34715. }
  34716. // SetS3Key sets the S3Key field's value.
  34717. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  34718. s.S3Key = &v
  34719. return s
  34720. }
  34721. // Describes an instance export task.
  34722. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3TaskSpecification
  34723. type ExportToS3TaskSpecification struct {
  34724. _ struct{} `type:"structure"`
  34725. // The container format used to combine disk images with metadata (such as OVF).
  34726. // If absent, only the disk image is exported.
  34727. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  34728. // The format for the exported image.
  34729. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  34730. // The S3 bucket for the destination image. The destination bucket must exist
  34731. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  34732. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  34733. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  34734. // + exportTaskId + '.' + diskImageFormat.
  34735. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  34736. }
  34737. // String returns the string representation
  34738. func (s ExportToS3TaskSpecification) String() string {
  34739. return awsutil.Prettify(s)
  34740. }
  34741. // GoString returns the string representation
  34742. func (s ExportToS3TaskSpecification) GoString() string {
  34743. return s.String()
  34744. }
  34745. // SetContainerFormat sets the ContainerFormat field's value.
  34746. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  34747. s.ContainerFormat = &v
  34748. return s
  34749. }
  34750. // SetDiskImageFormat sets the DiskImageFormat field's value.
  34751. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  34752. s.DiskImageFormat = &v
  34753. return s
  34754. }
  34755. // SetS3Bucket sets the S3Bucket field's value.
  34756. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  34757. s.S3Bucket = &v
  34758. return s
  34759. }
  34760. // SetS3Prefix sets the S3Prefix field's value.
  34761. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  34762. s.S3Prefix = &v
  34763. return s
  34764. }
  34765. // A filter name and value pair that is used to return a more specific list
  34766. // of results. Filters can be used to match a set of resources by various criteria,
  34767. // such as tags, attributes, or IDs.
  34768. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Filter
  34769. type Filter struct {
  34770. _ struct{} `type:"structure"`
  34771. // The name of the filter. Filter names are case-sensitive.
  34772. Name *string `type:"string"`
  34773. // One or more filter values. Filter values are case-sensitive.
  34774. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  34775. }
  34776. // String returns the string representation
  34777. func (s Filter) String() string {
  34778. return awsutil.Prettify(s)
  34779. }
  34780. // GoString returns the string representation
  34781. func (s Filter) GoString() string {
  34782. return s.String()
  34783. }
  34784. // SetName sets the Name field's value.
  34785. func (s *Filter) SetName(v string) *Filter {
  34786. s.Name = &v
  34787. return s
  34788. }
  34789. // SetValues sets the Values field's value.
  34790. func (s *Filter) SetValues(v []*string) *Filter {
  34791. s.Values = v
  34792. return s
  34793. }
  34794. // Describes a flow log.
  34795. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FlowLog
  34796. type FlowLog struct {
  34797. _ struct{} `type:"structure"`
  34798. // The date and time the flow log was created.
  34799. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  34800. // Information about the error that occurred. Rate limited indicates that CloudWatch
  34801. // logs throttling has been applied for one or more network interfaces, or that
  34802. // you've reached the limit on the number of CloudWatch Logs log groups that
  34803. // you can create. Access error indicates that the IAM role associated with
  34804. // the flow log does not have sufficient permissions to publish to CloudWatch
  34805. // Logs. Unknown error indicates an internal error.
  34806. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  34807. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  34808. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  34809. // The status of the logs delivery (SUCCESS | FAILED).
  34810. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  34811. // The flow log ID.
  34812. FlowLogId *string `locationName:"flowLogId" type:"string"`
  34813. // The status of the flow log (ACTIVE).
  34814. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  34815. // The name of the flow log group.
  34816. LogGroupName *string `locationName:"logGroupName" type:"string"`
  34817. // The ID of the resource on which the flow log was created.
  34818. ResourceId *string `locationName:"resourceId" type:"string"`
  34819. // The type of traffic captured for the flow log.
  34820. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  34821. }
  34822. // String returns the string representation
  34823. func (s FlowLog) String() string {
  34824. return awsutil.Prettify(s)
  34825. }
  34826. // GoString returns the string representation
  34827. func (s FlowLog) GoString() string {
  34828. return s.String()
  34829. }
  34830. // SetCreationTime sets the CreationTime field's value.
  34831. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  34832. s.CreationTime = &v
  34833. return s
  34834. }
  34835. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  34836. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  34837. s.DeliverLogsErrorMessage = &v
  34838. return s
  34839. }
  34840. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  34841. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  34842. s.DeliverLogsPermissionArn = &v
  34843. return s
  34844. }
  34845. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  34846. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  34847. s.DeliverLogsStatus = &v
  34848. return s
  34849. }
  34850. // SetFlowLogId sets the FlowLogId field's value.
  34851. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  34852. s.FlowLogId = &v
  34853. return s
  34854. }
  34855. // SetFlowLogStatus sets the FlowLogStatus field's value.
  34856. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  34857. s.FlowLogStatus = &v
  34858. return s
  34859. }
  34860. // SetLogGroupName sets the LogGroupName field's value.
  34861. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  34862. s.LogGroupName = &v
  34863. return s
  34864. }
  34865. // SetResourceId sets the ResourceId field's value.
  34866. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  34867. s.ResourceId = &v
  34868. return s
  34869. }
  34870. // SetTrafficType sets the TrafficType field's value.
  34871. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  34872. s.TrafficType = &v
  34873. return s
  34874. }
  34875. // Describes an Amazon FPGA image (AFI).
  34876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImage
  34877. type FpgaImage struct {
  34878. _ struct{} `type:"structure"`
  34879. // The date and time the AFI was created.
  34880. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  34881. // The description of the AFI.
  34882. Description *string `locationName:"description" type:"string"`
  34883. // The global FPGA image identifier (AGFI ID).
  34884. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  34885. // The FPGA image identifier (AFI ID).
  34886. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  34887. // The name of the AFI.
  34888. Name *string `locationName:"name" type:"string"`
  34889. // The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
  34890. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  34891. // The AWS account ID of the AFI owner.
  34892. OwnerId *string `locationName:"ownerId" type:"string"`
  34893. // Information about the PCI bus.
  34894. PciId *PciId `locationName:"pciId" type:"structure"`
  34895. // The product codes for the AFI.
  34896. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  34897. // The version of the AWS Shell that was used to create the bitstream.
  34898. ShellVersion *string `locationName:"shellVersion" type:"string"`
  34899. // Information about the state of the AFI.
  34900. State *FpgaImageState `locationName:"state" type:"structure"`
  34901. // Any tags assigned to the AFI.
  34902. Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
  34903. // The time of the most recent update to the AFI.
  34904. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  34905. }
  34906. // String returns the string representation
  34907. func (s FpgaImage) String() string {
  34908. return awsutil.Prettify(s)
  34909. }
  34910. // GoString returns the string representation
  34911. func (s FpgaImage) GoString() string {
  34912. return s.String()
  34913. }
  34914. // SetCreateTime sets the CreateTime field's value.
  34915. func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
  34916. s.CreateTime = &v
  34917. return s
  34918. }
  34919. // SetDescription sets the Description field's value.
  34920. func (s *FpgaImage) SetDescription(v string) *FpgaImage {
  34921. s.Description = &v
  34922. return s
  34923. }
  34924. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  34925. func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
  34926. s.FpgaImageGlobalId = &v
  34927. return s
  34928. }
  34929. // SetFpgaImageId sets the FpgaImageId field's value.
  34930. func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
  34931. s.FpgaImageId = &v
  34932. return s
  34933. }
  34934. // SetName sets the Name field's value.
  34935. func (s *FpgaImage) SetName(v string) *FpgaImage {
  34936. s.Name = &v
  34937. return s
  34938. }
  34939. // SetOwnerAlias sets the OwnerAlias field's value.
  34940. func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
  34941. s.OwnerAlias = &v
  34942. return s
  34943. }
  34944. // SetOwnerId sets the OwnerId field's value.
  34945. func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
  34946. s.OwnerId = &v
  34947. return s
  34948. }
  34949. // SetPciId sets the PciId field's value.
  34950. func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
  34951. s.PciId = v
  34952. return s
  34953. }
  34954. // SetProductCodes sets the ProductCodes field's value.
  34955. func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
  34956. s.ProductCodes = v
  34957. return s
  34958. }
  34959. // SetShellVersion sets the ShellVersion field's value.
  34960. func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
  34961. s.ShellVersion = &v
  34962. return s
  34963. }
  34964. // SetState sets the State field's value.
  34965. func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
  34966. s.State = v
  34967. return s
  34968. }
  34969. // SetTags sets the Tags field's value.
  34970. func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
  34971. s.Tags = v
  34972. return s
  34973. }
  34974. // SetUpdateTime sets the UpdateTime field's value.
  34975. func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
  34976. s.UpdateTime = &v
  34977. return s
  34978. }
  34979. // Describes the state of the bitstream generation process for an Amazon FPGA
  34980. // image (AFI).
  34981. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FpgaImageState
  34982. type FpgaImageState struct {
  34983. _ struct{} `type:"structure"`
  34984. // The state. The following are the possible values:
  34985. //
  34986. // * pending - AFI bitstream generation is in progress.
  34987. //
  34988. // * available - The AFI is available for use.
  34989. //
  34990. // * failed - AFI bitstream generation failed.
  34991. //
  34992. // * unavailable - The AFI is no longer available for use.
  34993. Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
  34994. // If the state is failed, this is the error message.
  34995. Message *string `locationName:"message" type:"string"`
  34996. }
  34997. // String returns the string representation
  34998. func (s FpgaImageState) String() string {
  34999. return awsutil.Prettify(s)
  35000. }
  35001. // GoString returns the string representation
  35002. func (s FpgaImageState) GoString() string {
  35003. return s.String()
  35004. }
  35005. // SetCode sets the Code field's value.
  35006. func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
  35007. s.Code = &v
  35008. return s
  35009. }
  35010. // SetMessage sets the Message field's value.
  35011. func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
  35012. s.Message = &v
  35013. return s
  35014. }
  35015. // Contains the parameters for GetConsoleOutput.
  35016. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputRequest
  35017. type GetConsoleOutputInput struct {
  35018. _ struct{} `type:"structure"`
  35019. // Checks whether you have the required permissions for the action, without
  35020. // actually making the request, and provides an error response. If you have
  35021. // the required permissions, the error response is DryRunOperation. Otherwise,
  35022. // it is UnauthorizedOperation.
  35023. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35024. // The ID of the instance.
  35025. //
  35026. // InstanceId is a required field
  35027. InstanceId *string `type:"string" required:"true"`
  35028. }
  35029. // String returns the string representation
  35030. func (s GetConsoleOutputInput) String() string {
  35031. return awsutil.Prettify(s)
  35032. }
  35033. // GoString returns the string representation
  35034. func (s GetConsoleOutputInput) GoString() string {
  35035. return s.String()
  35036. }
  35037. // Validate inspects the fields of the type to determine if they are valid.
  35038. func (s *GetConsoleOutputInput) Validate() error {
  35039. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  35040. if s.InstanceId == nil {
  35041. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  35042. }
  35043. if invalidParams.Len() > 0 {
  35044. return invalidParams
  35045. }
  35046. return nil
  35047. }
  35048. // SetDryRun sets the DryRun field's value.
  35049. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  35050. s.DryRun = &v
  35051. return s
  35052. }
  35053. // SetInstanceId sets the InstanceId field's value.
  35054. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  35055. s.InstanceId = &v
  35056. return s
  35057. }
  35058. // Contains the output of GetConsoleOutput.
  35059. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputResult
  35060. type GetConsoleOutputOutput struct {
  35061. _ struct{} `type:"structure"`
  35062. // The ID of the instance.
  35063. InstanceId *string `locationName:"instanceId" type:"string"`
  35064. // The console output, Base64-encoded. If using a command line tool, the tool
  35065. // decodes the output for you.
  35066. Output *string `locationName:"output" type:"string"`
  35067. // The time the output was last updated.
  35068. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  35069. }
  35070. // String returns the string representation
  35071. func (s GetConsoleOutputOutput) String() string {
  35072. return awsutil.Prettify(s)
  35073. }
  35074. // GoString returns the string representation
  35075. func (s GetConsoleOutputOutput) GoString() string {
  35076. return s.String()
  35077. }
  35078. // SetInstanceId sets the InstanceId field's value.
  35079. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  35080. s.InstanceId = &v
  35081. return s
  35082. }
  35083. // SetOutput sets the Output field's value.
  35084. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  35085. s.Output = &v
  35086. return s
  35087. }
  35088. // SetTimestamp sets the Timestamp field's value.
  35089. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  35090. s.Timestamp = &v
  35091. return s
  35092. }
  35093. // Contains the parameters for the request.
  35094. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotRequest
  35095. type GetConsoleScreenshotInput struct {
  35096. _ struct{} `type:"structure"`
  35097. // Checks whether you have the required permissions for the action, without
  35098. // actually making the request, and provides an error response. If you have
  35099. // the required permissions, the error response is DryRunOperation. Otherwise,
  35100. // it is UnauthorizedOperation.
  35101. DryRun *bool `type:"boolean"`
  35102. // The ID of the instance.
  35103. //
  35104. // InstanceId is a required field
  35105. InstanceId *string `type:"string" required:"true"`
  35106. // When set to true, acts as keystroke input and wakes up an instance that's
  35107. // in standby or "sleep" mode.
  35108. WakeUp *bool `type:"boolean"`
  35109. }
  35110. // String returns the string representation
  35111. func (s GetConsoleScreenshotInput) String() string {
  35112. return awsutil.Prettify(s)
  35113. }
  35114. // GoString returns the string representation
  35115. func (s GetConsoleScreenshotInput) GoString() string {
  35116. return s.String()
  35117. }
  35118. // Validate inspects the fields of the type to determine if they are valid.
  35119. func (s *GetConsoleScreenshotInput) Validate() error {
  35120. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  35121. if s.InstanceId == nil {
  35122. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  35123. }
  35124. if invalidParams.Len() > 0 {
  35125. return invalidParams
  35126. }
  35127. return nil
  35128. }
  35129. // SetDryRun sets the DryRun field's value.
  35130. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  35131. s.DryRun = &v
  35132. return s
  35133. }
  35134. // SetInstanceId sets the InstanceId field's value.
  35135. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  35136. s.InstanceId = &v
  35137. return s
  35138. }
  35139. // SetWakeUp sets the WakeUp field's value.
  35140. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  35141. s.WakeUp = &v
  35142. return s
  35143. }
  35144. // Contains the output of the request.
  35145. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotResult
  35146. type GetConsoleScreenshotOutput struct {
  35147. _ struct{} `type:"structure"`
  35148. // The data that comprises the image.
  35149. ImageData *string `locationName:"imageData" type:"string"`
  35150. // The ID of the instance.
  35151. InstanceId *string `locationName:"instanceId" type:"string"`
  35152. }
  35153. // String returns the string representation
  35154. func (s GetConsoleScreenshotOutput) String() string {
  35155. return awsutil.Prettify(s)
  35156. }
  35157. // GoString returns the string representation
  35158. func (s GetConsoleScreenshotOutput) GoString() string {
  35159. return s.String()
  35160. }
  35161. // SetImageData sets the ImageData field's value.
  35162. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  35163. s.ImageData = &v
  35164. return s
  35165. }
  35166. // SetInstanceId sets the InstanceId field's value.
  35167. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  35168. s.InstanceId = &v
  35169. return s
  35170. }
  35171. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewRequest
  35172. type GetHostReservationPurchasePreviewInput struct {
  35173. _ struct{} `type:"structure"`
  35174. // The ID/s of the Dedicated Host/s that the reservation will be associated
  35175. // with.
  35176. //
  35177. // HostIdSet is a required field
  35178. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  35179. // The offering ID of the reservation.
  35180. //
  35181. // OfferingId is a required field
  35182. OfferingId *string `type:"string" required:"true"`
  35183. }
  35184. // String returns the string representation
  35185. func (s GetHostReservationPurchasePreviewInput) String() string {
  35186. return awsutil.Prettify(s)
  35187. }
  35188. // GoString returns the string representation
  35189. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  35190. return s.String()
  35191. }
  35192. // Validate inspects the fields of the type to determine if they are valid.
  35193. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  35194. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  35195. if s.HostIdSet == nil {
  35196. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  35197. }
  35198. if s.OfferingId == nil {
  35199. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  35200. }
  35201. if invalidParams.Len() > 0 {
  35202. return invalidParams
  35203. }
  35204. return nil
  35205. }
  35206. // SetHostIdSet sets the HostIdSet field's value.
  35207. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  35208. s.HostIdSet = v
  35209. return s
  35210. }
  35211. // SetOfferingId sets the OfferingId field's value.
  35212. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  35213. s.OfferingId = &v
  35214. return s
  35215. }
  35216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewResult
  35217. type GetHostReservationPurchasePreviewOutput struct {
  35218. _ struct{} `type:"structure"`
  35219. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  35220. // are specified. At this time, the only supported currency is USD.
  35221. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  35222. // The purchase information of the Dedicated Host Reservation and the Dedicated
  35223. // Hosts associated with it.
  35224. Purchase []*Purchase `locationName:"purchase" type:"list"`
  35225. // The potential total hourly price of the reservation per hour.
  35226. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  35227. // The potential total upfront price. This is billed immediately.
  35228. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  35229. }
  35230. // String returns the string representation
  35231. func (s GetHostReservationPurchasePreviewOutput) String() string {
  35232. return awsutil.Prettify(s)
  35233. }
  35234. // GoString returns the string representation
  35235. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  35236. return s.String()
  35237. }
  35238. // SetCurrencyCode sets the CurrencyCode field's value.
  35239. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  35240. s.CurrencyCode = &v
  35241. return s
  35242. }
  35243. // SetPurchase sets the Purchase field's value.
  35244. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  35245. s.Purchase = v
  35246. return s
  35247. }
  35248. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  35249. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  35250. s.TotalHourlyPrice = &v
  35251. return s
  35252. }
  35253. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  35254. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  35255. s.TotalUpfrontPrice = &v
  35256. return s
  35257. }
  35258. // Contains the parameters for GetPasswordData.
  35259. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataRequest
  35260. type GetPasswordDataInput struct {
  35261. _ struct{} `type:"structure"`
  35262. // Checks whether you have the required permissions for the action, without
  35263. // actually making the request, and provides an error response. If you have
  35264. // the required permissions, the error response is DryRunOperation. Otherwise,
  35265. // it is UnauthorizedOperation.
  35266. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35267. // The ID of the Windows instance.
  35268. //
  35269. // InstanceId is a required field
  35270. InstanceId *string `type:"string" required:"true"`
  35271. }
  35272. // String returns the string representation
  35273. func (s GetPasswordDataInput) String() string {
  35274. return awsutil.Prettify(s)
  35275. }
  35276. // GoString returns the string representation
  35277. func (s GetPasswordDataInput) GoString() string {
  35278. return s.String()
  35279. }
  35280. // Validate inspects the fields of the type to determine if they are valid.
  35281. func (s *GetPasswordDataInput) Validate() error {
  35282. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  35283. if s.InstanceId == nil {
  35284. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  35285. }
  35286. if invalidParams.Len() > 0 {
  35287. return invalidParams
  35288. }
  35289. return nil
  35290. }
  35291. // SetDryRun sets the DryRun field's value.
  35292. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  35293. s.DryRun = &v
  35294. return s
  35295. }
  35296. // SetInstanceId sets the InstanceId field's value.
  35297. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  35298. s.InstanceId = &v
  35299. return s
  35300. }
  35301. // Contains the output of GetPasswordData.
  35302. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataResult
  35303. type GetPasswordDataOutput struct {
  35304. _ struct{} `type:"structure"`
  35305. // The ID of the Windows instance.
  35306. InstanceId *string `locationName:"instanceId" type:"string"`
  35307. // The password of the instance.
  35308. PasswordData *string `locationName:"passwordData" type:"string"`
  35309. // The time the data was last updated.
  35310. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  35311. }
  35312. // String returns the string representation
  35313. func (s GetPasswordDataOutput) String() string {
  35314. return awsutil.Prettify(s)
  35315. }
  35316. // GoString returns the string representation
  35317. func (s GetPasswordDataOutput) GoString() string {
  35318. return s.String()
  35319. }
  35320. // SetInstanceId sets the InstanceId field's value.
  35321. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  35322. s.InstanceId = &v
  35323. return s
  35324. }
  35325. // SetPasswordData sets the PasswordData field's value.
  35326. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  35327. s.PasswordData = &v
  35328. return s
  35329. }
  35330. // SetTimestamp sets the Timestamp field's value.
  35331. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  35332. s.Timestamp = &v
  35333. return s
  35334. }
  35335. // Contains the parameters for GetReservedInstanceExchangeQuote.
  35336. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteRequest
  35337. type GetReservedInstancesExchangeQuoteInput struct {
  35338. _ struct{} `type:"structure"`
  35339. // Checks whether you have the required permissions for the action, without
  35340. // actually making the request, and provides an error response. If you have
  35341. // the required permissions, the error response is DryRunOperation. Otherwise,
  35342. // it is UnauthorizedOperation.
  35343. DryRun *bool `type:"boolean"`
  35344. // The IDs of the Convertible Reserved Instances to exchange.
  35345. //
  35346. // ReservedInstanceIds is a required field
  35347. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  35348. // The configuration requirements of the Convertible Reserved Instances to exchange
  35349. // for your current Convertible Reserved Instances.
  35350. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  35351. }
  35352. // String returns the string representation
  35353. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  35354. return awsutil.Prettify(s)
  35355. }
  35356. // GoString returns the string representation
  35357. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  35358. return s.String()
  35359. }
  35360. // Validate inspects the fields of the type to determine if they are valid.
  35361. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  35362. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  35363. if s.ReservedInstanceIds == nil {
  35364. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  35365. }
  35366. if s.TargetConfigurations != nil {
  35367. for i, v := range s.TargetConfigurations {
  35368. if v == nil {
  35369. continue
  35370. }
  35371. if err := v.Validate(); err != nil {
  35372. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  35373. }
  35374. }
  35375. }
  35376. if invalidParams.Len() > 0 {
  35377. return invalidParams
  35378. }
  35379. return nil
  35380. }
  35381. // SetDryRun sets the DryRun field's value.
  35382. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  35383. s.DryRun = &v
  35384. return s
  35385. }
  35386. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  35387. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  35388. s.ReservedInstanceIds = v
  35389. return s
  35390. }
  35391. // SetTargetConfigurations sets the TargetConfigurations field's value.
  35392. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  35393. s.TargetConfigurations = v
  35394. return s
  35395. }
  35396. // Contains the output of GetReservedInstancesExchangeQuote.
  35397. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteResult
  35398. type GetReservedInstancesExchangeQuoteOutput struct {
  35399. _ struct{} `type:"structure"`
  35400. // The currency of the transaction.
  35401. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  35402. // If true, the exchange is valid. If false, the exchange cannot be completed.
  35403. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  35404. // The new end date of the reservation term.
  35405. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  35406. // The total true upfront charge for the exchange.
  35407. PaymentDue *string `locationName:"paymentDue" type:"string"`
  35408. // The cost associated with the Reserved Instance.
  35409. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  35410. // The configuration of your Convertible Reserved Instances.
  35411. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  35412. // The cost associated with the Reserved Instance.
  35413. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  35414. // The values of the target Convertible Reserved Instances.
  35415. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  35416. // Describes the reason why the exchange cannot be completed.
  35417. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  35418. }
  35419. // String returns the string representation
  35420. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  35421. return awsutil.Prettify(s)
  35422. }
  35423. // GoString returns the string representation
  35424. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  35425. return s.String()
  35426. }
  35427. // SetCurrencyCode sets the CurrencyCode field's value.
  35428. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  35429. s.CurrencyCode = &v
  35430. return s
  35431. }
  35432. // SetIsValidExchange sets the IsValidExchange field's value.
  35433. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  35434. s.IsValidExchange = &v
  35435. return s
  35436. }
  35437. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  35438. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  35439. s.OutputReservedInstancesWillExpireAt = &v
  35440. return s
  35441. }
  35442. // SetPaymentDue sets the PaymentDue field's value.
  35443. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  35444. s.PaymentDue = &v
  35445. return s
  35446. }
  35447. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  35448. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  35449. s.ReservedInstanceValueRollup = v
  35450. return s
  35451. }
  35452. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  35453. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  35454. s.ReservedInstanceValueSet = v
  35455. return s
  35456. }
  35457. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  35458. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  35459. s.TargetConfigurationValueRollup = v
  35460. return s
  35461. }
  35462. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  35463. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  35464. s.TargetConfigurationValueSet = v
  35465. return s
  35466. }
  35467. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  35468. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  35469. s.ValidationFailureReason = &v
  35470. return s
  35471. }
  35472. // Describes a security group.
  35473. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GroupIdentifier
  35474. type GroupIdentifier struct {
  35475. _ struct{} `type:"structure"`
  35476. // The ID of the security group.
  35477. GroupId *string `locationName:"groupId" type:"string"`
  35478. // The name of the security group.
  35479. GroupName *string `locationName:"groupName" type:"string"`
  35480. }
  35481. // String returns the string representation
  35482. func (s GroupIdentifier) String() string {
  35483. return awsutil.Prettify(s)
  35484. }
  35485. // GoString returns the string representation
  35486. func (s GroupIdentifier) GoString() string {
  35487. return s.String()
  35488. }
  35489. // SetGroupId sets the GroupId field's value.
  35490. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  35491. s.GroupId = &v
  35492. return s
  35493. }
  35494. // SetGroupName sets the GroupName field's value.
  35495. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  35496. s.GroupName = &v
  35497. return s
  35498. }
  35499. // Describes an event in the history of the Spot fleet request.
  35500. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HistoryRecord
  35501. type HistoryRecord struct {
  35502. _ struct{} `type:"structure"`
  35503. // Information about the event.
  35504. //
  35505. // EventInformation is a required field
  35506. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  35507. // The event type.
  35508. //
  35509. // * error - Indicates an error with the Spot fleet request.
  35510. //
  35511. // * fleetRequestChange - Indicates a change in the status or configuration
  35512. // of the Spot fleet request.
  35513. //
  35514. // * instanceChange - Indicates that an instance was launched or terminated.
  35515. //
  35516. // EventType is a required field
  35517. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  35518. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  35519. //
  35520. // Timestamp is a required field
  35521. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  35522. }
  35523. // String returns the string representation
  35524. func (s HistoryRecord) String() string {
  35525. return awsutil.Prettify(s)
  35526. }
  35527. // GoString returns the string representation
  35528. func (s HistoryRecord) GoString() string {
  35529. return s.String()
  35530. }
  35531. // SetEventInformation sets the EventInformation field's value.
  35532. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  35533. s.EventInformation = v
  35534. return s
  35535. }
  35536. // SetEventType sets the EventType field's value.
  35537. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  35538. s.EventType = &v
  35539. return s
  35540. }
  35541. // SetTimestamp sets the Timestamp field's value.
  35542. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  35543. s.Timestamp = &v
  35544. return s
  35545. }
  35546. // Describes the properties of the Dedicated Host.
  35547. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Host
  35548. type Host struct {
  35549. _ struct{} `type:"structure"`
  35550. // Whether auto-placement is on or off.
  35551. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  35552. // The Availability Zone of the Dedicated Host.
  35553. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  35554. // The number of new instances that can be launched onto the Dedicated Host.
  35555. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  35556. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  35557. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  35558. // in the Amazon Elastic Compute Cloud User Guide.
  35559. ClientToken *string `locationName:"clientToken" type:"string"`
  35560. // The ID of the Dedicated Host.
  35561. HostId *string `locationName:"hostId" type:"string"`
  35562. // The hardware specifications of the Dedicated Host.
  35563. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  35564. // The reservation ID of the Dedicated Host. This returns a null response if
  35565. // the Dedicated Host doesn't have an associated reservation.
  35566. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  35567. // The IDs and instance type that are currently running on the Dedicated Host.
  35568. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  35569. // The Dedicated Host's state.
  35570. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  35571. }
  35572. // String returns the string representation
  35573. func (s Host) String() string {
  35574. return awsutil.Prettify(s)
  35575. }
  35576. // GoString returns the string representation
  35577. func (s Host) GoString() string {
  35578. return s.String()
  35579. }
  35580. // SetAutoPlacement sets the AutoPlacement field's value.
  35581. func (s *Host) SetAutoPlacement(v string) *Host {
  35582. s.AutoPlacement = &v
  35583. return s
  35584. }
  35585. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35586. func (s *Host) SetAvailabilityZone(v string) *Host {
  35587. s.AvailabilityZone = &v
  35588. return s
  35589. }
  35590. // SetAvailableCapacity sets the AvailableCapacity field's value.
  35591. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  35592. s.AvailableCapacity = v
  35593. return s
  35594. }
  35595. // SetClientToken sets the ClientToken field's value.
  35596. func (s *Host) SetClientToken(v string) *Host {
  35597. s.ClientToken = &v
  35598. return s
  35599. }
  35600. // SetHostId sets the HostId field's value.
  35601. func (s *Host) SetHostId(v string) *Host {
  35602. s.HostId = &v
  35603. return s
  35604. }
  35605. // SetHostProperties sets the HostProperties field's value.
  35606. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  35607. s.HostProperties = v
  35608. return s
  35609. }
  35610. // SetHostReservationId sets the HostReservationId field's value.
  35611. func (s *Host) SetHostReservationId(v string) *Host {
  35612. s.HostReservationId = &v
  35613. return s
  35614. }
  35615. // SetInstances sets the Instances field's value.
  35616. func (s *Host) SetInstances(v []*HostInstance) *Host {
  35617. s.Instances = v
  35618. return s
  35619. }
  35620. // SetState sets the State field's value.
  35621. func (s *Host) SetState(v string) *Host {
  35622. s.State = &v
  35623. return s
  35624. }
  35625. // Describes an instance running on a Dedicated Host.
  35626. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostInstance
  35627. type HostInstance struct {
  35628. _ struct{} `type:"structure"`
  35629. // the IDs of instances that are running on the Dedicated Host.
  35630. InstanceId *string `locationName:"instanceId" type:"string"`
  35631. // The instance type size (for example, m3.medium) of the running instance.
  35632. InstanceType *string `locationName:"instanceType" type:"string"`
  35633. }
  35634. // String returns the string representation
  35635. func (s HostInstance) String() string {
  35636. return awsutil.Prettify(s)
  35637. }
  35638. // GoString returns the string representation
  35639. func (s HostInstance) GoString() string {
  35640. return s.String()
  35641. }
  35642. // SetInstanceId sets the InstanceId field's value.
  35643. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  35644. s.InstanceId = &v
  35645. return s
  35646. }
  35647. // SetInstanceType sets the InstanceType field's value.
  35648. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  35649. s.InstanceType = &v
  35650. return s
  35651. }
  35652. // Details about the Dedicated Host Reservation offering.
  35653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostOffering
  35654. type HostOffering struct {
  35655. _ struct{} `type:"structure"`
  35656. // The currency of the offering.
  35657. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  35658. // The duration of the offering (in seconds).
  35659. Duration *int64 `locationName:"duration" type:"integer"`
  35660. // The hourly price of the offering.
  35661. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  35662. // The instance family of the offering.
  35663. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  35664. // The ID of the offering.
  35665. OfferingId *string `locationName:"offeringId" type:"string"`
  35666. // The available payment option.
  35667. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  35668. // The upfront price of the offering. Does not apply to No Upfront offerings.
  35669. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  35670. }
  35671. // String returns the string representation
  35672. func (s HostOffering) String() string {
  35673. return awsutil.Prettify(s)
  35674. }
  35675. // GoString returns the string representation
  35676. func (s HostOffering) GoString() string {
  35677. return s.String()
  35678. }
  35679. // SetCurrencyCode sets the CurrencyCode field's value.
  35680. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  35681. s.CurrencyCode = &v
  35682. return s
  35683. }
  35684. // SetDuration sets the Duration field's value.
  35685. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  35686. s.Duration = &v
  35687. return s
  35688. }
  35689. // SetHourlyPrice sets the HourlyPrice field's value.
  35690. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  35691. s.HourlyPrice = &v
  35692. return s
  35693. }
  35694. // SetInstanceFamily sets the InstanceFamily field's value.
  35695. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  35696. s.InstanceFamily = &v
  35697. return s
  35698. }
  35699. // SetOfferingId sets the OfferingId field's value.
  35700. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  35701. s.OfferingId = &v
  35702. return s
  35703. }
  35704. // SetPaymentOption sets the PaymentOption field's value.
  35705. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  35706. s.PaymentOption = &v
  35707. return s
  35708. }
  35709. // SetUpfrontPrice sets the UpfrontPrice field's value.
  35710. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  35711. s.UpfrontPrice = &v
  35712. return s
  35713. }
  35714. // Describes properties of a Dedicated Host.
  35715. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostProperties
  35716. type HostProperties struct {
  35717. _ struct{} `type:"structure"`
  35718. // The number of cores on the Dedicated Host.
  35719. Cores *int64 `locationName:"cores" type:"integer"`
  35720. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  35721. InstanceType *string `locationName:"instanceType" type:"string"`
  35722. // The number of sockets on the Dedicated Host.
  35723. Sockets *int64 `locationName:"sockets" type:"integer"`
  35724. // The number of vCPUs on the Dedicated Host.
  35725. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  35726. }
  35727. // String returns the string representation
  35728. func (s HostProperties) String() string {
  35729. return awsutil.Prettify(s)
  35730. }
  35731. // GoString returns the string representation
  35732. func (s HostProperties) GoString() string {
  35733. return s.String()
  35734. }
  35735. // SetCores sets the Cores field's value.
  35736. func (s *HostProperties) SetCores(v int64) *HostProperties {
  35737. s.Cores = &v
  35738. return s
  35739. }
  35740. // SetInstanceType sets the InstanceType field's value.
  35741. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  35742. s.InstanceType = &v
  35743. return s
  35744. }
  35745. // SetSockets sets the Sockets field's value.
  35746. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  35747. s.Sockets = &v
  35748. return s
  35749. }
  35750. // SetTotalVCpus sets the TotalVCpus field's value.
  35751. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  35752. s.TotalVCpus = &v
  35753. return s
  35754. }
  35755. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  35756. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostReservation
  35757. type HostReservation struct {
  35758. _ struct{} `type:"structure"`
  35759. // The number of Dedicated Hosts the reservation is associated with.
  35760. Count *int64 `locationName:"count" type:"integer"`
  35761. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  35762. // At this time, the only supported currency is USD.
  35763. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  35764. // The length of the reservation's term, specified in seconds. Can be 31536000
  35765. // (1 year) | 94608000 (3 years).
  35766. Duration *int64 `locationName:"duration" type:"integer"`
  35767. // The date and time that the reservation ends.
  35768. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  35769. // The IDs of the Dedicated Hosts associated with the reservation.
  35770. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  35771. // The ID of the reservation that specifies the associated Dedicated Hosts.
  35772. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  35773. // The hourly price of the reservation.
  35774. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  35775. // The instance family of the Dedicated Host Reservation. The instance family
  35776. // on the Dedicated Host must be the same in order for it to benefit from the
  35777. // reservation.
  35778. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  35779. // The ID of the reservation. This remains the same regardless of which Dedicated
  35780. // Hosts are associated with it.
  35781. OfferingId *string `locationName:"offeringId" type:"string"`
  35782. // The payment option selected for this reservation.
  35783. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  35784. // The date and time that the reservation started.
  35785. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  35786. // The state of the reservation.
  35787. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  35788. // The upfront price of the reservation.
  35789. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  35790. }
  35791. // String returns the string representation
  35792. func (s HostReservation) String() string {
  35793. return awsutil.Prettify(s)
  35794. }
  35795. // GoString returns the string representation
  35796. func (s HostReservation) GoString() string {
  35797. return s.String()
  35798. }
  35799. // SetCount sets the Count field's value.
  35800. func (s *HostReservation) SetCount(v int64) *HostReservation {
  35801. s.Count = &v
  35802. return s
  35803. }
  35804. // SetCurrencyCode sets the CurrencyCode field's value.
  35805. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  35806. s.CurrencyCode = &v
  35807. return s
  35808. }
  35809. // SetDuration sets the Duration field's value.
  35810. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  35811. s.Duration = &v
  35812. return s
  35813. }
  35814. // SetEnd sets the End field's value.
  35815. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  35816. s.End = &v
  35817. return s
  35818. }
  35819. // SetHostIdSet sets the HostIdSet field's value.
  35820. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  35821. s.HostIdSet = v
  35822. return s
  35823. }
  35824. // SetHostReservationId sets the HostReservationId field's value.
  35825. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  35826. s.HostReservationId = &v
  35827. return s
  35828. }
  35829. // SetHourlyPrice sets the HourlyPrice field's value.
  35830. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  35831. s.HourlyPrice = &v
  35832. return s
  35833. }
  35834. // SetInstanceFamily sets the InstanceFamily field's value.
  35835. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  35836. s.InstanceFamily = &v
  35837. return s
  35838. }
  35839. // SetOfferingId sets the OfferingId field's value.
  35840. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  35841. s.OfferingId = &v
  35842. return s
  35843. }
  35844. // SetPaymentOption sets the PaymentOption field's value.
  35845. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  35846. s.PaymentOption = &v
  35847. return s
  35848. }
  35849. // SetStart sets the Start field's value.
  35850. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  35851. s.Start = &v
  35852. return s
  35853. }
  35854. // SetState sets the State field's value.
  35855. func (s *HostReservation) SetState(v string) *HostReservation {
  35856. s.State = &v
  35857. return s
  35858. }
  35859. // SetUpfrontPrice sets the UpfrontPrice field's value.
  35860. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  35861. s.UpfrontPrice = &v
  35862. return s
  35863. }
  35864. // Describes an IAM instance profile.
  35865. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfile
  35866. type IamInstanceProfile struct {
  35867. _ struct{} `type:"structure"`
  35868. // The Amazon Resource Name (ARN) of the instance profile.
  35869. Arn *string `locationName:"arn" type:"string"`
  35870. // The ID of the instance profile.
  35871. Id *string `locationName:"id" type:"string"`
  35872. }
  35873. // String returns the string representation
  35874. func (s IamInstanceProfile) String() string {
  35875. return awsutil.Prettify(s)
  35876. }
  35877. // GoString returns the string representation
  35878. func (s IamInstanceProfile) GoString() string {
  35879. return s.String()
  35880. }
  35881. // SetArn sets the Arn field's value.
  35882. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  35883. s.Arn = &v
  35884. return s
  35885. }
  35886. // SetId sets the Id field's value.
  35887. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  35888. s.Id = &v
  35889. return s
  35890. }
  35891. // Describes an association between an IAM instance profile and an instance.
  35892. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileAssociation
  35893. type IamInstanceProfileAssociation struct {
  35894. _ struct{} `type:"structure"`
  35895. // The ID of the association.
  35896. AssociationId *string `locationName:"associationId" type:"string"`
  35897. // The IAM instance profile.
  35898. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  35899. // The ID of the instance.
  35900. InstanceId *string `locationName:"instanceId" type:"string"`
  35901. // The state of the association.
  35902. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  35903. // The time the IAM instance profile was associated with the instance.
  35904. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  35905. }
  35906. // String returns the string representation
  35907. func (s IamInstanceProfileAssociation) String() string {
  35908. return awsutil.Prettify(s)
  35909. }
  35910. // GoString returns the string representation
  35911. func (s IamInstanceProfileAssociation) GoString() string {
  35912. return s.String()
  35913. }
  35914. // SetAssociationId sets the AssociationId field's value.
  35915. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  35916. s.AssociationId = &v
  35917. return s
  35918. }
  35919. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  35920. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  35921. s.IamInstanceProfile = v
  35922. return s
  35923. }
  35924. // SetInstanceId sets the InstanceId field's value.
  35925. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  35926. s.InstanceId = &v
  35927. return s
  35928. }
  35929. // SetState sets the State field's value.
  35930. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  35931. s.State = &v
  35932. return s
  35933. }
  35934. // SetTimestamp sets the Timestamp field's value.
  35935. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  35936. s.Timestamp = &v
  35937. return s
  35938. }
  35939. // Describes an IAM instance profile.
  35940. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileSpecification
  35941. type IamInstanceProfileSpecification struct {
  35942. _ struct{} `type:"structure"`
  35943. // The Amazon Resource Name (ARN) of the instance profile.
  35944. Arn *string `locationName:"arn" type:"string"`
  35945. // The name of the instance profile.
  35946. Name *string `locationName:"name" type:"string"`
  35947. }
  35948. // String returns the string representation
  35949. func (s IamInstanceProfileSpecification) String() string {
  35950. return awsutil.Prettify(s)
  35951. }
  35952. // GoString returns the string representation
  35953. func (s IamInstanceProfileSpecification) GoString() string {
  35954. return s.String()
  35955. }
  35956. // SetArn sets the Arn field's value.
  35957. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  35958. s.Arn = &v
  35959. return s
  35960. }
  35961. // SetName sets the Name field's value.
  35962. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  35963. s.Name = &v
  35964. return s
  35965. }
  35966. // Describes the ICMP type and code.
  35967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IcmpTypeCode
  35968. type IcmpTypeCode struct {
  35969. _ struct{} `type:"structure"`
  35970. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  35971. Code *int64 `locationName:"code" type:"integer"`
  35972. // The ICMP type. A value of -1 means all types.
  35973. Type *int64 `locationName:"type" type:"integer"`
  35974. }
  35975. // String returns the string representation
  35976. func (s IcmpTypeCode) String() string {
  35977. return awsutil.Prettify(s)
  35978. }
  35979. // GoString returns the string representation
  35980. func (s IcmpTypeCode) GoString() string {
  35981. return s.String()
  35982. }
  35983. // SetCode sets the Code field's value.
  35984. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  35985. s.Code = &v
  35986. return s
  35987. }
  35988. // SetType sets the Type field's value.
  35989. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  35990. s.Type = &v
  35991. return s
  35992. }
  35993. // Describes the ID format for a resource.
  35994. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IdFormat
  35995. type IdFormat struct {
  35996. _ struct{} `type:"structure"`
  35997. // The date in UTC at which you are permanently switched over to using longer
  35998. // IDs. If a deadline is not yet available for this resource type, this field
  35999. // is not returned.
  36000. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  36001. // The type of resource.
  36002. Resource *string `locationName:"resource" type:"string"`
  36003. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  36004. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  36005. }
  36006. // String returns the string representation
  36007. func (s IdFormat) String() string {
  36008. return awsutil.Prettify(s)
  36009. }
  36010. // GoString returns the string representation
  36011. func (s IdFormat) GoString() string {
  36012. return s.String()
  36013. }
  36014. // SetDeadline sets the Deadline field's value.
  36015. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  36016. s.Deadline = &v
  36017. return s
  36018. }
  36019. // SetResource sets the Resource field's value.
  36020. func (s *IdFormat) SetResource(v string) *IdFormat {
  36021. s.Resource = &v
  36022. return s
  36023. }
  36024. // SetUseLongIds sets the UseLongIds field's value.
  36025. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  36026. s.UseLongIds = &v
  36027. return s
  36028. }
  36029. // Describes an image.
  36030. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Image
  36031. type Image struct {
  36032. _ struct{} `type:"structure"`
  36033. // The architecture of the image.
  36034. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  36035. // Any block device mapping entries.
  36036. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  36037. // The date and time the image was created.
  36038. CreationDate *string `locationName:"creationDate" type:"string"`
  36039. // The description of the AMI that was provided during image creation.
  36040. Description *string `locationName:"description" type:"string"`
  36041. // Specifies whether enhanced networking with ENA is enabled.
  36042. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  36043. // The hypervisor type of the image.
  36044. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  36045. // The ID of the AMI.
  36046. ImageId *string `locationName:"imageId" type:"string"`
  36047. // The location of the AMI.
  36048. ImageLocation *string `locationName:"imageLocation" type:"string"`
  36049. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  36050. // the AMI owner.
  36051. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  36052. // The type of image.
  36053. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  36054. // The kernel associated with the image, if any. Only applicable for machine
  36055. // images.
  36056. KernelId *string `locationName:"kernelId" type:"string"`
  36057. // The name of the AMI that was provided during image creation.
  36058. Name *string `locationName:"name" type:"string"`
  36059. // The AWS account ID of the image owner.
  36060. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  36061. // The value is Windows for Windows AMIs; otherwise blank.
  36062. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  36063. // Any product codes associated with the AMI.
  36064. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  36065. // Indicates whether the image has public launch permissions. The value is true
  36066. // if this image has public launch permissions or false if it has only implicit
  36067. // and explicit launch permissions.
  36068. Public *bool `locationName:"isPublic" type:"boolean"`
  36069. // The RAM disk associated with the image, if any. Only applicable for machine
  36070. // images.
  36071. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  36072. // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
  36073. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  36074. // The type of root device used by the AMI. The AMI can use an EBS volume or
  36075. // an instance store volume.
  36076. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  36077. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  36078. // interface is enabled.
  36079. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  36080. // The current state of the AMI. If the state is available, the image is successfully
  36081. // registered and can be used to launch an instance.
  36082. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  36083. // The reason for the state change.
  36084. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  36085. // Any tags assigned to the image.
  36086. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  36087. // The type of virtualization of the AMI.
  36088. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  36089. }
  36090. // String returns the string representation
  36091. func (s Image) String() string {
  36092. return awsutil.Prettify(s)
  36093. }
  36094. // GoString returns the string representation
  36095. func (s Image) GoString() string {
  36096. return s.String()
  36097. }
  36098. // SetArchitecture sets the Architecture field's value.
  36099. func (s *Image) SetArchitecture(v string) *Image {
  36100. s.Architecture = &v
  36101. return s
  36102. }
  36103. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  36104. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  36105. s.BlockDeviceMappings = v
  36106. return s
  36107. }
  36108. // SetCreationDate sets the CreationDate field's value.
  36109. func (s *Image) SetCreationDate(v string) *Image {
  36110. s.CreationDate = &v
  36111. return s
  36112. }
  36113. // SetDescription sets the Description field's value.
  36114. func (s *Image) SetDescription(v string) *Image {
  36115. s.Description = &v
  36116. return s
  36117. }
  36118. // SetEnaSupport sets the EnaSupport field's value.
  36119. func (s *Image) SetEnaSupport(v bool) *Image {
  36120. s.EnaSupport = &v
  36121. return s
  36122. }
  36123. // SetHypervisor sets the Hypervisor field's value.
  36124. func (s *Image) SetHypervisor(v string) *Image {
  36125. s.Hypervisor = &v
  36126. return s
  36127. }
  36128. // SetImageId sets the ImageId field's value.
  36129. func (s *Image) SetImageId(v string) *Image {
  36130. s.ImageId = &v
  36131. return s
  36132. }
  36133. // SetImageLocation sets the ImageLocation field's value.
  36134. func (s *Image) SetImageLocation(v string) *Image {
  36135. s.ImageLocation = &v
  36136. return s
  36137. }
  36138. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  36139. func (s *Image) SetImageOwnerAlias(v string) *Image {
  36140. s.ImageOwnerAlias = &v
  36141. return s
  36142. }
  36143. // SetImageType sets the ImageType field's value.
  36144. func (s *Image) SetImageType(v string) *Image {
  36145. s.ImageType = &v
  36146. return s
  36147. }
  36148. // SetKernelId sets the KernelId field's value.
  36149. func (s *Image) SetKernelId(v string) *Image {
  36150. s.KernelId = &v
  36151. return s
  36152. }
  36153. // SetName sets the Name field's value.
  36154. func (s *Image) SetName(v string) *Image {
  36155. s.Name = &v
  36156. return s
  36157. }
  36158. // SetOwnerId sets the OwnerId field's value.
  36159. func (s *Image) SetOwnerId(v string) *Image {
  36160. s.OwnerId = &v
  36161. return s
  36162. }
  36163. // SetPlatform sets the Platform field's value.
  36164. func (s *Image) SetPlatform(v string) *Image {
  36165. s.Platform = &v
  36166. return s
  36167. }
  36168. // SetProductCodes sets the ProductCodes field's value.
  36169. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  36170. s.ProductCodes = v
  36171. return s
  36172. }
  36173. // SetPublic sets the Public field's value.
  36174. func (s *Image) SetPublic(v bool) *Image {
  36175. s.Public = &v
  36176. return s
  36177. }
  36178. // SetRamdiskId sets the RamdiskId field's value.
  36179. func (s *Image) SetRamdiskId(v string) *Image {
  36180. s.RamdiskId = &v
  36181. return s
  36182. }
  36183. // SetRootDeviceName sets the RootDeviceName field's value.
  36184. func (s *Image) SetRootDeviceName(v string) *Image {
  36185. s.RootDeviceName = &v
  36186. return s
  36187. }
  36188. // SetRootDeviceType sets the RootDeviceType field's value.
  36189. func (s *Image) SetRootDeviceType(v string) *Image {
  36190. s.RootDeviceType = &v
  36191. return s
  36192. }
  36193. // SetSriovNetSupport sets the SriovNetSupport field's value.
  36194. func (s *Image) SetSriovNetSupport(v string) *Image {
  36195. s.SriovNetSupport = &v
  36196. return s
  36197. }
  36198. // SetState sets the State field's value.
  36199. func (s *Image) SetState(v string) *Image {
  36200. s.State = &v
  36201. return s
  36202. }
  36203. // SetStateReason sets the StateReason field's value.
  36204. func (s *Image) SetStateReason(v *StateReason) *Image {
  36205. s.StateReason = v
  36206. return s
  36207. }
  36208. // SetTags sets the Tags field's value.
  36209. func (s *Image) SetTags(v []*Tag) *Image {
  36210. s.Tags = v
  36211. return s
  36212. }
  36213. // SetVirtualizationType sets the VirtualizationType field's value.
  36214. func (s *Image) SetVirtualizationType(v string) *Image {
  36215. s.VirtualizationType = &v
  36216. return s
  36217. }
  36218. // Describes the disk container object for an import image task.
  36219. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageDiskContainer
  36220. type ImageDiskContainer struct {
  36221. _ struct{} `type:"structure"`
  36222. // The description of the disk image.
  36223. Description *string `type:"string"`
  36224. // The block device mapping for the disk.
  36225. DeviceName *string `type:"string"`
  36226. // The format of the disk image being imported.
  36227. //
  36228. // Valid values: RAW | VHD | VMDK | OVA
  36229. Format *string `type:"string"`
  36230. // The ID of the EBS snapshot to be used for importing the snapshot.
  36231. SnapshotId *string `type:"string"`
  36232. // The URL to the Amazon S3-based disk image being imported. The URL can either
  36233. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  36234. Url *string `type:"string"`
  36235. // The S3 bucket for the disk image.
  36236. UserBucket *UserBucket `type:"structure"`
  36237. }
  36238. // String returns the string representation
  36239. func (s ImageDiskContainer) String() string {
  36240. return awsutil.Prettify(s)
  36241. }
  36242. // GoString returns the string representation
  36243. func (s ImageDiskContainer) GoString() string {
  36244. return s.String()
  36245. }
  36246. // SetDescription sets the Description field's value.
  36247. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  36248. s.Description = &v
  36249. return s
  36250. }
  36251. // SetDeviceName sets the DeviceName field's value.
  36252. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  36253. s.DeviceName = &v
  36254. return s
  36255. }
  36256. // SetFormat sets the Format field's value.
  36257. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  36258. s.Format = &v
  36259. return s
  36260. }
  36261. // SetSnapshotId sets the SnapshotId field's value.
  36262. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  36263. s.SnapshotId = &v
  36264. return s
  36265. }
  36266. // SetUrl sets the Url field's value.
  36267. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  36268. s.Url = &v
  36269. return s
  36270. }
  36271. // SetUserBucket sets the UserBucket field's value.
  36272. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  36273. s.UserBucket = v
  36274. return s
  36275. }
  36276. // Contains the parameters for ImportImage.
  36277. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageRequest
  36278. type ImportImageInput struct {
  36279. _ struct{} `type:"structure"`
  36280. // The architecture of the virtual machine.
  36281. //
  36282. // Valid values: i386 | x86_64
  36283. Architecture *string `type:"string"`
  36284. // The client-specific data.
  36285. ClientData *ClientData `type:"structure"`
  36286. // The token to enable idempotency for VM import requests.
  36287. ClientToken *string `type:"string"`
  36288. // A description string for the import image task.
  36289. Description *string `type:"string"`
  36290. // Information about the disk containers.
  36291. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  36292. // Checks whether you have the required permissions for the action, without
  36293. // actually making the request, and provides an error response. If you have
  36294. // the required permissions, the error response is DryRunOperation. Otherwise,
  36295. // it is UnauthorizedOperation.
  36296. DryRun *bool `type:"boolean"`
  36297. // The target hypervisor platform.
  36298. //
  36299. // Valid values: xen
  36300. Hypervisor *string `type:"string"`
  36301. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  36302. //
  36303. // Note: You may only use BYOL if you have existing licenses with rights to
  36304. // use these licenses in a third party cloud like AWS. For more information,
  36305. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  36306. // in the VM Import/Export User Guide.
  36307. //
  36308. // Valid values: AWS | BYOL
  36309. LicenseType *string `type:"string"`
  36310. // The operating system of the virtual machine.
  36311. //
  36312. // Valid values: Windows | Linux
  36313. Platform *string `type:"string"`
  36314. // The name of the role to use when not using the default role, 'vmimport'.
  36315. RoleName *string `type:"string"`
  36316. }
  36317. // String returns the string representation
  36318. func (s ImportImageInput) String() string {
  36319. return awsutil.Prettify(s)
  36320. }
  36321. // GoString returns the string representation
  36322. func (s ImportImageInput) GoString() string {
  36323. return s.String()
  36324. }
  36325. // SetArchitecture sets the Architecture field's value.
  36326. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  36327. s.Architecture = &v
  36328. return s
  36329. }
  36330. // SetClientData sets the ClientData field's value.
  36331. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  36332. s.ClientData = v
  36333. return s
  36334. }
  36335. // SetClientToken sets the ClientToken field's value.
  36336. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  36337. s.ClientToken = &v
  36338. return s
  36339. }
  36340. // SetDescription sets the Description field's value.
  36341. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  36342. s.Description = &v
  36343. return s
  36344. }
  36345. // SetDiskContainers sets the DiskContainers field's value.
  36346. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  36347. s.DiskContainers = v
  36348. return s
  36349. }
  36350. // SetDryRun sets the DryRun field's value.
  36351. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  36352. s.DryRun = &v
  36353. return s
  36354. }
  36355. // SetHypervisor sets the Hypervisor field's value.
  36356. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  36357. s.Hypervisor = &v
  36358. return s
  36359. }
  36360. // SetLicenseType sets the LicenseType field's value.
  36361. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  36362. s.LicenseType = &v
  36363. return s
  36364. }
  36365. // SetPlatform sets the Platform field's value.
  36366. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  36367. s.Platform = &v
  36368. return s
  36369. }
  36370. // SetRoleName sets the RoleName field's value.
  36371. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  36372. s.RoleName = &v
  36373. return s
  36374. }
  36375. // Contains the output for ImportImage.
  36376. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageResult
  36377. type ImportImageOutput struct {
  36378. _ struct{} `type:"structure"`
  36379. // The architecture of the virtual machine.
  36380. Architecture *string `locationName:"architecture" type:"string"`
  36381. // A description of the import task.
  36382. Description *string `locationName:"description" type:"string"`
  36383. // The target hypervisor of the import task.
  36384. Hypervisor *string `locationName:"hypervisor" type:"string"`
  36385. // The ID of the Amazon Machine Image (AMI) created by the import task.
  36386. ImageId *string `locationName:"imageId" type:"string"`
  36387. // The task ID of the import image task.
  36388. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  36389. // The license type of the virtual machine.
  36390. LicenseType *string `locationName:"licenseType" type:"string"`
  36391. // The operating system of the virtual machine.
  36392. Platform *string `locationName:"platform" type:"string"`
  36393. // The progress of the task.
  36394. Progress *string `locationName:"progress" type:"string"`
  36395. // Information about the snapshots.
  36396. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  36397. // A brief status of the task.
  36398. Status *string `locationName:"status" type:"string"`
  36399. // A detailed status message of the import task.
  36400. StatusMessage *string `locationName:"statusMessage" type:"string"`
  36401. }
  36402. // String returns the string representation
  36403. func (s ImportImageOutput) String() string {
  36404. return awsutil.Prettify(s)
  36405. }
  36406. // GoString returns the string representation
  36407. func (s ImportImageOutput) GoString() string {
  36408. return s.String()
  36409. }
  36410. // SetArchitecture sets the Architecture field's value.
  36411. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  36412. s.Architecture = &v
  36413. return s
  36414. }
  36415. // SetDescription sets the Description field's value.
  36416. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  36417. s.Description = &v
  36418. return s
  36419. }
  36420. // SetHypervisor sets the Hypervisor field's value.
  36421. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  36422. s.Hypervisor = &v
  36423. return s
  36424. }
  36425. // SetImageId sets the ImageId field's value.
  36426. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  36427. s.ImageId = &v
  36428. return s
  36429. }
  36430. // SetImportTaskId sets the ImportTaskId field's value.
  36431. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  36432. s.ImportTaskId = &v
  36433. return s
  36434. }
  36435. // SetLicenseType sets the LicenseType field's value.
  36436. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  36437. s.LicenseType = &v
  36438. return s
  36439. }
  36440. // SetPlatform sets the Platform field's value.
  36441. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  36442. s.Platform = &v
  36443. return s
  36444. }
  36445. // SetProgress sets the Progress field's value.
  36446. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  36447. s.Progress = &v
  36448. return s
  36449. }
  36450. // SetSnapshotDetails sets the SnapshotDetails field's value.
  36451. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  36452. s.SnapshotDetails = v
  36453. return s
  36454. }
  36455. // SetStatus sets the Status field's value.
  36456. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  36457. s.Status = &v
  36458. return s
  36459. }
  36460. // SetStatusMessage sets the StatusMessage field's value.
  36461. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  36462. s.StatusMessage = &v
  36463. return s
  36464. }
  36465. // Describes an import image task.
  36466. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageTask
  36467. type ImportImageTask struct {
  36468. _ struct{} `type:"structure"`
  36469. // The architecture of the virtual machine.
  36470. //
  36471. // Valid values: i386 | x86_64
  36472. Architecture *string `locationName:"architecture" type:"string"`
  36473. // A description of the import task.
  36474. Description *string `locationName:"description" type:"string"`
  36475. // The target hypervisor for the import task.
  36476. //
  36477. // Valid values: xen
  36478. Hypervisor *string `locationName:"hypervisor" type:"string"`
  36479. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  36480. ImageId *string `locationName:"imageId" type:"string"`
  36481. // The ID of the import image task.
  36482. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  36483. // The license type of the virtual machine.
  36484. LicenseType *string `locationName:"licenseType" type:"string"`
  36485. // The description string for the import image task.
  36486. Platform *string `locationName:"platform" type:"string"`
  36487. // The percentage of progress of the import image task.
  36488. Progress *string `locationName:"progress" type:"string"`
  36489. // Information about the snapshots.
  36490. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  36491. // A brief status for the import image task.
  36492. Status *string `locationName:"status" type:"string"`
  36493. // A descriptive status message for the import image task.
  36494. StatusMessage *string `locationName:"statusMessage" type:"string"`
  36495. }
  36496. // String returns the string representation
  36497. func (s ImportImageTask) String() string {
  36498. return awsutil.Prettify(s)
  36499. }
  36500. // GoString returns the string representation
  36501. func (s ImportImageTask) GoString() string {
  36502. return s.String()
  36503. }
  36504. // SetArchitecture sets the Architecture field's value.
  36505. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  36506. s.Architecture = &v
  36507. return s
  36508. }
  36509. // SetDescription sets the Description field's value.
  36510. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  36511. s.Description = &v
  36512. return s
  36513. }
  36514. // SetHypervisor sets the Hypervisor field's value.
  36515. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  36516. s.Hypervisor = &v
  36517. return s
  36518. }
  36519. // SetImageId sets the ImageId field's value.
  36520. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  36521. s.ImageId = &v
  36522. return s
  36523. }
  36524. // SetImportTaskId sets the ImportTaskId field's value.
  36525. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  36526. s.ImportTaskId = &v
  36527. return s
  36528. }
  36529. // SetLicenseType sets the LicenseType field's value.
  36530. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  36531. s.LicenseType = &v
  36532. return s
  36533. }
  36534. // SetPlatform sets the Platform field's value.
  36535. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  36536. s.Platform = &v
  36537. return s
  36538. }
  36539. // SetProgress sets the Progress field's value.
  36540. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  36541. s.Progress = &v
  36542. return s
  36543. }
  36544. // SetSnapshotDetails sets the SnapshotDetails field's value.
  36545. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  36546. s.SnapshotDetails = v
  36547. return s
  36548. }
  36549. // SetStatus sets the Status field's value.
  36550. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  36551. s.Status = &v
  36552. return s
  36553. }
  36554. // SetStatusMessage sets the StatusMessage field's value.
  36555. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  36556. s.StatusMessage = &v
  36557. return s
  36558. }
  36559. // Contains the parameters for ImportInstance.
  36560. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceRequest
  36561. type ImportInstanceInput struct {
  36562. _ struct{} `type:"structure"`
  36563. // A description for the instance being imported.
  36564. Description *string `locationName:"description" type:"string"`
  36565. // The disk image.
  36566. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  36567. // Checks whether you have the required permissions for the action, without
  36568. // actually making the request, and provides an error response. If you have
  36569. // the required permissions, the error response is DryRunOperation. Otherwise,
  36570. // it is UnauthorizedOperation.
  36571. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36572. // The launch specification.
  36573. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  36574. // The instance operating system.
  36575. //
  36576. // Platform is a required field
  36577. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  36578. }
  36579. // String returns the string representation
  36580. func (s ImportInstanceInput) String() string {
  36581. return awsutil.Prettify(s)
  36582. }
  36583. // GoString returns the string representation
  36584. func (s ImportInstanceInput) GoString() string {
  36585. return s.String()
  36586. }
  36587. // Validate inspects the fields of the type to determine if they are valid.
  36588. func (s *ImportInstanceInput) Validate() error {
  36589. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  36590. if s.Platform == nil {
  36591. invalidParams.Add(request.NewErrParamRequired("Platform"))
  36592. }
  36593. if s.DiskImages != nil {
  36594. for i, v := range s.DiskImages {
  36595. if v == nil {
  36596. continue
  36597. }
  36598. if err := v.Validate(); err != nil {
  36599. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  36600. }
  36601. }
  36602. }
  36603. if invalidParams.Len() > 0 {
  36604. return invalidParams
  36605. }
  36606. return nil
  36607. }
  36608. // SetDescription sets the Description field's value.
  36609. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  36610. s.Description = &v
  36611. return s
  36612. }
  36613. // SetDiskImages sets the DiskImages field's value.
  36614. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  36615. s.DiskImages = v
  36616. return s
  36617. }
  36618. // SetDryRun sets the DryRun field's value.
  36619. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  36620. s.DryRun = &v
  36621. return s
  36622. }
  36623. // SetLaunchSpecification sets the LaunchSpecification field's value.
  36624. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  36625. s.LaunchSpecification = v
  36626. return s
  36627. }
  36628. // SetPlatform sets the Platform field's value.
  36629. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  36630. s.Platform = &v
  36631. return s
  36632. }
  36633. // Describes the launch specification for VM import.
  36634. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceLaunchSpecification
  36635. type ImportInstanceLaunchSpecification struct {
  36636. _ struct{} `type:"structure"`
  36637. // Reserved.
  36638. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  36639. // The architecture of the instance.
  36640. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  36641. // One or more security group IDs.
  36642. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  36643. // One or more security group names.
  36644. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  36645. // Indicates whether an instance stops or terminates when you initiate shutdown
  36646. // from the instance (using the operating system command for system shutdown).
  36647. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  36648. // The instance type. For more information about the instance types that you
  36649. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types)
  36650. // in the VM Import/Export User Guide.
  36651. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  36652. // Indicates whether monitoring is enabled.
  36653. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  36654. // The placement information for the instance.
  36655. Placement *Placement `locationName:"placement" type:"structure"`
  36656. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  36657. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36658. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  36659. SubnetId *string `locationName:"subnetId" type:"string"`
  36660. // The user data to make available to the instance. If you are using an AWS
  36661. // SDK or command line tool, Base64-encoding is performed for you, and you can
  36662. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  36663. UserData *UserData `locationName:"userData" type:"structure"`
  36664. }
  36665. // String returns the string representation
  36666. func (s ImportInstanceLaunchSpecification) String() string {
  36667. return awsutil.Prettify(s)
  36668. }
  36669. // GoString returns the string representation
  36670. func (s ImportInstanceLaunchSpecification) GoString() string {
  36671. return s.String()
  36672. }
  36673. // SetAdditionalInfo sets the AdditionalInfo field's value.
  36674. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  36675. s.AdditionalInfo = &v
  36676. return s
  36677. }
  36678. // SetArchitecture sets the Architecture field's value.
  36679. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  36680. s.Architecture = &v
  36681. return s
  36682. }
  36683. // SetGroupIds sets the GroupIds field's value.
  36684. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  36685. s.GroupIds = v
  36686. return s
  36687. }
  36688. // SetGroupNames sets the GroupNames field's value.
  36689. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  36690. s.GroupNames = v
  36691. return s
  36692. }
  36693. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  36694. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  36695. s.InstanceInitiatedShutdownBehavior = &v
  36696. return s
  36697. }
  36698. // SetInstanceType sets the InstanceType field's value.
  36699. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  36700. s.InstanceType = &v
  36701. return s
  36702. }
  36703. // SetMonitoring sets the Monitoring field's value.
  36704. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  36705. s.Monitoring = &v
  36706. return s
  36707. }
  36708. // SetPlacement sets the Placement field's value.
  36709. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  36710. s.Placement = v
  36711. return s
  36712. }
  36713. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36714. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  36715. s.PrivateIpAddress = &v
  36716. return s
  36717. }
  36718. // SetSubnetId sets the SubnetId field's value.
  36719. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  36720. s.SubnetId = &v
  36721. return s
  36722. }
  36723. // SetUserData sets the UserData field's value.
  36724. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  36725. s.UserData = v
  36726. return s
  36727. }
  36728. // Contains the output for ImportInstance.
  36729. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceResult
  36730. type ImportInstanceOutput struct {
  36731. _ struct{} `type:"structure"`
  36732. // Information about the conversion task.
  36733. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  36734. }
  36735. // String returns the string representation
  36736. func (s ImportInstanceOutput) String() string {
  36737. return awsutil.Prettify(s)
  36738. }
  36739. // GoString returns the string representation
  36740. func (s ImportInstanceOutput) GoString() string {
  36741. return s.String()
  36742. }
  36743. // SetConversionTask sets the ConversionTask field's value.
  36744. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  36745. s.ConversionTask = v
  36746. return s
  36747. }
  36748. // Describes an import instance task.
  36749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceTaskDetails
  36750. type ImportInstanceTaskDetails struct {
  36751. _ struct{} `type:"structure"`
  36752. // A description of the task.
  36753. Description *string `locationName:"description" type:"string"`
  36754. // The ID of the instance.
  36755. InstanceId *string `locationName:"instanceId" type:"string"`
  36756. // The instance operating system.
  36757. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  36758. // One or more volumes.
  36759. //
  36760. // Volumes is a required field
  36761. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  36762. }
  36763. // String returns the string representation
  36764. func (s ImportInstanceTaskDetails) String() string {
  36765. return awsutil.Prettify(s)
  36766. }
  36767. // GoString returns the string representation
  36768. func (s ImportInstanceTaskDetails) GoString() string {
  36769. return s.String()
  36770. }
  36771. // SetDescription sets the Description field's value.
  36772. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  36773. s.Description = &v
  36774. return s
  36775. }
  36776. // SetInstanceId sets the InstanceId field's value.
  36777. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  36778. s.InstanceId = &v
  36779. return s
  36780. }
  36781. // SetPlatform sets the Platform field's value.
  36782. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  36783. s.Platform = &v
  36784. return s
  36785. }
  36786. // SetVolumes sets the Volumes field's value.
  36787. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  36788. s.Volumes = v
  36789. return s
  36790. }
  36791. // Describes an import volume task.
  36792. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceVolumeDetailItem
  36793. type ImportInstanceVolumeDetailItem struct {
  36794. _ struct{} `type:"structure"`
  36795. // The Availability Zone where the resulting instance will reside.
  36796. //
  36797. // AvailabilityZone is a required field
  36798. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  36799. // The number of bytes converted so far.
  36800. //
  36801. // BytesConverted is a required field
  36802. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  36803. // A description of the task.
  36804. Description *string `locationName:"description" type:"string"`
  36805. // The image.
  36806. //
  36807. // Image is a required field
  36808. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  36809. // The status of the import of this particular disk image.
  36810. //
  36811. // Status is a required field
  36812. Status *string `locationName:"status" type:"string" required:"true"`
  36813. // The status information or errors related to the disk image.
  36814. StatusMessage *string `locationName:"statusMessage" type:"string"`
  36815. // The volume.
  36816. //
  36817. // Volume is a required field
  36818. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  36819. }
  36820. // String returns the string representation
  36821. func (s ImportInstanceVolumeDetailItem) String() string {
  36822. return awsutil.Prettify(s)
  36823. }
  36824. // GoString returns the string representation
  36825. func (s ImportInstanceVolumeDetailItem) GoString() string {
  36826. return s.String()
  36827. }
  36828. // SetAvailabilityZone sets the AvailabilityZone field's value.
  36829. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  36830. s.AvailabilityZone = &v
  36831. return s
  36832. }
  36833. // SetBytesConverted sets the BytesConverted field's value.
  36834. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  36835. s.BytesConverted = &v
  36836. return s
  36837. }
  36838. // SetDescription sets the Description field's value.
  36839. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  36840. s.Description = &v
  36841. return s
  36842. }
  36843. // SetImage sets the Image field's value.
  36844. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  36845. s.Image = v
  36846. return s
  36847. }
  36848. // SetStatus sets the Status field's value.
  36849. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  36850. s.Status = &v
  36851. return s
  36852. }
  36853. // SetStatusMessage sets the StatusMessage field's value.
  36854. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  36855. s.StatusMessage = &v
  36856. return s
  36857. }
  36858. // SetVolume sets the Volume field's value.
  36859. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  36860. s.Volume = v
  36861. return s
  36862. }
  36863. // Contains the parameters for ImportKeyPair.
  36864. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairRequest
  36865. type ImportKeyPairInput struct {
  36866. _ struct{} `type:"structure"`
  36867. // Checks whether you have the required permissions for the action, without
  36868. // actually making the request, and provides an error response. If you have
  36869. // the required permissions, the error response is DryRunOperation. Otherwise,
  36870. // it is UnauthorizedOperation.
  36871. DryRun *bool `locationName:"dryRun" type:"boolean"`
  36872. // A unique name for the key pair.
  36873. //
  36874. // KeyName is a required field
  36875. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  36876. // The public key. For API calls, the text must be base64-encoded. For command
  36877. // line tools, base64 encoding is performed for you.
  36878. //
  36879. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  36880. //
  36881. // PublicKeyMaterial is a required field
  36882. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  36883. }
  36884. // String returns the string representation
  36885. func (s ImportKeyPairInput) String() string {
  36886. return awsutil.Prettify(s)
  36887. }
  36888. // GoString returns the string representation
  36889. func (s ImportKeyPairInput) GoString() string {
  36890. return s.String()
  36891. }
  36892. // Validate inspects the fields of the type to determine if they are valid.
  36893. func (s *ImportKeyPairInput) Validate() error {
  36894. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  36895. if s.KeyName == nil {
  36896. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  36897. }
  36898. if s.PublicKeyMaterial == nil {
  36899. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  36900. }
  36901. if invalidParams.Len() > 0 {
  36902. return invalidParams
  36903. }
  36904. return nil
  36905. }
  36906. // SetDryRun sets the DryRun field's value.
  36907. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  36908. s.DryRun = &v
  36909. return s
  36910. }
  36911. // SetKeyName sets the KeyName field's value.
  36912. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  36913. s.KeyName = &v
  36914. return s
  36915. }
  36916. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  36917. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  36918. s.PublicKeyMaterial = v
  36919. return s
  36920. }
  36921. // Contains the output of ImportKeyPair.
  36922. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairResult
  36923. type ImportKeyPairOutput struct {
  36924. _ struct{} `type:"structure"`
  36925. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  36926. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  36927. // The key pair name you provided.
  36928. KeyName *string `locationName:"keyName" type:"string"`
  36929. }
  36930. // String returns the string representation
  36931. func (s ImportKeyPairOutput) String() string {
  36932. return awsutil.Prettify(s)
  36933. }
  36934. // GoString returns the string representation
  36935. func (s ImportKeyPairOutput) GoString() string {
  36936. return s.String()
  36937. }
  36938. // SetKeyFingerprint sets the KeyFingerprint field's value.
  36939. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  36940. s.KeyFingerprint = &v
  36941. return s
  36942. }
  36943. // SetKeyName sets the KeyName field's value.
  36944. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  36945. s.KeyName = &v
  36946. return s
  36947. }
  36948. // Contains the parameters for ImportSnapshot.
  36949. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotRequest
  36950. type ImportSnapshotInput struct {
  36951. _ struct{} `type:"structure"`
  36952. // The client-specific data.
  36953. ClientData *ClientData `type:"structure"`
  36954. // Token to enable idempotency for VM import requests.
  36955. ClientToken *string `type:"string"`
  36956. // The description string for the import snapshot task.
  36957. Description *string `type:"string"`
  36958. // Information about the disk container.
  36959. DiskContainer *SnapshotDiskContainer `type:"structure"`
  36960. // Checks whether you have the required permissions for the action, without
  36961. // actually making the request, and provides an error response. If you have
  36962. // the required permissions, the error response is DryRunOperation. Otherwise,
  36963. // it is UnauthorizedOperation.
  36964. DryRun *bool `type:"boolean"`
  36965. // The name of the role to use when not using the default role, 'vmimport'.
  36966. RoleName *string `type:"string"`
  36967. }
  36968. // String returns the string representation
  36969. func (s ImportSnapshotInput) String() string {
  36970. return awsutil.Prettify(s)
  36971. }
  36972. // GoString returns the string representation
  36973. func (s ImportSnapshotInput) GoString() string {
  36974. return s.String()
  36975. }
  36976. // SetClientData sets the ClientData field's value.
  36977. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  36978. s.ClientData = v
  36979. return s
  36980. }
  36981. // SetClientToken sets the ClientToken field's value.
  36982. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  36983. s.ClientToken = &v
  36984. return s
  36985. }
  36986. // SetDescription sets the Description field's value.
  36987. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  36988. s.Description = &v
  36989. return s
  36990. }
  36991. // SetDiskContainer sets the DiskContainer field's value.
  36992. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  36993. s.DiskContainer = v
  36994. return s
  36995. }
  36996. // SetDryRun sets the DryRun field's value.
  36997. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  36998. s.DryRun = &v
  36999. return s
  37000. }
  37001. // SetRoleName sets the RoleName field's value.
  37002. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  37003. s.RoleName = &v
  37004. return s
  37005. }
  37006. // Contains the output for ImportSnapshot.
  37007. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotResult
  37008. type ImportSnapshotOutput struct {
  37009. _ struct{} `type:"structure"`
  37010. // A description of the import snapshot task.
  37011. Description *string `locationName:"description" type:"string"`
  37012. // The ID of the import snapshot task.
  37013. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  37014. // Information about the import snapshot task.
  37015. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  37016. }
  37017. // String returns the string representation
  37018. func (s ImportSnapshotOutput) String() string {
  37019. return awsutil.Prettify(s)
  37020. }
  37021. // GoString returns the string representation
  37022. func (s ImportSnapshotOutput) GoString() string {
  37023. return s.String()
  37024. }
  37025. // SetDescription sets the Description field's value.
  37026. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  37027. s.Description = &v
  37028. return s
  37029. }
  37030. // SetImportTaskId sets the ImportTaskId field's value.
  37031. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  37032. s.ImportTaskId = &v
  37033. return s
  37034. }
  37035. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  37036. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  37037. s.SnapshotTaskDetail = v
  37038. return s
  37039. }
  37040. // Describes an import snapshot task.
  37041. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotTask
  37042. type ImportSnapshotTask struct {
  37043. _ struct{} `type:"structure"`
  37044. // A description of the import snapshot task.
  37045. Description *string `locationName:"description" type:"string"`
  37046. // The ID of the import snapshot task.
  37047. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  37048. // Describes an import snapshot task.
  37049. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  37050. }
  37051. // String returns the string representation
  37052. func (s ImportSnapshotTask) String() string {
  37053. return awsutil.Prettify(s)
  37054. }
  37055. // GoString returns the string representation
  37056. func (s ImportSnapshotTask) GoString() string {
  37057. return s.String()
  37058. }
  37059. // SetDescription sets the Description field's value.
  37060. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  37061. s.Description = &v
  37062. return s
  37063. }
  37064. // SetImportTaskId sets the ImportTaskId field's value.
  37065. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  37066. s.ImportTaskId = &v
  37067. return s
  37068. }
  37069. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  37070. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  37071. s.SnapshotTaskDetail = v
  37072. return s
  37073. }
  37074. // Contains the parameters for ImportVolume.
  37075. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeRequest
  37076. type ImportVolumeInput struct {
  37077. _ struct{} `type:"structure"`
  37078. // The Availability Zone for the resulting EBS volume.
  37079. //
  37080. // AvailabilityZone is a required field
  37081. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  37082. // A description of the volume.
  37083. Description *string `locationName:"description" type:"string"`
  37084. // Checks whether you have the required permissions for the action, without
  37085. // actually making the request, and provides an error response. If you have
  37086. // the required permissions, the error response is DryRunOperation. Otherwise,
  37087. // it is UnauthorizedOperation.
  37088. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37089. // The disk image.
  37090. //
  37091. // Image is a required field
  37092. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  37093. // The volume size.
  37094. //
  37095. // Volume is a required field
  37096. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  37097. }
  37098. // String returns the string representation
  37099. func (s ImportVolumeInput) String() string {
  37100. return awsutil.Prettify(s)
  37101. }
  37102. // GoString returns the string representation
  37103. func (s ImportVolumeInput) GoString() string {
  37104. return s.String()
  37105. }
  37106. // Validate inspects the fields of the type to determine if they are valid.
  37107. func (s *ImportVolumeInput) Validate() error {
  37108. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  37109. if s.AvailabilityZone == nil {
  37110. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  37111. }
  37112. if s.Image == nil {
  37113. invalidParams.Add(request.NewErrParamRequired("Image"))
  37114. }
  37115. if s.Volume == nil {
  37116. invalidParams.Add(request.NewErrParamRequired("Volume"))
  37117. }
  37118. if s.Image != nil {
  37119. if err := s.Image.Validate(); err != nil {
  37120. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  37121. }
  37122. }
  37123. if s.Volume != nil {
  37124. if err := s.Volume.Validate(); err != nil {
  37125. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  37126. }
  37127. }
  37128. if invalidParams.Len() > 0 {
  37129. return invalidParams
  37130. }
  37131. return nil
  37132. }
  37133. // SetAvailabilityZone sets the AvailabilityZone field's value.
  37134. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  37135. s.AvailabilityZone = &v
  37136. return s
  37137. }
  37138. // SetDescription sets the Description field's value.
  37139. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  37140. s.Description = &v
  37141. return s
  37142. }
  37143. // SetDryRun sets the DryRun field's value.
  37144. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  37145. s.DryRun = &v
  37146. return s
  37147. }
  37148. // SetImage sets the Image field's value.
  37149. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  37150. s.Image = v
  37151. return s
  37152. }
  37153. // SetVolume sets the Volume field's value.
  37154. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  37155. s.Volume = v
  37156. return s
  37157. }
  37158. // Contains the output for ImportVolume.
  37159. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeResult
  37160. type ImportVolumeOutput struct {
  37161. _ struct{} `type:"structure"`
  37162. // Information about the conversion task.
  37163. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  37164. }
  37165. // String returns the string representation
  37166. func (s ImportVolumeOutput) String() string {
  37167. return awsutil.Prettify(s)
  37168. }
  37169. // GoString returns the string representation
  37170. func (s ImportVolumeOutput) GoString() string {
  37171. return s.String()
  37172. }
  37173. // SetConversionTask sets the ConversionTask field's value.
  37174. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  37175. s.ConversionTask = v
  37176. return s
  37177. }
  37178. // Describes an import volume task.
  37179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeTaskDetails
  37180. type ImportVolumeTaskDetails struct {
  37181. _ struct{} `type:"structure"`
  37182. // The Availability Zone where the resulting volume will reside.
  37183. //
  37184. // AvailabilityZone is a required field
  37185. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  37186. // The number of bytes converted so far.
  37187. //
  37188. // BytesConverted is a required field
  37189. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  37190. // The description you provided when starting the import volume task.
  37191. Description *string `locationName:"description" type:"string"`
  37192. // The image.
  37193. //
  37194. // Image is a required field
  37195. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  37196. // The volume.
  37197. //
  37198. // Volume is a required field
  37199. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  37200. }
  37201. // String returns the string representation
  37202. func (s ImportVolumeTaskDetails) String() string {
  37203. return awsutil.Prettify(s)
  37204. }
  37205. // GoString returns the string representation
  37206. func (s ImportVolumeTaskDetails) GoString() string {
  37207. return s.String()
  37208. }
  37209. // SetAvailabilityZone sets the AvailabilityZone field's value.
  37210. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  37211. s.AvailabilityZone = &v
  37212. return s
  37213. }
  37214. // SetBytesConverted sets the BytesConverted field's value.
  37215. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  37216. s.BytesConverted = &v
  37217. return s
  37218. }
  37219. // SetDescription sets the Description field's value.
  37220. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  37221. s.Description = &v
  37222. return s
  37223. }
  37224. // SetImage sets the Image field's value.
  37225. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  37226. s.Image = v
  37227. return s
  37228. }
  37229. // SetVolume sets the Volume field's value.
  37230. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  37231. s.Volume = v
  37232. return s
  37233. }
  37234. // Describes an instance.
  37235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance
  37236. type Instance struct {
  37237. _ struct{} `type:"structure"`
  37238. // The AMI launch index, which can be used to find this instance in the launch
  37239. // group.
  37240. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  37241. // The architecture of the image.
  37242. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  37243. // Any block device mapping entries for the instance.
  37244. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  37245. // The idempotency token you provided when you launched the instance, if applicable.
  37246. ClientToken *string `locationName:"clientToken" type:"string"`
  37247. // Indicates whether the instance is optimized for EBS I/O. This optimization
  37248. // provides dedicated throughput to Amazon EBS and an optimized configuration
  37249. // stack to provide optimal I/O performance. This optimization isn't available
  37250. // with all instance types. Additional usage charges apply when using an EBS
  37251. // Optimized instance.
  37252. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  37253. // The Elastic GPU associated with the instance.
  37254. ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
  37255. // Specifies whether enhanced networking with ENA is enabled.
  37256. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  37257. // The hypervisor type of the instance.
  37258. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  37259. // The IAM instance profile associated with the instance, if applicable.
  37260. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  37261. // The ID of the AMI used to launch the instance.
  37262. ImageId *string `locationName:"imageId" type:"string"`
  37263. // The ID of the instance.
  37264. InstanceId *string `locationName:"instanceId" type:"string"`
  37265. // Indicates whether this is a Spot instance or a Scheduled Instance.
  37266. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  37267. // The instance type.
  37268. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  37269. // The kernel associated with this instance, if applicable.
  37270. KernelId *string `locationName:"kernelId" type:"string"`
  37271. // The name of the key pair, if this instance was launched with an associated
  37272. // key pair.
  37273. KeyName *string `locationName:"keyName" type:"string"`
  37274. // The time the instance was launched.
  37275. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  37276. // The monitoring for the instance.
  37277. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  37278. // [EC2-VPC] One or more network interfaces for the instance.
  37279. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  37280. // The location where the instance launched, if applicable.
  37281. Placement *Placement `locationName:"placement" type:"structure"`
  37282. // The value is Windows for Windows instances; otherwise blank.
  37283. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  37284. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  37285. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  37286. // not available until the instance enters the running state.
  37287. //
  37288. // [EC2-VPC] The Amazon-provided DNS server will resolve Amazon-provided private
  37289. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  37290. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  37291. // custom domain name servers must resolve the hostname as appropriate.
  37292. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  37293. // The private IPv4 address assigned to the instance.
  37294. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  37295. // The product codes attached to this instance, if applicable.
  37296. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  37297. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  37298. // available until the instance enters the running state. For EC2-VPC, this
  37299. // name is only available if you've enabled DNS hostnames for your VPC.
  37300. PublicDnsName *string `locationName:"dnsName" type:"string"`
  37301. // The public IPv4 address assigned to the instance, if applicable.
  37302. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  37303. // The RAM disk associated with this instance, if applicable.
  37304. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  37305. // The root device name (for example, /dev/sda1 or /dev/xvda).
  37306. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  37307. // The root device type used by the AMI. The AMI can use an EBS volume or an
  37308. // instance store volume.
  37309. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  37310. // One or more security groups for the instance.
  37311. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  37312. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  37313. // This controls whether source/destination checking is enabled on the instance.
  37314. // A value of true means checking is enabled, and false means checking is disabled.
  37315. // The value must be false for the instance to perform NAT. For more information,
  37316. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  37317. // in the Amazon Virtual Private Cloud User Guide.
  37318. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  37319. // If the request is a Spot instance request, the ID of the request.
  37320. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  37321. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  37322. // interface is enabled.
  37323. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  37324. // The current state of the instance.
  37325. State *InstanceState `locationName:"instanceState" type:"structure"`
  37326. // The reason for the most recent state transition.
  37327. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  37328. // The reason for the most recent state transition. This might be an empty string.
  37329. StateTransitionReason *string `locationName:"reason" type:"string"`
  37330. // [EC2-VPC] The ID of the subnet in which the instance is running.
  37331. SubnetId *string `locationName:"subnetId" type:"string"`
  37332. // Any tags assigned to the instance.
  37333. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  37334. // The virtualization type of the instance.
  37335. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  37336. // [EC2-VPC] The ID of the VPC in which the instance is running.
  37337. VpcId *string `locationName:"vpcId" type:"string"`
  37338. }
  37339. // String returns the string representation
  37340. func (s Instance) String() string {
  37341. return awsutil.Prettify(s)
  37342. }
  37343. // GoString returns the string representation
  37344. func (s Instance) GoString() string {
  37345. return s.String()
  37346. }
  37347. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  37348. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  37349. s.AmiLaunchIndex = &v
  37350. return s
  37351. }
  37352. // SetArchitecture sets the Architecture field's value.
  37353. func (s *Instance) SetArchitecture(v string) *Instance {
  37354. s.Architecture = &v
  37355. return s
  37356. }
  37357. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37358. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  37359. s.BlockDeviceMappings = v
  37360. return s
  37361. }
  37362. // SetClientToken sets the ClientToken field's value.
  37363. func (s *Instance) SetClientToken(v string) *Instance {
  37364. s.ClientToken = &v
  37365. return s
  37366. }
  37367. // SetEbsOptimized sets the EbsOptimized field's value.
  37368. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  37369. s.EbsOptimized = &v
  37370. return s
  37371. }
  37372. // SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
  37373. func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
  37374. s.ElasticGpuAssociations = v
  37375. return s
  37376. }
  37377. // SetEnaSupport sets the EnaSupport field's value.
  37378. func (s *Instance) SetEnaSupport(v bool) *Instance {
  37379. s.EnaSupport = &v
  37380. return s
  37381. }
  37382. // SetHypervisor sets the Hypervisor field's value.
  37383. func (s *Instance) SetHypervisor(v string) *Instance {
  37384. s.Hypervisor = &v
  37385. return s
  37386. }
  37387. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  37388. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  37389. s.IamInstanceProfile = v
  37390. return s
  37391. }
  37392. // SetImageId sets the ImageId field's value.
  37393. func (s *Instance) SetImageId(v string) *Instance {
  37394. s.ImageId = &v
  37395. return s
  37396. }
  37397. // SetInstanceId sets the InstanceId field's value.
  37398. func (s *Instance) SetInstanceId(v string) *Instance {
  37399. s.InstanceId = &v
  37400. return s
  37401. }
  37402. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  37403. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  37404. s.InstanceLifecycle = &v
  37405. return s
  37406. }
  37407. // SetInstanceType sets the InstanceType field's value.
  37408. func (s *Instance) SetInstanceType(v string) *Instance {
  37409. s.InstanceType = &v
  37410. return s
  37411. }
  37412. // SetKernelId sets the KernelId field's value.
  37413. func (s *Instance) SetKernelId(v string) *Instance {
  37414. s.KernelId = &v
  37415. return s
  37416. }
  37417. // SetKeyName sets the KeyName field's value.
  37418. func (s *Instance) SetKeyName(v string) *Instance {
  37419. s.KeyName = &v
  37420. return s
  37421. }
  37422. // SetLaunchTime sets the LaunchTime field's value.
  37423. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  37424. s.LaunchTime = &v
  37425. return s
  37426. }
  37427. // SetMonitoring sets the Monitoring field's value.
  37428. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  37429. s.Monitoring = v
  37430. return s
  37431. }
  37432. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  37433. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  37434. s.NetworkInterfaces = v
  37435. return s
  37436. }
  37437. // SetPlacement sets the Placement field's value.
  37438. func (s *Instance) SetPlacement(v *Placement) *Instance {
  37439. s.Placement = v
  37440. return s
  37441. }
  37442. // SetPlatform sets the Platform field's value.
  37443. func (s *Instance) SetPlatform(v string) *Instance {
  37444. s.Platform = &v
  37445. return s
  37446. }
  37447. // SetPrivateDnsName sets the PrivateDnsName field's value.
  37448. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  37449. s.PrivateDnsName = &v
  37450. return s
  37451. }
  37452. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  37453. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  37454. s.PrivateIpAddress = &v
  37455. return s
  37456. }
  37457. // SetProductCodes sets the ProductCodes field's value.
  37458. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  37459. s.ProductCodes = v
  37460. return s
  37461. }
  37462. // SetPublicDnsName sets the PublicDnsName field's value.
  37463. func (s *Instance) SetPublicDnsName(v string) *Instance {
  37464. s.PublicDnsName = &v
  37465. return s
  37466. }
  37467. // SetPublicIpAddress sets the PublicIpAddress field's value.
  37468. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  37469. s.PublicIpAddress = &v
  37470. return s
  37471. }
  37472. // SetRamdiskId sets the RamdiskId field's value.
  37473. func (s *Instance) SetRamdiskId(v string) *Instance {
  37474. s.RamdiskId = &v
  37475. return s
  37476. }
  37477. // SetRootDeviceName sets the RootDeviceName field's value.
  37478. func (s *Instance) SetRootDeviceName(v string) *Instance {
  37479. s.RootDeviceName = &v
  37480. return s
  37481. }
  37482. // SetRootDeviceType sets the RootDeviceType field's value.
  37483. func (s *Instance) SetRootDeviceType(v string) *Instance {
  37484. s.RootDeviceType = &v
  37485. return s
  37486. }
  37487. // SetSecurityGroups sets the SecurityGroups field's value.
  37488. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  37489. s.SecurityGroups = v
  37490. return s
  37491. }
  37492. // SetSourceDestCheck sets the SourceDestCheck field's value.
  37493. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  37494. s.SourceDestCheck = &v
  37495. return s
  37496. }
  37497. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  37498. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  37499. s.SpotInstanceRequestId = &v
  37500. return s
  37501. }
  37502. // SetSriovNetSupport sets the SriovNetSupport field's value.
  37503. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  37504. s.SriovNetSupport = &v
  37505. return s
  37506. }
  37507. // SetState sets the State field's value.
  37508. func (s *Instance) SetState(v *InstanceState) *Instance {
  37509. s.State = v
  37510. return s
  37511. }
  37512. // SetStateReason sets the StateReason field's value.
  37513. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  37514. s.StateReason = v
  37515. return s
  37516. }
  37517. // SetStateTransitionReason sets the StateTransitionReason field's value.
  37518. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  37519. s.StateTransitionReason = &v
  37520. return s
  37521. }
  37522. // SetSubnetId sets the SubnetId field's value.
  37523. func (s *Instance) SetSubnetId(v string) *Instance {
  37524. s.SubnetId = &v
  37525. return s
  37526. }
  37527. // SetTags sets the Tags field's value.
  37528. func (s *Instance) SetTags(v []*Tag) *Instance {
  37529. s.Tags = v
  37530. return s
  37531. }
  37532. // SetVirtualizationType sets the VirtualizationType field's value.
  37533. func (s *Instance) SetVirtualizationType(v string) *Instance {
  37534. s.VirtualizationType = &v
  37535. return s
  37536. }
  37537. // SetVpcId sets the VpcId field's value.
  37538. func (s *Instance) SetVpcId(v string) *Instance {
  37539. s.VpcId = &v
  37540. return s
  37541. }
  37542. // Describes a block device mapping.
  37543. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMapping
  37544. type InstanceBlockDeviceMapping struct {
  37545. _ struct{} `type:"structure"`
  37546. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  37547. DeviceName *string `locationName:"deviceName" type:"string"`
  37548. // Parameters used to automatically set up EBS volumes when the instance is
  37549. // launched.
  37550. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  37551. }
  37552. // String returns the string representation
  37553. func (s InstanceBlockDeviceMapping) String() string {
  37554. return awsutil.Prettify(s)
  37555. }
  37556. // GoString returns the string representation
  37557. func (s InstanceBlockDeviceMapping) GoString() string {
  37558. return s.String()
  37559. }
  37560. // SetDeviceName sets the DeviceName field's value.
  37561. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  37562. s.DeviceName = &v
  37563. return s
  37564. }
  37565. // SetEbs sets the Ebs field's value.
  37566. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  37567. s.Ebs = v
  37568. return s
  37569. }
  37570. // Describes a block device mapping entry.
  37571. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMappingSpecification
  37572. type InstanceBlockDeviceMappingSpecification struct {
  37573. _ struct{} `type:"structure"`
  37574. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  37575. DeviceName *string `locationName:"deviceName" type:"string"`
  37576. // Parameters used to automatically set up EBS volumes when the instance is
  37577. // launched.
  37578. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  37579. // suppress the specified device included in the block device mapping.
  37580. NoDevice *string `locationName:"noDevice" type:"string"`
  37581. // The virtual device name.
  37582. VirtualName *string `locationName:"virtualName" type:"string"`
  37583. }
  37584. // String returns the string representation
  37585. func (s InstanceBlockDeviceMappingSpecification) String() string {
  37586. return awsutil.Prettify(s)
  37587. }
  37588. // GoString returns the string representation
  37589. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  37590. return s.String()
  37591. }
  37592. // SetDeviceName sets the DeviceName field's value.
  37593. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  37594. s.DeviceName = &v
  37595. return s
  37596. }
  37597. // SetEbs sets the Ebs field's value.
  37598. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  37599. s.Ebs = v
  37600. return s
  37601. }
  37602. // SetNoDevice sets the NoDevice field's value.
  37603. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  37604. s.NoDevice = &v
  37605. return s
  37606. }
  37607. // SetVirtualName sets the VirtualName field's value.
  37608. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  37609. s.VirtualName = &v
  37610. return s
  37611. }
  37612. // Information about the instance type that the Dedicated Host supports.
  37613. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCapacity
  37614. type InstanceCapacity struct {
  37615. _ struct{} `type:"structure"`
  37616. // The number of instances that can still be launched onto the Dedicated Host.
  37617. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  37618. // The instance type size supported by the Dedicated Host.
  37619. InstanceType *string `locationName:"instanceType" type:"string"`
  37620. // The total number of instances that can be launched onto the Dedicated Host.
  37621. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  37622. }
  37623. // String returns the string representation
  37624. func (s InstanceCapacity) String() string {
  37625. return awsutil.Prettify(s)
  37626. }
  37627. // GoString returns the string representation
  37628. func (s InstanceCapacity) GoString() string {
  37629. return s.String()
  37630. }
  37631. // SetAvailableCapacity sets the AvailableCapacity field's value.
  37632. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  37633. s.AvailableCapacity = &v
  37634. return s
  37635. }
  37636. // SetInstanceType sets the InstanceType field's value.
  37637. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  37638. s.InstanceType = &v
  37639. return s
  37640. }
  37641. // SetTotalCapacity sets the TotalCapacity field's value.
  37642. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  37643. s.TotalCapacity = &v
  37644. return s
  37645. }
  37646. // Describes a Reserved Instance listing state.
  37647. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCount
  37648. type InstanceCount struct {
  37649. _ struct{} `type:"structure"`
  37650. // The number of listed Reserved Instances in the state specified by the state.
  37651. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  37652. // The states of the listed Reserved Instances.
  37653. State *string `locationName:"state" type:"string" enum:"ListingState"`
  37654. }
  37655. // String returns the string representation
  37656. func (s InstanceCount) String() string {
  37657. return awsutil.Prettify(s)
  37658. }
  37659. // GoString returns the string representation
  37660. func (s InstanceCount) GoString() string {
  37661. return s.String()
  37662. }
  37663. // SetInstanceCount sets the InstanceCount field's value.
  37664. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  37665. s.InstanceCount = &v
  37666. return s
  37667. }
  37668. // SetState sets the State field's value.
  37669. func (s *InstanceCount) SetState(v string) *InstanceCount {
  37670. s.State = &v
  37671. return s
  37672. }
  37673. // Describes an instance to export.
  37674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceExportDetails
  37675. type InstanceExportDetails struct {
  37676. _ struct{} `type:"structure"`
  37677. // The ID of the resource being exported.
  37678. InstanceId *string `locationName:"instanceId" type:"string"`
  37679. // The target virtualization environment.
  37680. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  37681. }
  37682. // String returns the string representation
  37683. func (s InstanceExportDetails) String() string {
  37684. return awsutil.Prettify(s)
  37685. }
  37686. // GoString returns the string representation
  37687. func (s InstanceExportDetails) GoString() string {
  37688. return s.String()
  37689. }
  37690. // SetInstanceId sets the InstanceId field's value.
  37691. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  37692. s.InstanceId = &v
  37693. return s
  37694. }
  37695. // SetTargetEnvironment sets the TargetEnvironment field's value.
  37696. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  37697. s.TargetEnvironment = &v
  37698. return s
  37699. }
  37700. // Describes an IPv6 address.
  37701. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceIpv6Address
  37702. type InstanceIpv6Address struct {
  37703. _ struct{} `type:"structure"`
  37704. // The IPv6 address.
  37705. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  37706. }
  37707. // String returns the string representation
  37708. func (s InstanceIpv6Address) String() string {
  37709. return awsutil.Prettify(s)
  37710. }
  37711. // GoString returns the string representation
  37712. func (s InstanceIpv6Address) GoString() string {
  37713. return s.String()
  37714. }
  37715. // SetIpv6Address sets the Ipv6Address field's value.
  37716. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  37717. s.Ipv6Address = &v
  37718. return s
  37719. }
  37720. // Describes the monitoring of an instance.
  37721. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceMonitoring
  37722. type InstanceMonitoring struct {
  37723. _ struct{} `type:"structure"`
  37724. // The ID of the instance.
  37725. InstanceId *string `locationName:"instanceId" type:"string"`
  37726. // The monitoring for the instance.
  37727. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  37728. }
  37729. // String returns the string representation
  37730. func (s InstanceMonitoring) String() string {
  37731. return awsutil.Prettify(s)
  37732. }
  37733. // GoString returns the string representation
  37734. func (s InstanceMonitoring) GoString() string {
  37735. return s.String()
  37736. }
  37737. // SetInstanceId sets the InstanceId field's value.
  37738. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  37739. s.InstanceId = &v
  37740. return s
  37741. }
  37742. // SetMonitoring sets the Monitoring field's value.
  37743. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  37744. s.Monitoring = v
  37745. return s
  37746. }
  37747. // Describes a network interface.
  37748. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterface
  37749. type InstanceNetworkInterface struct {
  37750. _ struct{} `type:"structure"`
  37751. // The association information for an Elastic IPv4 associated with the network
  37752. // interface.
  37753. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  37754. // The network interface attachment.
  37755. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  37756. // The description.
  37757. Description *string `locationName:"description" type:"string"`
  37758. // One or more security groups.
  37759. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  37760. // One or more IPv6 addresses associated with the network interface.
  37761. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  37762. // The MAC address.
  37763. MacAddress *string `locationName:"macAddress" type:"string"`
  37764. // The ID of the network interface.
  37765. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  37766. // The ID of the AWS account that created the network interface.
  37767. OwnerId *string `locationName:"ownerId" type:"string"`
  37768. // The private DNS name.
  37769. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  37770. // The IPv4 address of the network interface within the subnet.
  37771. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  37772. // One or more private IPv4 addresses associated with the network interface.
  37773. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  37774. // Indicates whether to validate network traffic to or from this network interface.
  37775. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  37776. // The status of the network interface.
  37777. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  37778. // The ID of the subnet.
  37779. SubnetId *string `locationName:"subnetId" type:"string"`
  37780. // The ID of the VPC.
  37781. VpcId *string `locationName:"vpcId" type:"string"`
  37782. }
  37783. // String returns the string representation
  37784. func (s InstanceNetworkInterface) String() string {
  37785. return awsutil.Prettify(s)
  37786. }
  37787. // GoString returns the string representation
  37788. func (s InstanceNetworkInterface) GoString() string {
  37789. return s.String()
  37790. }
  37791. // SetAssociation sets the Association field's value.
  37792. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  37793. s.Association = v
  37794. return s
  37795. }
  37796. // SetAttachment sets the Attachment field's value.
  37797. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  37798. s.Attachment = v
  37799. return s
  37800. }
  37801. // SetDescription sets the Description field's value.
  37802. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  37803. s.Description = &v
  37804. return s
  37805. }
  37806. // SetGroups sets the Groups field's value.
  37807. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  37808. s.Groups = v
  37809. return s
  37810. }
  37811. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  37812. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  37813. s.Ipv6Addresses = v
  37814. return s
  37815. }
  37816. // SetMacAddress sets the MacAddress field's value.
  37817. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  37818. s.MacAddress = &v
  37819. return s
  37820. }
  37821. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  37822. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  37823. s.NetworkInterfaceId = &v
  37824. return s
  37825. }
  37826. // SetOwnerId sets the OwnerId field's value.
  37827. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  37828. s.OwnerId = &v
  37829. return s
  37830. }
  37831. // SetPrivateDnsName sets the PrivateDnsName field's value.
  37832. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  37833. s.PrivateDnsName = &v
  37834. return s
  37835. }
  37836. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  37837. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  37838. s.PrivateIpAddress = &v
  37839. return s
  37840. }
  37841. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  37842. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  37843. s.PrivateIpAddresses = v
  37844. return s
  37845. }
  37846. // SetSourceDestCheck sets the SourceDestCheck field's value.
  37847. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  37848. s.SourceDestCheck = &v
  37849. return s
  37850. }
  37851. // SetStatus sets the Status field's value.
  37852. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  37853. s.Status = &v
  37854. return s
  37855. }
  37856. // SetSubnetId sets the SubnetId field's value.
  37857. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  37858. s.SubnetId = &v
  37859. return s
  37860. }
  37861. // SetVpcId sets the VpcId field's value.
  37862. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  37863. s.VpcId = &v
  37864. return s
  37865. }
  37866. // Describes association information for an Elastic IP address (IPv4).
  37867. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAssociation
  37868. type InstanceNetworkInterfaceAssociation struct {
  37869. _ struct{} `type:"structure"`
  37870. // The ID of the owner of the Elastic IP address.
  37871. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  37872. // The public DNS name.
  37873. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  37874. // The public IP address or Elastic IP address bound to the network interface.
  37875. PublicIp *string `locationName:"publicIp" type:"string"`
  37876. }
  37877. // String returns the string representation
  37878. func (s InstanceNetworkInterfaceAssociation) String() string {
  37879. return awsutil.Prettify(s)
  37880. }
  37881. // GoString returns the string representation
  37882. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  37883. return s.String()
  37884. }
  37885. // SetIpOwnerId sets the IpOwnerId field's value.
  37886. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  37887. s.IpOwnerId = &v
  37888. return s
  37889. }
  37890. // SetPublicDnsName sets the PublicDnsName field's value.
  37891. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  37892. s.PublicDnsName = &v
  37893. return s
  37894. }
  37895. // SetPublicIp sets the PublicIp field's value.
  37896. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  37897. s.PublicIp = &v
  37898. return s
  37899. }
  37900. // Describes a network interface attachment.
  37901. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAttachment
  37902. type InstanceNetworkInterfaceAttachment struct {
  37903. _ struct{} `type:"structure"`
  37904. // The time stamp when the attachment initiated.
  37905. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  37906. // The ID of the network interface attachment.
  37907. AttachmentId *string `locationName:"attachmentId" type:"string"`
  37908. // Indicates whether the network interface is deleted when the instance is terminated.
  37909. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  37910. // The index of the device on the instance for the network interface attachment.
  37911. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  37912. // The attachment state.
  37913. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  37914. }
  37915. // String returns the string representation
  37916. func (s InstanceNetworkInterfaceAttachment) String() string {
  37917. return awsutil.Prettify(s)
  37918. }
  37919. // GoString returns the string representation
  37920. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  37921. return s.String()
  37922. }
  37923. // SetAttachTime sets the AttachTime field's value.
  37924. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  37925. s.AttachTime = &v
  37926. return s
  37927. }
  37928. // SetAttachmentId sets the AttachmentId field's value.
  37929. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  37930. s.AttachmentId = &v
  37931. return s
  37932. }
  37933. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  37934. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  37935. s.DeleteOnTermination = &v
  37936. return s
  37937. }
  37938. // SetDeviceIndex sets the DeviceIndex field's value.
  37939. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  37940. s.DeviceIndex = &v
  37941. return s
  37942. }
  37943. // SetStatus sets the Status field's value.
  37944. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  37945. s.Status = &v
  37946. return s
  37947. }
  37948. // Describes a network interface.
  37949. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceSpecification
  37950. type InstanceNetworkInterfaceSpecification struct {
  37951. _ struct{} `type:"structure"`
  37952. // Indicates whether to assign a public IPv4 address to an instance you launch
  37953. // in a VPC. The public IP address can only be assigned to a network interface
  37954. // for eth0, and can only be assigned to a new network interface, not an existing
  37955. // one. You cannot specify more than one network interface in the request. If
  37956. // launching into a default subnet, the default value is true.
  37957. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  37958. // If set to true, the interface is deleted when the instance is terminated.
  37959. // You can specify true only if creating a new network interface when launching
  37960. // an instance.
  37961. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  37962. // The description of the network interface. Applies only if creating a network
  37963. // interface when launching an instance.
  37964. Description *string `locationName:"description" type:"string"`
  37965. // The index of the device on the instance for the network interface attachment.
  37966. // If you are specifying a network interface in a RunInstances request, you
  37967. // must provide the device index.
  37968. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  37969. // The IDs of the security groups for the network interface. Applies only if
  37970. // creating a network interface when launching an instance.
  37971. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  37972. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  37973. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  37974. // this option and the option to assign specific IPv6 addresses in the same
  37975. // request. You can specify this option if you've specified a minimum number
  37976. // of instances to launch.
  37977. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  37978. // One or more IPv6 addresses to assign to the network interface. You cannot
  37979. // specify this option and the option to assign a number of IPv6 addresses in
  37980. // the same request. You cannot specify this option if you've specified a minimum
  37981. // number of instances to launch.
  37982. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  37983. // The ID of the network interface.
  37984. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  37985. // The private IPv4 address of the network interface. Applies only if creating
  37986. // a network interface when launching an instance. You cannot specify this option
  37987. // if you're launching more than one instance in a RunInstances request.
  37988. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  37989. // One or more private IPv4 addresses to assign to the network interface. Only
  37990. // one private IPv4 address can be designated as primary. You cannot specify
  37991. // this option if you're launching more than one instance in a RunInstances
  37992. // request.
  37993. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  37994. // The number of secondary private IPv4 addresses. You can't specify this option
  37995. // and specify more than one private IP address using the private IP addresses
  37996. // option. You cannot specify this option if you're launching more than one
  37997. // instance in a RunInstances request.
  37998. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  37999. // The ID of the subnet associated with the network string. Applies only if
  38000. // creating a network interface when launching an instance.
  38001. SubnetId *string `locationName:"subnetId" type:"string"`
  38002. }
  38003. // String returns the string representation
  38004. func (s InstanceNetworkInterfaceSpecification) String() string {
  38005. return awsutil.Prettify(s)
  38006. }
  38007. // GoString returns the string representation
  38008. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  38009. return s.String()
  38010. }
  38011. // Validate inspects the fields of the type to determine if they are valid.
  38012. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  38013. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  38014. if s.PrivateIpAddresses != nil {
  38015. for i, v := range s.PrivateIpAddresses {
  38016. if v == nil {
  38017. continue
  38018. }
  38019. if err := v.Validate(); err != nil {
  38020. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  38021. }
  38022. }
  38023. }
  38024. if invalidParams.Len() > 0 {
  38025. return invalidParams
  38026. }
  38027. return nil
  38028. }
  38029. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  38030. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  38031. s.AssociatePublicIpAddress = &v
  38032. return s
  38033. }
  38034. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  38035. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  38036. s.DeleteOnTermination = &v
  38037. return s
  38038. }
  38039. // SetDescription sets the Description field's value.
  38040. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  38041. s.Description = &v
  38042. return s
  38043. }
  38044. // SetDeviceIndex sets the DeviceIndex field's value.
  38045. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  38046. s.DeviceIndex = &v
  38047. return s
  38048. }
  38049. // SetGroups sets the Groups field's value.
  38050. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  38051. s.Groups = v
  38052. return s
  38053. }
  38054. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  38055. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  38056. s.Ipv6AddressCount = &v
  38057. return s
  38058. }
  38059. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  38060. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  38061. s.Ipv6Addresses = v
  38062. return s
  38063. }
  38064. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  38065. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  38066. s.NetworkInterfaceId = &v
  38067. return s
  38068. }
  38069. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  38070. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  38071. s.PrivateIpAddress = &v
  38072. return s
  38073. }
  38074. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  38075. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  38076. s.PrivateIpAddresses = v
  38077. return s
  38078. }
  38079. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  38080. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  38081. s.SecondaryPrivateIpAddressCount = &v
  38082. return s
  38083. }
  38084. // SetSubnetId sets the SubnetId field's value.
  38085. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  38086. s.SubnetId = &v
  38087. return s
  38088. }
  38089. // Describes a private IPv4 address.
  38090. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstancePrivateIpAddress
  38091. type InstancePrivateIpAddress struct {
  38092. _ struct{} `type:"structure"`
  38093. // The association information for an Elastic IP address for the network interface.
  38094. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  38095. // Indicates whether this IPv4 address is the primary private IP address of
  38096. // the network interface.
  38097. Primary *bool `locationName:"primary" type:"boolean"`
  38098. // The private IPv4 DNS name.
  38099. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  38100. // The private IPv4 address of the network interface.
  38101. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  38102. }
  38103. // String returns the string representation
  38104. func (s InstancePrivateIpAddress) String() string {
  38105. return awsutil.Prettify(s)
  38106. }
  38107. // GoString returns the string representation
  38108. func (s InstancePrivateIpAddress) GoString() string {
  38109. return s.String()
  38110. }
  38111. // SetAssociation sets the Association field's value.
  38112. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  38113. s.Association = v
  38114. return s
  38115. }
  38116. // SetPrimary sets the Primary field's value.
  38117. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  38118. s.Primary = &v
  38119. return s
  38120. }
  38121. // SetPrivateDnsName sets the PrivateDnsName field's value.
  38122. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  38123. s.PrivateDnsName = &v
  38124. return s
  38125. }
  38126. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  38127. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  38128. s.PrivateIpAddress = &v
  38129. return s
  38130. }
  38131. // Describes the current state of an instance.
  38132. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceState
  38133. type InstanceState struct {
  38134. _ struct{} `type:"structure"`
  38135. // The low byte represents the state. The high byte is an opaque internal value
  38136. // and should be ignored.
  38137. //
  38138. // * 0 : pending
  38139. //
  38140. // * 16 : running
  38141. //
  38142. // * 32 : shutting-down
  38143. //
  38144. // * 48 : terminated
  38145. //
  38146. // * 64 : stopping
  38147. //
  38148. // * 80 : stopped
  38149. Code *int64 `locationName:"code" type:"integer"`
  38150. // The current state of the instance.
  38151. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  38152. }
  38153. // String returns the string representation
  38154. func (s InstanceState) String() string {
  38155. return awsutil.Prettify(s)
  38156. }
  38157. // GoString returns the string representation
  38158. func (s InstanceState) GoString() string {
  38159. return s.String()
  38160. }
  38161. // SetCode sets the Code field's value.
  38162. func (s *InstanceState) SetCode(v int64) *InstanceState {
  38163. s.Code = &v
  38164. return s
  38165. }
  38166. // SetName sets the Name field's value.
  38167. func (s *InstanceState) SetName(v string) *InstanceState {
  38168. s.Name = &v
  38169. return s
  38170. }
  38171. // Describes an instance state change.
  38172. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStateChange
  38173. type InstanceStateChange struct {
  38174. _ struct{} `type:"structure"`
  38175. // The current state of the instance.
  38176. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  38177. // The ID of the instance.
  38178. InstanceId *string `locationName:"instanceId" type:"string"`
  38179. // The previous state of the instance.
  38180. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  38181. }
  38182. // String returns the string representation
  38183. func (s InstanceStateChange) String() string {
  38184. return awsutil.Prettify(s)
  38185. }
  38186. // GoString returns the string representation
  38187. func (s InstanceStateChange) GoString() string {
  38188. return s.String()
  38189. }
  38190. // SetCurrentState sets the CurrentState field's value.
  38191. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  38192. s.CurrentState = v
  38193. return s
  38194. }
  38195. // SetInstanceId sets the InstanceId field's value.
  38196. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  38197. s.InstanceId = &v
  38198. return s
  38199. }
  38200. // SetPreviousState sets the PreviousState field's value.
  38201. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  38202. s.PreviousState = v
  38203. return s
  38204. }
  38205. // Describes the status of an instance.
  38206. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatus
  38207. type InstanceStatus struct {
  38208. _ struct{} `type:"structure"`
  38209. // The Availability Zone of the instance.
  38210. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  38211. // Any scheduled events associated with the instance.
  38212. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  38213. // The ID of the instance.
  38214. InstanceId *string `locationName:"instanceId" type:"string"`
  38215. // The intended state of the instance. DescribeInstanceStatus requires that
  38216. // an instance be in the running state.
  38217. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  38218. // Reports impaired functionality that stems from issues internal to the instance,
  38219. // such as impaired reachability.
  38220. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  38221. // Reports impaired functionality that stems from issues related to the systems
  38222. // that support an instance, such as hardware failures and network connectivity
  38223. // problems.
  38224. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  38225. }
  38226. // String returns the string representation
  38227. func (s InstanceStatus) String() string {
  38228. return awsutil.Prettify(s)
  38229. }
  38230. // GoString returns the string representation
  38231. func (s InstanceStatus) GoString() string {
  38232. return s.String()
  38233. }
  38234. // SetAvailabilityZone sets the AvailabilityZone field's value.
  38235. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  38236. s.AvailabilityZone = &v
  38237. return s
  38238. }
  38239. // SetEvents sets the Events field's value.
  38240. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  38241. s.Events = v
  38242. return s
  38243. }
  38244. // SetInstanceId sets the InstanceId field's value.
  38245. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  38246. s.InstanceId = &v
  38247. return s
  38248. }
  38249. // SetInstanceState sets the InstanceState field's value.
  38250. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  38251. s.InstanceState = v
  38252. return s
  38253. }
  38254. // SetInstanceStatus sets the InstanceStatus field's value.
  38255. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  38256. s.InstanceStatus = v
  38257. return s
  38258. }
  38259. // SetSystemStatus sets the SystemStatus field's value.
  38260. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  38261. s.SystemStatus = v
  38262. return s
  38263. }
  38264. // Describes the instance status.
  38265. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusDetails
  38266. type InstanceStatusDetails struct {
  38267. _ struct{} `type:"structure"`
  38268. // The time when a status check failed. For an instance that was launched and
  38269. // impaired, this is the time when the instance was launched.
  38270. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  38271. // The type of instance status.
  38272. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  38273. // The status.
  38274. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  38275. }
  38276. // String returns the string representation
  38277. func (s InstanceStatusDetails) String() string {
  38278. return awsutil.Prettify(s)
  38279. }
  38280. // GoString returns the string representation
  38281. func (s InstanceStatusDetails) GoString() string {
  38282. return s.String()
  38283. }
  38284. // SetImpairedSince sets the ImpairedSince field's value.
  38285. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  38286. s.ImpairedSince = &v
  38287. return s
  38288. }
  38289. // SetName sets the Name field's value.
  38290. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  38291. s.Name = &v
  38292. return s
  38293. }
  38294. // SetStatus sets the Status field's value.
  38295. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  38296. s.Status = &v
  38297. return s
  38298. }
  38299. // Describes a scheduled event for an instance.
  38300. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusEvent
  38301. type InstanceStatusEvent struct {
  38302. _ struct{} `type:"structure"`
  38303. // The event code.
  38304. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  38305. // A description of the event.
  38306. //
  38307. // After a scheduled event is completed, it can still be described for up to
  38308. // a week. If the event has been completed, this description starts with the
  38309. // following text: [Completed].
  38310. Description *string `locationName:"description" type:"string"`
  38311. // The latest scheduled end time for the event.
  38312. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  38313. // The earliest scheduled start time for the event.
  38314. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  38315. }
  38316. // String returns the string representation
  38317. func (s InstanceStatusEvent) String() string {
  38318. return awsutil.Prettify(s)
  38319. }
  38320. // GoString returns the string representation
  38321. func (s InstanceStatusEvent) GoString() string {
  38322. return s.String()
  38323. }
  38324. // SetCode sets the Code field's value.
  38325. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  38326. s.Code = &v
  38327. return s
  38328. }
  38329. // SetDescription sets the Description field's value.
  38330. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  38331. s.Description = &v
  38332. return s
  38333. }
  38334. // SetNotAfter sets the NotAfter field's value.
  38335. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  38336. s.NotAfter = &v
  38337. return s
  38338. }
  38339. // SetNotBefore sets the NotBefore field's value.
  38340. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  38341. s.NotBefore = &v
  38342. return s
  38343. }
  38344. // Describes the status of an instance.
  38345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusSummary
  38346. type InstanceStatusSummary struct {
  38347. _ struct{} `type:"structure"`
  38348. // The system instance health or application instance health.
  38349. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  38350. // The status.
  38351. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  38352. }
  38353. // String returns the string representation
  38354. func (s InstanceStatusSummary) String() string {
  38355. return awsutil.Prettify(s)
  38356. }
  38357. // GoString returns the string representation
  38358. func (s InstanceStatusSummary) GoString() string {
  38359. return s.String()
  38360. }
  38361. // SetDetails sets the Details field's value.
  38362. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  38363. s.Details = v
  38364. return s
  38365. }
  38366. // SetStatus sets the Status field's value.
  38367. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  38368. s.Status = &v
  38369. return s
  38370. }
  38371. // Describes an Internet gateway.
  38372. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGateway
  38373. type InternetGateway struct {
  38374. _ struct{} `type:"structure"`
  38375. // Any VPCs attached to the Internet gateway.
  38376. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  38377. // The ID of the Internet gateway.
  38378. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  38379. // Any tags assigned to the Internet gateway.
  38380. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  38381. }
  38382. // String returns the string representation
  38383. func (s InternetGateway) String() string {
  38384. return awsutil.Prettify(s)
  38385. }
  38386. // GoString returns the string representation
  38387. func (s InternetGateway) GoString() string {
  38388. return s.String()
  38389. }
  38390. // SetAttachments sets the Attachments field's value.
  38391. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  38392. s.Attachments = v
  38393. return s
  38394. }
  38395. // SetInternetGatewayId sets the InternetGatewayId field's value.
  38396. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  38397. s.InternetGatewayId = &v
  38398. return s
  38399. }
  38400. // SetTags sets the Tags field's value.
  38401. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  38402. s.Tags = v
  38403. return s
  38404. }
  38405. // Describes the attachment of a VPC to an Internet gateway or an egress-only
  38406. // Internet gateway.
  38407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGatewayAttachment
  38408. type InternetGatewayAttachment struct {
  38409. _ struct{} `type:"structure"`
  38410. // The current state of the attachment.
  38411. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  38412. // The ID of the VPC.
  38413. VpcId *string `locationName:"vpcId" type:"string"`
  38414. }
  38415. // String returns the string representation
  38416. func (s InternetGatewayAttachment) String() string {
  38417. return awsutil.Prettify(s)
  38418. }
  38419. // GoString returns the string representation
  38420. func (s InternetGatewayAttachment) GoString() string {
  38421. return s.String()
  38422. }
  38423. // SetState sets the State field's value.
  38424. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  38425. s.State = &v
  38426. return s
  38427. }
  38428. // SetVpcId sets the VpcId field's value.
  38429. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  38430. s.VpcId = &v
  38431. return s
  38432. }
  38433. // Describes a security group rule.
  38434. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpPermission
  38435. type IpPermission struct {
  38436. _ struct{} `type:"structure"`
  38437. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  38438. // type number. A value of -1 indicates all ICMP/ICMPv6 types.
  38439. FromPort *int64 `locationName:"fromPort" type:"integer"`
  38440. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  38441. //
  38442. // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
  38443. // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
  38444. // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
  38445. // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
  38446. // (ICMPv6), you can optionally specify a port range; if you don't, traffic
  38447. // for all types and codes is allowed when authorizing rules.
  38448. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  38449. // One or more IPv4 ranges.
  38450. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  38451. // [EC2-VPC only] One or more IPv6 ranges.
  38452. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  38453. // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
  38454. // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
  38455. // request, this is the AWS service that you want to access through a VPC endpoint
  38456. // from instances associated with the security group.
  38457. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  38458. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  38459. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
  38460. ToPort *int64 `locationName:"toPort" type:"integer"`
  38461. // One or more security group and AWS account ID pairs.
  38462. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  38463. }
  38464. // String returns the string representation
  38465. func (s IpPermission) String() string {
  38466. return awsutil.Prettify(s)
  38467. }
  38468. // GoString returns the string representation
  38469. func (s IpPermission) GoString() string {
  38470. return s.String()
  38471. }
  38472. // SetFromPort sets the FromPort field's value.
  38473. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  38474. s.FromPort = &v
  38475. return s
  38476. }
  38477. // SetIpProtocol sets the IpProtocol field's value.
  38478. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  38479. s.IpProtocol = &v
  38480. return s
  38481. }
  38482. // SetIpRanges sets the IpRanges field's value.
  38483. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  38484. s.IpRanges = v
  38485. return s
  38486. }
  38487. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  38488. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  38489. s.Ipv6Ranges = v
  38490. return s
  38491. }
  38492. // SetPrefixListIds sets the PrefixListIds field's value.
  38493. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  38494. s.PrefixListIds = v
  38495. return s
  38496. }
  38497. // SetToPort sets the ToPort field's value.
  38498. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  38499. s.ToPort = &v
  38500. return s
  38501. }
  38502. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  38503. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  38504. s.UserIdGroupPairs = v
  38505. return s
  38506. }
  38507. // Describes an IPv4 range.
  38508. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpRange
  38509. type IpRange struct {
  38510. _ struct{} `type:"structure"`
  38511. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  38512. // group, not both. To specify a single IPv4 address, use the /32 prefix.
  38513. CidrIp *string `locationName:"cidrIp" type:"string"`
  38514. }
  38515. // String returns the string representation
  38516. func (s IpRange) String() string {
  38517. return awsutil.Prettify(s)
  38518. }
  38519. // GoString returns the string representation
  38520. func (s IpRange) GoString() string {
  38521. return s.String()
  38522. }
  38523. // SetCidrIp sets the CidrIp field's value.
  38524. func (s *IpRange) SetCidrIp(v string) *IpRange {
  38525. s.CidrIp = &v
  38526. return s
  38527. }
  38528. // Describes an IPv6 CIDR block.
  38529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6CidrBlock
  38530. type Ipv6CidrBlock struct {
  38531. _ struct{} `type:"structure"`
  38532. // The IPv6 CIDR block.
  38533. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  38534. }
  38535. // String returns the string representation
  38536. func (s Ipv6CidrBlock) String() string {
  38537. return awsutil.Prettify(s)
  38538. }
  38539. // GoString returns the string representation
  38540. func (s Ipv6CidrBlock) GoString() string {
  38541. return s.String()
  38542. }
  38543. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  38544. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  38545. s.Ipv6CidrBlock = &v
  38546. return s
  38547. }
  38548. // [EC2-VPC only] Describes an IPv6 range.
  38549. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6Range
  38550. type Ipv6Range struct {
  38551. _ struct{} `type:"structure"`
  38552. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  38553. // group, not both. To specify a single IPv6 address, use the /128 prefix.
  38554. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  38555. }
  38556. // String returns the string representation
  38557. func (s Ipv6Range) String() string {
  38558. return awsutil.Prettify(s)
  38559. }
  38560. // GoString returns the string representation
  38561. func (s Ipv6Range) GoString() string {
  38562. return s.String()
  38563. }
  38564. // SetCidrIpv6 sets the CidrIpv6 field's value.
  38565. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  38566. s.CidrIpv6 = &v
  38567. return s
  38568. }
  38569. // Describes a key pair.
  38570. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPairInfo
  38571. type KeyPairInfo struct {
  38572. _ struct{} `type:"structure"`
  38573. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  38574. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  38575. // the public key, this is the MD5 public key fingerprint as specified in section
  38576. // 4 of RFC4716.
  38577. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  38578. // The name of the key pair.
  38579. KeyName *string `locationName:"keyName" type:"string"`
  38580. }
  38581. // String returns the string representation
  38582. func (s KeyPairInfo) String() string {
  38583. return awsutil.Prettify(s)
  38584. }
  38585. // GoString returns the string representation
  38586. func (s KeyPairInfo) GoString() string {
  38587. return s.String()
  38588. }
  38589. // SetKeyFingerprint sets the KeyFingerprint field's value.
  38590. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  38591. s.KeyFingerprint = &v
  38592. return s
  38593. }
  38594. // SetKeyName sets the KeyName field's value.
  38595. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  38596. s.KeyName = &v
  38597. return s
  38598. }
  38599. // Describes a launch permission.
  38600. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermission
  38601. type LaunchPermission struct {
  38602. _ struct{} `type:"structure"`
  38603. // The name of the group.
  38604. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  38605. // The AWS account ID.
  38606. UserId *string `locationName:"userId" type:"string"`
  38607. }
  38608. // String returns the string representation
  38609. func (s LaunchPermission) String() string {
  38610. return awsutil.Prettify(s)
  38611. }
  38612. // GoString returns the string representation
  38613. func (s LaunchPermission) GoString() string {
  38614. return s.String()
  38615. }
  38616. // SetGroup sets the Group field's value.
  38617. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  38618. s.Group = &v
  38619. return s
  38620. }
  38621. // SetUserId sets the UserId field's value.
  38622. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  38623. s.UserId = &v
  38624. return s
  38625. }
  38626. // Describes a launch permission modification.
  38627. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermissionModifications
  38628. type LaunchPermissionModifications struct {
  38629. _ struct{} `type:"structure"`
  38630. // The AWS account ID to add to the list of launch permissions for the AMI.
  38631. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  38632. // The AWS account ID to remove from the list of launch permissions for the
  38633. // AMI.
  38634. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  38635. }
  38636. // String returns the string representation
  38637. func (s LaunchPermissionModifications) String() string {
  38638. return awsutil.Prettify(s)
  38639. }
  38640. // GoString returns the string representation
  38641. func (s LaunchPermissionModifications) GoString() string {
  38642. return s.String()
  38643. }
  38644. // SetAdd sets the Add field's value.
  38645. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  38646. s.Add = v
  38647. return s
  38648. }
  38649. // SetRemove sets the Remove field's value.
  38650. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  38651. s.Remove = v
  38652. return s
  38653. }
  38654. // Describes the launch specification for an instance.
  38655. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchSpecification
  38656. type LaunchSpecification struct {
  38657. _ struct{} `type:"structure"`
  38658. // Deprecated.
  38659. AddressingType *string `locationName:"addressingType" type:"string"`
  38660. // One or more block device mapping entries.
  38661. //
  38662. // Although you can specify encrypted EBS volumes in this block device mapping
  38663. // for your Spot Instances, these volumes are not encrypted.
  38664. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  38665. // Indicates whether the instance is optimized for EBS I/O. This optimization
  38666. // provides dedicated throughput to Amazon EBS and an optimized configuration
  38667. // stack to provide optimal EBS I/O performance. This optimization isn't available
  38668. // with all instance types. Additional usage charges apply when using an EBS
  38669. // Optimized instance.
  38670. //
  38671. // Default: false
  38672. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  38673. // The IAM instance profile.
  38674. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  38675. // The ID of the AMI.
  38676. ImageId *string `locationName:"imageId" type:"string"`
  38677. // The instance type.
  38678. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  38679. // The ID of the kernel.
  38680. KernelId *string `locationName:"kernelId" type:"string"`
  38681. // The name of the key pair.
  38682. KeyName *string `locationName:"keyName" type:"string"`
  38683. // Describes the monitoring of an instance.
  38684. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  38685. // One or more network interfaces. If you specify a network interface, you must
  38686. // specify subnet IDs and security group IDs using the network interface.
  38687. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  38688. // The placement information for the instance.
  38689. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  38690. // The ID of the RAM disk.
  38691. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  38692. // One or more security groups. When requesting instances in a VPC, you must
  38693. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  38694. // you can specify the names or the IDs of the security groups.
  38695. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  38696. // The ID of the subnet in which to launch the instance.
  38697. SubnetId *string `locationName:"subnetId" type:"string"`
  38698. // The user data to make available to the instances. If you are using an AWS
  38699. // SDK or command line tool, Base64-encoding is performed for you, and you can
  38700. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  38701. UserData *string `locationName:"userData" type:"string"`
  38702. }
  38703. // String returns the string representation
  38704. func (s LaunchSpecification) String() string {
  38705. return awsutil.Prettify(s)
  38706. }
  38707. // GoString returns the string representation
  38708. func (s LaunchSpecification) GoString() string {
  38709. return s.String()
  38710. }
  38711. // SetAddressingType sets the AddressingType field's value.
  38712. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  38713. s.AddressingType = &v
  38714. return s
  38715. }
  38716. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  38717. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  38718. s.BlockDeviceMappings = v
  38719. return s
  38720. }
  38721. // SetEbsOptimized sets the EbsOptimized field's value.
  38722. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  38723. s.EbsOptimized = &v
  38724. return s
  38725. }
  38726. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  38727. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  38728. s.IamInstanceProfile = v
  38729. return s
  38730. }
  38731. // SetImageId sets the ImageId field's value.
  38732. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  38733. s.ImageId = &v
  38734. return s
  38735. }
  38736. // SetInstanceType sets the InstanceType field's value.
  38737. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  38738. s.InstanceType = &v
  38739. return s
  38740. }
  38741. // SetKernelId sets the KernelId field's value.
  38742. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  38743. s.KernelId = &v
  38744. return s
  38745. }
  38746. // SetKeyName sets the KeyName field's value.
  38747. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  38748. s.KeyName = &v
  38749. return s
  38750. }
  38751. // SetMonitoring sets the Monitoring field's value.
  38752. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  38753. s.Monitoring = v
  38754. return s
  38755. }
  38756. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  38757. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  38758. s.NetworkInterfaces = v
  38759. return s
  38760. }
  38761. // SetPlacement sets the Placement field's value.
  38762. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  38763. s.Placement = v
  38764. return s
  38765. }
  38766. // SetRamdiskId sets the RamdiskId field's value.
  38767. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  38768. s.RamdiskId = &v
  38769. return s
  38770. }
  38771. // SetSecurityGroups sets the SecurityGroups field's value.
  38772. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  38773. s.SecurityGroups = v
  38774. return s
  38775. }
  38776. // SetSubnetId sets the SubnetId field's value.
  38777. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  38778. s.SubnetId = &v
  38779. return s
  38780. }
  38781. // SetUserData sets the UserData field's value.
  38782. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  38783. s.UserData = &v
  38784. return s
  38785. }
  38786. // Contains the parameters for ModifyHosts.
  38787. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsRequest
  38788. type ModifyHostsInput struct {
  38789. _ struct{} `type:"structure"`
  38790. // Specify whether to enable or disable auto-placement.
  38791. //
  38792. // AutoPlacement is a required field
  38793. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  38794. // The host IDs of the Dedicated Hosts you want to modify.
  38795. //
  38796. // HostIds is a required field
  38797. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  38798. }
  38799. // String returns the string representation
  38800. func (s ModifyHostsInput) String() string {
  38801. return awsutil.Prettify(s)
  38802. }
  38803. // GoString returns the string representation
  38804. func (s ModifyHostsInput) GoString() string {
  38805. return s.String()
  38806. }
  38807. // Validate inspects the fields of the type to determine if they are valid.
  38808. func (s *ModifyHostsInput) Validate() error {
  38809. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  38810. if s.AutoPlacement == nil {
  38811. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  38812. }
  38813. if s.HostIds == nil {
  38814. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  38815. }
  38816. if invalidParams.Len() > 0 {
  38817. return invalidParams
  38818. }
  38819. return nil
  38820. }
  38821. // SetAutoPlacement sets the AutoPlacement field's value.
  38822. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  38823. s.AutoPlacement = &v
  38824. return s
  38825. }
  38826. // SetHostIds sets the HostIds field's value.
  38827. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  38828. s.HostIds = v
  38829. return s
  38830. }
  38831. // Contains the output of ModifyHosts.
  38832. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsResult
  38833. type ModifyHostsOutput struct {
  38834. _ struct{} `type:"structure"`
  38835. // The IDs of the Dedicated Hosts that were successfully modified.
  38836. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  38837. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  38838. // the setting you requested can be used.
  38839. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  38840. }
  38841. // String returns the string representation
  38842. func (s ModifyHostsOutput) String() string {
  38843. return awsutil.Prettify(s)
  38844. }
  38845. // GoString returns the string representation
  38846. func (s ModifyHostsOutput) GoString() string {
  38847. return s.String()
  38848. }
  38849. // SetSuccessful sets the Successful field's value.
  38850. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  38851. s.Successful = v
  38852. return s
  38853. }
  38854. // SetUnsuccessful sets the Unsuccessful field's value.
  38855. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  38856. s.Unsuccessful = v
  38857. return s
  38858. }
  38859. // Contains the parameters of ModifyIdFormat.
  38860. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatRequest
  38861. type ModifyIdFormatInput struct {
  38862. _ struct{} `type:"structure"`
  38863. // The type of resource: instance | reservation | snapshot | volume
  38864. //
  38865. // Resource is a required field
  38866. Resource *string `type:"string" required:"true"`
  38867. // Indicate whether the resource should use longer IDs (17-character IDs).
  38868. //
  38869. // UseLongIds is a required field
  38870. UseLongIds *bool `type:"boolean" required:"true"`
  38871. }
  38872. // String returns the string representation
  38873. func (s ModifyIdFormatInput) String() string {
  38874. return awsutil.Prettify(s)
  38875. }
  38876. // GoString returns the string representation
  38877. func (s ModifyIdFormatInput) GoString() string {
  38878. return s.String()
  38879. }
  38880. // Validate inspects the fields of the type to determine if they are valid.
  38881. func (s *ModifyIdFormatInput) Validate() error {
  38882. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  38883. if s.Resource == nil {
  38884. invalidParams.Add(request.NewErrParamRequired("Resource"))
  38885. }
  38886. if s.UseLongIds == nil {
  38887. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  38888. }
  38889. if invalidParams.Len() > 0 {
  38890. return invalidParams
  38891. }
  38892. return nil
  38893. }
  38894. // SetResource sets the Resource field's value.
  38895. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  38896. s.Resource = &v
  38897. return s
  38898. }
  38899. // SetUseLongIds sets the UseLongIds field's value.
  38900. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  38901. s.UseLongIds = &v
  38902. return s
  38903. }
  38904. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatOutput
  38905. type ModifyIdFormatOutput struct {
  38906. _ struct{} `type:"structure"`
  38907. }
  38908. // String returns the string representation
  38909. func (s ModifyIdFormatOutput) String() string {
  38910. return awsutil.Prettify(s)
  38911. }
  38912. // GoString returns the string representation
  38913. func (s ModifyIdFormatOutput) GoString() string {
  38914. return s.String()
  38915. }
  38916. // Contains the parameters of ModifyIdentityIdFormat.
  38917. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatRequest
  38918. type ModifyIdentityIdFormatInput struct {
  38919. _ struct{} `type:"structure"`
  38920. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  38921. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  38922. // the root user of the account.
  38923. //
  38924. // PrincipalArn is a required field
  38925. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  38926. // The type of resource: instance | reservation | snapshot | volume
  38927. //
  38928. // Resource is a required field
  38929. Resource *string `locationName:"resource" type:"string" required:"true"`
  38930. // Indicates whether the resource should use longer IDs (17-character IDs)
  38931. //
  38932. // UseLongIds is a required field
  38933. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  38934. }
  38935. // String returns the string representation
  38936. func (s ModifyIdentityIdFormatInput) String() string {
  38937. return awsutil.Prettify(s)
  38938. }
  38939. // GoString returns the string representation
  38940. func (s ModifyIdentityIdFormatInput) GoString() string {
  38941. return s.String()
  38942. }
  38943. // Validate inspects the fields of the type to determine if they are valid.
  38944. func (s *ModifyIdentityIdFormatInput) Validate() error {
  38945. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  38946. if s.PrincipalArn == nil {
  38947. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  38948. }
  38949. if s.Resource == nil {
  38950. invalidParams.Add(request.NewErrParamRequired("Resource"))
  38951. }
  38952. if s.UseLongIds == nil {
  38953. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  38954. }
  38955. if invalidParams.Len() > 0 {
  38956. return invalidParams
  38957. }
  38958. return nil
  38959. }
  38960. // SetPrincipalArn sets the PrincipalArn field's value.
  38961. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  38962. s.PrincipalArn = &v
  38963. return s
  38964. }
  38965. // SetResource sets the Resource field's value.
  38966. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  38967. s.Resource = &v
  38968. return s
  38969. }
  38970. // SetUseLongIds sets the UseLongIds field's value.
  38971. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  38972. s.UseLongIds = &v
  38973. return s
  38974. }
  38975. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatOutput
  38976. type ModifyIdentityIdFormatOutput struct {
  38977. _ struct{} `type:"structure"`
  38978. }
  38979. // String returns the string representation
  38980. func (s ModifyIdentityIdFormatOutput) String() string {
  38981. return awsutil.Prettify(s)
  38982. }
  38983. // GoString returns the string representation
  38984. func (s ModifyIdentityIdFormatOutput) GoString() string {
  38985. return s.String()
  38986. }
  38987. // Contains the parameters for ModifyImageAttribute.
  38988. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeRequest
  38989. type ModifyImageAttributeInput struct {
  38990. _ struct{} `type:"structure"`
  38991. // The name of the attribute to modify.
  38992. Attribute *string `type:"string"`
  38993. // A description for the AMI.
  38994. Description *AttributeValue `type:"structure"`
  38995. // Checks whether you have the required permissions for the action, without
  38996. // actually making the request, and provides an error response. If you have
  38997. // the required permissions, the error response is DryRunOperation. Otherwise,
  38998. // it is UnauthorizedOperation.
  38999. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39000. // The ID of the AMI.
  39001. //
  39002. // ImageId is a required field
  39003. ImageId *string `type:"string" required:"true"`
  39004. // A launch permission modification.
  39005. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  39006. // The operation type.
  39007. OperationType *string `type:"string" enum:"OperationType"`
  39008. // One or more product codes. After you add a product code to an AMI, it can't
  39009. // be removed. This is only valid when modifying the productCodes attribute.
  39010. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  39011. // One or more user groups. This is only valid when modifying the launchPermission
  39012. // attribute.
  39013. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  39014. // One or more AWS account IDs. This is only valid when modifying the launchPermission
  39015. // attribute.
  39016. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  39017. // The value of the attribute being modified. This is only valid when modifying
  39018. // the description attribute.
  39019. Value *string `type:"string"`
  39020. }
  39021. // String returns the string representation
  39022. func (s ModifyImageAttributeInput) String() string {
  39023. return awsutil.Prettify(s)
  39024. }
  39025. // GoString returns the string representation
  39026. func (s ModifyImageAttributeInput) GoString() string {
  39027. return s.String()
  39028. }
  39029. // Validate inspects the fields of the type to determine if they are valid.
  39030. func (s *ModifyImageAttributeInput) Validate() error {
  39031. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  39032. if s.ImageId == nil {
  39033. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  39034. }
  39035. if invalidParams.Len() > 0 {
  39036. return invalidParams
  39037. }
  39038. return nil
  39039. }
  39040. // SetAttribute sets the Attribute field's value.
  39041. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  39042. s.Attribute = &v
  39043. return s
  39044. }
  39045. // SetDescription sets the Description field's value.
  39046. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  39047. s.Description = v
  39048. return s
  39049. }
  39050. // SetDryRun sets the DryRun field's value.
  39051. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  39052. s.DryRun = &v
  39053. return s
  39054. }
  39055. // SetImageId sets the ImageId field's value.
  39056. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  39057. s.ImageId = &v
  39058. return s
  39059. }
  39060. // SetLaunchPermission sets the LaunchPermission field's value.
  39061. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  39062. s.LaunchPermission = v
  39063. return s
  39064. }
  39065. // SetOperationType sets the OperationType field's value.
  39066. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  39067. s.OperationType = &v
  39068. return s
  39069. }
  39070. // SetProductCodes sets the ProductCodes field's value.
  39071. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  39072. s.ProductCodes = v
  39073. return s
  39074. }
  39075. // SetUserGroups sets the UserGroups field's value.
  39076. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  39077. s.UserGroups = v
  39078. return s
  39079. }
  39080. // SetUserIds sets the UserIds field's value.
  39081. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  39082. s.UserIds = v
  39083. return s
  39084. }
  39085. // SetValue sets the Value field's value.
  39086. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  39087. s.Value = &v
  39088. return s
  39089. }
  39090. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeOutput
  39091. type ModifyImageAttributeOutput struct {
  39092. _ struct{} `type:"structure"`
  39093. }
  39094. // String returns the string representation
  39095. func (s ModifyImageAttributeOutput) String() string {
  39096. return awsutil.Prettify(s)
  39097. }
  39098. // GoString returns the string representation
  39099. func (s ModifyImageAttributeOutput) GoString() string {
  39100. return s.String()
  39101. }
  39102. // Contains the parameters for ModifyInstanceAttribute.
  39103. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeRequest
  39104. type ModifyInstanceAttributeInput struct {
  39105. _ struct{} `type:"structure"`
  39106. // The name of the attribute.
  39107. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  39108. // Modifies the DeleteOnTermination attribute for volumes that are currently
  39109. // attached. The volume must be owned by the caller. If no value is specified
  39110. // for DeleteOnTermination, the default is true and the volume is deleted when
  39111. // the instance is terminated.
  39112. //
  39113. // To add instance store volumes to an Amazon EBS-backed instance, you must
  39114. // add them when you launch the instance. For more information, see Updating
  39115. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  39116. // in the Amazon Elastic Compute Cloud User Guide.
  39117. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  39118. // If the value is true, you can't terminate the instance using the Amazon EC2
  39119. // console, CLI, or API; otherwise, you can. You cannot use this parameter for
  39120. // Spot Instances.
  39121. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  39122. // Checks whether you have the required permissions for the action, without
  39123. // actually making the request, and provides an error response. If you have
  39124. // the required permissions, the error response is DryRunOperation. Otherwise,
  39125. // it is UnauthorizedOperation.
  39126. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39127. // Specifies whether the instance is optimized for EBS I/O. This optimization
  39128. // provides dedicated throughput to Amazon EBS and an optimized configuration
  39129. // stack to provide optimal EBS I/O performance. This optimization isn't available
  39130. // with all instance types. Additional usage charges apply when using an EBS
  39131. // Optimized instance.
  39132. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  39133. // Set to true to enable enhanced networking with ENA for the instance.
  39134. //
  39135. // This option is supported only for HVM instances. Specifying this option with
  39136. // a PV instance can make it unreachable.
  39137. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  39138. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  39139. // least one security group, even if it's just the default security group for
  39140. // the VPC. You must specify the security group ID, not the security group name.
  39141. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  39142. // The ID of the instance.
  39143. //
  39144. // InstanceId is a required field
  39145. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  39146. // Specifies whether an instance stops or terminates when you initiate shutdown
  39147. // from the instance (using the operating system command for system shutdown).
  39148. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  39149. // Changes the instance type to the specified value. For more information, see
  39150. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  39151. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  39152. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  39153. // Changes the instance's kernel to the specified value. We recommend that you
  39154. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  39155. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  39156. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  39157. // Changes the instance's RAM disk to the specified value. We recommend that
  39158. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  39159. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  39160. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  39161. // Specifies whether source/destination checking is enabled. A value of true
  39162. // means that checking is enabled, and false means checking is disabled. This
  39163. // value must be false for a NAT instance to perform NAT.
  39164. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  39165. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  39166. // Function interface for the instance.
  39167. //
  39168. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  39169. // Function interface at this time.
  39170. //
  39171. // This option is supported only for HVM instances. Specifying this option with
  39172. // a PV instance can make it unreachable.
  39173. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  39174. // Changes the instance's user data to the specified value. If you are using
  39175. // an AWS SDK or command line tool, Base64-encoding is performed for you, and
  39176. // you can load the text from a file. Otherwise, you must provide Base64-encoded
  39177. // text.
  39178. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  39179. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  39180. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  39181. Value *string `locationName:"value" type:"string"`
  39182. }
  39183. // String returns the string representation
  39184. func (s ModifyInstanceAttributeInput) String() string {
  39185. return awsutil.Prettify(s)
  39186. }
  39187. // GoString returns the string representation
  39188. func (s ModifyInstanceAttributeInput) GoString() string {
  39189. return s.String()
  39190. }
  39191. // Validate inspects the fields of the type to determine if they are valid.
  39192. func (s *ModifyInstanceAttributeInput) Validate() error {
  39193. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  39194. if s.InstanceId == nil {
  39195. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  39196. }
  39197. if invalidParams.Len() > 0 {
  39198. return invalidParams
  39199. }
  39200. return nil
  39201. }
  39202. // SetAttribute sets the Attribute field's value.
  39203. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  39204. s.Attribute = &v
  39205. return s
  39206. }
  39207. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  39208. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  39209. s.BlockDeviceMappings = v
  39210. return s
  39211. }
  39212. // SetDisableApiTermination sets the DisableApiTermination field's value.
  39213. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  39214. s.DisableApiTermination = v
  39215. return s
  39216. }
  39217. // SetDryRun sets the DryRun field's value.
  39218. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  39219. s.DryRun = &v
  39220. return s
  39221. }
  39222. // SetEbsOptimized sets the EbsOptimized field's value.
  39223. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  39224. s.EbsOptimized = v
  39225. return s
  39226. }
  39227. // SetEnaSupport sets the EnaSupport field's value.
  39228. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  39229. s.EnaSupport = v
  39230. return s
  39231. }
  39232. // SetGroups sets the Groups field's value.
  39233. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  39234. s.Groups = v
  39235. return s
  39236. }
  39237. // SetInstanceId sets the InstanceId field's value.
  39238. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  39239. s.InstanceId = &v
  39240. return s
  39241. }
  39242. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  39243. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  39244. s.InstanceInitiatedShutdownBehavior = v
  39245. return s
  39246. }
  39247. // SetInstanceType sets the InstanceType field's value.
  39248. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  39249. s.InstanceType = v
  39250. return s
  39251. }
  39252. // SetKernel sets the Kernel field's value.
  39253. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  39254. s.Kernel = v
  39255. return s
  39256. }
  39257. // SetRamdisk sets the Ramdisk field's value.
  39258. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  39259. s.Ramdisk = v
  39260. return s
  39261. }
  39262. // SetSourceDestCheck sets the SourceDestCheck field's value.
  39263. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  39264. s.SourceDestCheck = v
  39265. return s
  39266. }
  39267. // SetSriovNetSupport sets the SriovNetSupport field's value.
  39268. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  39269. s.SriovNetSupport = v
  39270. return s
  39271. }
  39272. // SetUserData sets the UserData field's value.
  39273. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  39274. s.UserData = v
  39275. return s
  39276. }
  39277. // SetValue sets the Value field's value.
  39278. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  39279. s.Value = &v
  39280. return s
  39281. }
  39282. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeOutput
  39283. type ModifyInstanceAttributeOutput struct {
  39284. _ struct{} `type:"structure"`
  39285. }
  39286. // String returns the string representation
  39287. func (s ModifyInstanceAttributeOutput) String() string {
  39288. return awsutil.Prettify(s)
  39289. }
  39290. // GoString returns the string representation
  39291. func (s ModifyInstanceAttributeOutput) GoString() string {
  39292. return s.String()
  39293. }
  39294. // Contains the parameters for ModifyInstancePlacement.
  39295. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementRequest
  39296. type ModifyInstancePlacementInput struct {
  39297. _ struct{} `type:"structure"`
  39298. // The new affinity setting for the instance.
  39299. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  39300. // The ID of the Dedicated Host that the instance will have affinity with.
  39301. HostId *string `locationName:"hostId" type:"string"`
  39302. // The ID of the instance that you are modifying.
  39303. //
  39304. // InstanceId is a required field
  39305. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  39306. // The tenancy of the instance that you are modifying.
  39307. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  39308. }
  39309. // String returns the string representation
  39310. func (s ModifyInstancePlacementInput) String() string {
  39311. return awsutil.Prettify(s)
  39312. }
  39313. // GoString returns the string representation
  39314. func (s ModifyInstancePlacementInput) GoString() string {
  39315. return s.String()
  39316. }
  39317. // Validate inspects the fields of the type to determine if they are valid.
  39318. func (s *ModifyInstancePlacementInput) Validate() error {
  39319. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  39320. if s.InstanceId == nil {
  39321. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  39322. }
  39323. if invalidParams.Len() > 0 {
  39324. return invalidParams
  39325. }
  39326. return nil
  39327. }
  39328. // SetAffinity sets the Affinity field's value.
  39329. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  39330. s.Affinity = &v
  39331. return s
  39332. }
  39333. // SetHostId sets the HostId field's value.
  39334. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  39335. s.HostId = &v
  39336. return s
  39337. }
  39338. // SetInstanceId sets the InstanceId field's value.
  39339. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  39340. s.InstanceId = &v
  39341. return s
  39342. }
  39343. // SetTenancy sets the Tenancy field's value.
  39344. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  39345. s.Tenancy = &v
  39346. return s
  39347. }
  39348. // Contains the output of ModifyInstancePlacement.
  39349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementResult
  39350. type ModifyInstancePlacementOutput struct {
  39351. _ struct{} `type:"structure"`
  39352. // Is true if the request succeeds, and an error otherwise.
  39353. Return *bool `locationName:"return" type:"boolean"`
  39354. }
  39355. // String returns the string representation
  39356. func (s ModifyInstancePlacementOutput) String() string {
  39357. return awsutil.Prettify(s)
  39358. }
  39359. // GoString returns the string representation
  39360. func (s ModifyInstancePlacementOutput) GoString() string {
  39361. return s.String()
  39362. }
  39363. // SetReturn sets the Return field's value.
  39364. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  39365. s.Return = &v
  39366. return s
  39367. }
  39368. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  39369. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeRequest
  39370. type ModifyNetworkInterfaceAttributeInput struct {
  39371. _ struct{} `type:"structure"`
  39372. // Information about the interface attachment. If modifying the 'delete on termination'
  39373. // attribute, you must specify the ID of the interface attachment.
  39374. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  39375. // A description for the network interface.
  39376. Description *AttributeValue `locationName:"description" type:"structure"`
  39377. // Checks whether you have the required permissions for the action, without
  39378. // actually making the request, and provides an error response. If you have
  39379. // the required permissions, the error response is DryRunOperation. Otherwise,
  39380. // it is UnauthorizedOperation.
  39381. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39382. // Changes the security groups for the network interface. The new set of groups
  39383. // you specify replaces the current set. You must specify at least one group,
  39384. // even if it's just the default security group in the VPC. You must specify
  39385. // the ID of the security group, not the name.
  39386. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  39387. // The ID of the network interface.
  39388. //
  39389. // NetworkInterfaceId is a required field
  39390. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  39391. // Indicates whether source/destination checking is enabled. A value of true
  39392. // means checking is enabled, and false means checking is disabled. This value
  39393. // must be false for a NAT instance to perform NAT. For more information, see
  39394. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  39395. // in the Amazon Virtual Private Cloud User Guide.
  39396. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  39397. }
  39398. // String returns the string representation
  39399. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  39400. return awsutil.Prettify(s)
  39401. }
  39402. // GoString returns the string representation
  39403. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  39404. return s.String()
  39405. }
  39406. // Validate inspects the fields of the type to determine if they are valid.
  39407. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  39408. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  39409. if s.NetworkInterfaceId == nil {
  39410. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  39411. }
  39412. if invalidParams.Len() > 0 {
  39413. return invalidParams
  39414. }
  39415. return nil
  39416. }
  39417. // SetAttachment sets the Attachment field's value.
  39418. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  39419. s.Attachment = v
  39420. return s
  39421. }
  39422. // SetDescription sets the Description field's value.
  39423. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  39424. s.Description = v
  39425. return s
  39426. }
  39427. // SetDryRun sets the DryRun field's value.
  39428. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  39429. s.DryRun = &v
  39430. return s
  39431. }
  39432. // SetGroups sets the Groups field's value.
  39433. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  39434. s.Groups = v
  39435. return s
  39436. }
  39437. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  39438. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  39439. s.NetworkInterfaceId = &v
  39440. return s
  39441. }
  39442. // SetSourceDestCheck sets the SourceDestCheck field's value.
  39443. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  39444. s.SourceDestCheck = v
  39445. return s
  39446. }
  39447. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeOutput
  39448. type ModifyNetworkInterfaceAttributeOutput struct {
  39449. _ struct{} `type:"structure"`
  39450. }
  39451. // String returns the string representation
  39452. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  39453. return awsutil.Prettify(s)
  39454. }
  39455. // GoString returns the string representation
  39456. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  39457. return s.String()
  39458. }
  39459. // Contains the parameters for ModifyReservedInstances.
  39460. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesRequest
  39461. type ModifyReservedInstancesInput struct {
  39462. _ struct{} `type:"structure"`
  39463. // A unique, case-sensitive token you provide to ensure idempotency of your
  39464. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  39465. ClientToken *string `locationName:"clientToken" type:"string"`
  39466. // The IDs of the Reserved Instances to modify.
  39467. //
  39468. // ReservedInstancesIds is a required field
  39469. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  39470. // The configuration settings for the Reserved Instances to modify.
  39471. //
  39472. // TargetConfigurations is a required field
  39473. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  39474. }
  39475. // String returns the string representation
  39476. func (s ModifyReservedInstancesInput) String() string {
  39477. return awsutil.Prettify(s)
  39478. }
  39479. // GoString returns the string representation
  39480. func (s ModifyReservedInstancesInput) GoString() string {
  39481. return s.String()
  39482. }
  39483. // Validate inspects the fields of the type to determine if they are valid.
  39484. func (s *ModifyReservedInstancesInput) Validate() error {
  39485. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  39486. if s.ReservedInstancesIds == nil {
  39487. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  39488. }
  39489. if s.TargetConfigurations == nil {
  39490. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  39491. }
  39492. if invalidParams.Len() > 0 {
  39493. return invalidParams
  39494. }
  39495. return nil
  39496. }
  39497. // SetClientToken sets the ClientToken field's value.
  39498. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  39499. s.ClientToken = &v
  39500. return s
  39501. }
  39502. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  39503. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  39504. s.ReservedInstancesIds = v
  39505. return s
  39506. }
  39507. // SetTargetConfigurations sets the TargetConfigurations field's value.
  39508. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  39509. s.TargetConfigurations = v
  39510. return s
  39511. }
  39512. // Contains the output of ModifyReservedInstances.
  39513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesResult
  39514. type ModifyReservedInstancesOutput struct {
  39515. _ struct{} `type:"structure"`
  39516. // The ID for the modification.
  39517. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  39518. }
  39519. // String returns the string representation
  39520. func (s ModifyReservedInstancesOutput) String() string {
  39521. return awsutil.Prettify(s)
  39522. }
  39523. // GoString returns the string representation
  39524. func (s ModifyReservedInstancesOutput) GoString() string {
  39525. return s.String()
  39526. }
  39527. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  39528. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  39529. s.ReservedInstancesModificationId = &v
  39530. return s
  39531. }
  39532. // Contains the parameters for ModifySnapshotAttribute.
  39533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeRequest
  39534. type ModifySnapshotAttributeInput struct {
  39535. _ struct{} `type:"structure"`
  39536. // The snapshot attribute to modify.
  39537. //
  39538. // Only volume creation permissions may be modified at the customer level.
  39539. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  39540. // A JSON representation of the snapshot attribute modification.
  39541. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  39542. // Checks whether you have the required permissions for the action, without
  39543. // actually making the request, and provides an error response. If you have
  39544. // the required permissions, the error response is DryRunOperation. Otherwise,
  39545. // it is UnauthorizedOperation.
  39546. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39547. // The group to modify for the snapshot.
  39548. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  39549. // The type of operation to perform to the attribute.
  39550. OperationType *string `type:"string" enum:"OperationType"`
  39551. // The ID of the snapshot.
  39552. //
  39553. // SnapshotId is a required field
  39554. SnapshotId *string `type:"string" required:"true"`
  39555. // The account ID to modify for the snapshot.
  39556. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  39557. }
  39558. // String returns the string representation
  39559. func (s ModifySnapshotAttributeInput) String() string {
  39560. return awsutil.Prettify(s)
  39561. }
  39562. // GoString returns the string representation
  39563. func (s ModifySnapshotAttributeInput) GoString() string {
  39564. return s.String()
  39565. }
  39566. // Validate inspects the fields of the type to determine if they are valid.
  39567. func (s *ModifySnapshotAttributeInput) Validate() error {
  39568. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  39569. if s.SnapshotId == nil {
  39570. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  39571. }
  39572. if invalidParams.Len() > 0 {
  39573. return invalidParams
  39574. }
  39575. return nil
  39576. }
  39577. // SetAttribute sets the Attribute field's value.
  39578. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  39579. s.Attribute = &v
  39580. return s
  39581. }
  39582. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  39583. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  39584. s.CreateVolumePermission = v
  39585. return s
  39586. }
  39587. // SetDryRun sets the DryRun field's value.
  39588. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  39589. s.DryRun = &v
  39590. return s
  39591. }
  39592. // SetGroupNames sets the GroupNames field's value.
  39593. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  39594. s.GroupNames = v
  39595. return s
  39596. }
  39597. // SetOperationType sets the OperationType field's value.
  39598. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  39599. s.OperationType = &v
  39600. return s
  39601. }
  39602. // SetSnapshotId sets the SnapshotId field's value.
  39603. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  39604. s.SnapshotId = &v
  39605. return s
  39606. }
  39607. // SetUserIds sets the UserIds field's value.
  39608. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  39609. s.UserIds = v
  39610. return s
  39611. }
  39612. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeOutput
  39613. type ModifySnapshotAttributeOutput struct {
  39614. _ struct{} `type:"structure"`
  39615. }
  39616. // String returns the string representation
  39617. func (s ModifySnapshotAttributeOutput) String() string {
  39618. return awsutil.Prettify(s)
  39619. }
  39620. // GoString returns the string representation
  39621. func (s ModifySnapshotAttributeOutput) GoString() string {
  39622. return s.String()
  39623. }
  39624. // Contains the parameters for ModifySpotFleetRequest.
  39625. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestRequest
  39626. type ModifySpotFleetRequestInput struct {
  39627. _ struct{} `type:"structure"`
  39628. // Indicates whether running Spot instances should be terminated if the target
  39629. // capacity of the Spot fleet request is decreased below the current size of
  39630. // the Spot fleet.
  39631. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  39632. // The ID of the Spot fleet request.
  39633. //
  39634. // SpotFleetRequestId is a required field
  39635. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  39636. // The size of the fleet.
  39637. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  39638. }
  39639. // String returns the string representation
  39640. func (s ModifySpotFleetRequestInput) String() string {
  39641. return awsutil.Prettify(s)
  39642. }
  39643. // GoString returns the string representation
  39644. func (s ModifySpotFleetRequestInput) GoString() string {
  39645. return s.String()
  39646. }
  39647. // Validate inspects the fields of the type to determine if they are valid.
  39648. func (s *ModifySpotFleetRequestInput) Validate() error {
  39649. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  39650. if s.SpotFleetRequestId == nil {
  39651. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  39652. }
  39653. if invalidParams.Len() > 0 {
  39654. return invalidParams
  39655. }
  39656. return nil
  39657. }
  39658. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  39659. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  39660. s.ExcessCapacityTerminationPolicy = &v
  39661. return s
  39662. }
  39663. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  39664. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  39665. s.SpotFleetRequestId = &v
  39666. return s
  39667. }
  39668. // SetTargetCapacity sets the TargetCapacity field's value.
  39669. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  39670. s.TargetCapacity = &v
  39671. return s
  39672. }
  39673. // Contains the output of ModifySpotFleetRequest.
  39674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestResponse
  39675. type ModifySpotFleetRequestOutput struct {
  39676. _ struct{} `type:"structure"`
  39677. // Is true if the request succeeds, and an error otherwise.
  39678. Return *bool `locationName:"return" type:"boolean"`
  39679. }
  39680. // String returns the string representation
  39681. func (s ModifySpotFleetRequestOutput) String() string {
  39682. return awsutil.Prettify(s)
  39683. }
  39684. // GoString returns the string representation
  39685. func (s ModifySpotFleetRequestOutput) GoString() string {
  39686. return s.String()
  39687. }
  39688. // SetReturn sets the Return field's value.
  39689. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  39690. s.Return = &v
  39691. return s
  39692. }
  39693. // Contains the parameters for ModifySubnetAttribute.
  39694. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeRequest
  39695. type ModifySubnetAttributeInput struct {
  39696. _ struct{} `type:"structure"`
  39697. // Specify true to indicate that network interfaces created in the specified
  39698. // subnet should be assigned an IPv6 address. This includes a network interface
  39699. // that's created when launching an instance into the subnet (the instance therefore
  39700. // receives an IPv6 address).
  39701. //
  39702. // If you enable the IPv6 addressing feature for your subnet, your network interface
  39703. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  39704. // or later of the Amazon EC2 API.
  39705. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  39706. // Specify true to indicate that network interfaces created in the specified
  39707. // subnet should be assigned a public IPv4 address. This includes a network
  39708. // interface that's created when launching an instance into the subnet (the
  39709. // instance therefore receives a public IPv4 address).
  39710. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  39711. // The ID of the subnet.
  39712. //
  39713. // SubnetId is a required field
  39714. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  39715. }
  39716. // String returns the string representation
  39717. func (s ModifySubnetAttributeInput) String() string {
  39718. return awsutil.Prettify(s)
  39719. }
  39720. // GoString returns the string representation
  39721. func (s ModifySubnetAttributeInput) GoString() string {
  39722. return s.String()
  39723. }
  39724. // Validate inspects the fields of the type to determine if they are valid.
  39725. func (s *ModifySubnetAttributeInput) Validate() error {
  39726. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  39727. if s.SubnetId == nil {
  39728. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  39729. }
  39730. if invalidParams.Len() > 0 {
  39731. return invalidParams
  39732. }
  39733. return nil
  39734. }
  39735. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  39736. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  39737. s.AssignIpv6AddressOnCreation = v
  39738. return s
  39739. }
  39740. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  39741. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  39742. s.MapPublicIpOnLaunch = v
  39743. return s
  39744. }
  39745. // SetSubnetId sets the SubnetId field's value.
  39746. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  39747. s.SubnetId = &v
  39748. return s
  39749. }
  39750. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeOutput
  39751. type ModifySubnetAttributeOutput struct {
  39752. _ struct{} `type:"structure"`
  39753. }
  39754. // String returns the string representation
  39755. func (s ModifySubnetAttributeOutput) String() string {
  39756. return awsutil.Prettify(s)
  39757. }
  39758. // GoString returns the string representation
  39759. func (s ModifySubnetAttributeOutput) GoString() string {
  39760. return s.String()
  39761. }
  39762. // Contains the parameters for ModifyVolumeAttribute.
  39763. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeRequest
  39764. type ModifyVolumeAttributeInput struct {
  39765. _ struct{} `type:"structure"`
  39766. // Indicates whether the volume should be auto-enabled for I/O operations.
  39767. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  39768. // Checks whether you have the required permissions for the action, without
  39769. // actually making the request, and provides an error response. If you have
  39770. // the required permissions, the error response is DryRunOperation. Otherwise,
  39771. // it is UnauthorizedOperation.
  39772. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39773. // The ID of the volume.
  39774. //
  39775. // VolumeId is a required field
  39776. VolumeId *string `type:"string" required:"true"`
  39777. }
  39778. // String returns the string representation
  39779. func (s ModifyVolumeAttributeInput) String() string {
  39780. return awsutil.Prettify(s)
  39781. }
  39782. // GoString returns the string representation
  39783. func (s ModifyVolumeAttributeInput) GoString() string {
  39784. return s.String()
  39785. }
  39786. // Validate inspects the fields of the type to determine if they are valid.
  39787. func (s *ModifyVolumeAttributeInput) Validate() error {
  39788. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  39789. if s.VolumeId == nil {
  39790. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  39791. }
  39792. if invalidParams.Len() > 0 {
  39793. return invalidParams
  39794. }
  39795. return nil
  39796. }
  39797. // SetAutoEnableIO sets the AutoEnableIO field's value.
  39798. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  39799. s.AutoEnableIO = v
  39800. return s
  39801. }
  39802. // SetDryRun sets the DryRun field's value.
  39803. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  39804. s.DryRun = &v
  39805. return s
  39806. }
  39807. // SetVolumeId sets the VolumeId field's value.
  39808. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  39809. s.VolumeId = &v
  39810. return s
  39811. }
  39812. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeOutput
  39813. type ModifyVolumeAttributeOutput struct {
  39814. _ struct{} `type:"structure"`
  39815. }
  39816. // String returns the string representation
  39817. func (s ModifyVolumeAttributeOutput) String() string {
  39818. return awsutil.Prettify(s)
  39819. }
  39820. // GoString returns the string representation
  39821. func (s ModifyVolumeAttributeOutput) GoString() string {
  39822. return s.String()
  39823. }
  39824. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeRequest
  39825. type ModifyVolumeInput struct {
  39826. _ struct{} `type:"structure"`
  39827. // Checks whether you have the required permissions for the action, without
  39828. // actually making the request, and provides an error response. If you have
  39829. // the required permissions, the error response is DryRunOperation. Otherwise,
  39830. // it is UnauthorizedOperation.
  39831. DryRun *bool `type:"boolean"`
  39832. // Target IOPS rate of the volume to be modified.
  39833. //
  39834. // Only valid for Provisioned IOPS SSD (io1) volumes. For more information about
  39835. // io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops
  39836. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  39837. //
  39838. // Default: If no IOPS value is specified, the existing value is retained.
  39839. Iops *int64 `type:"integer"`
  39840. // Target size in GiB of the volume to be modified. Target volume size must
  39841. // be greater than or equal to than the existing size of the volume. For information
  39842. // about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
  39843. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  39844. //
  39845. // Default: If no size is specified, the existing size is retained.
  39846. Size *int64 `type:"integer"`
  39847. // VolumeId is a required field
  39848. VolumeId *string `type:"string" required:"true"`
  39849. // Target EBS volume type of the volume to be modified
  39850. //
  39851. // The API does not support modifications for volume type standard. You also
  39852. // cannot change the type of a volume to standard.
  39853. //
  39854. // Default: If no type is specified, the existing type is retained.
  39855. VolumeType *string `type:"string" enum:"VolumeType"`
  39856. }
  39857. // String returns the string representation
  39858. func (s ModifyVolumeInput) String() string {
  39859. return awsutil.Prettify(s)
  39860. }
  39861. // GoString returns the string representation
  39862. func (s ModifyVolumeInput) GoString() string {
  39863. return s.String()
  39864. }
  39865. // Validate inspects the fields of the type to determine if they are valid.
  39866. func (s *ModifyVolumeInput) Validate() error {
  39867. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  39868. if s.VolumeId == nil {
  39869. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  39870. }
  39871. if invalidParams.Len() > 0 {
  39872. return invalidParams
  39873. }
  39874. return nil
  39875. }
  39876. // SetDryRun sets the DryRun field's value.
  39877. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  39878. s.DryRun = &v
  39879. return s
  39880. }
  39881. // SetIops sets the Iops field's value.
  39882. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  39883. s.Iops = &v
  39884. return s
  39885. }
  39886. // SetSize sets the Size field's value.
  39887. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  39888. s.Size = &v
  39889. return s
  39890. }
  39891. // SetVolumeId sets the VolumeId field's value.
  39892. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  39893. s.VolumeId = &v
  39894. return s
  39895. }
  39896. // SetVolumeType sets the VolumeType field's value.
  39897. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  39898. s.VolumeType = &v
  39899. return s
  39900. }
  39901. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeResult
  39902. type ModifyVolumeOutput struct {
  39903. _ struct{} `type:"structure"`
  39904. // A VolumeModification object.
  39905. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  39906. }
  39907. // String returns the string representation
  39908. func (s ModifyVolumeOutput) String() string {
  39909. return awsutil.Prettify(s)
  39910. }
  39911. // GoString returns the string representation
  39912. func (s ModifyVolumeOutput) GoString() string {
  39913. return s.String()
  39914. }
  39915. // SetVolumeModification sets the VolumeModification field's value.
  39916. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  39917. s.VolumeModification = v
  39918. return s
  39919. }
  39920. // Contains the parameters for ModifyVpcAttribute.
  39921. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeRequest
  39922. type ModifyVpcAttributeInput struct {
  39923. _ struct{} `type:"structure"`
  39924. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  39925. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  39926. //
  39927. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  39928. // same request. Use separate requests for each attribute. You can only enable
  39929. // DNS hostnames if you've enabled DNS support.
  39930. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  39931. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  39932. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  39933. // or the reserved IP address at the base of the VPC network range "plus two"
  39934. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  39935. // resolves public DNS hostnames to IP addresses is not enabled.
  39936. //
  39937. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  39938. // same request. Use separate requests for each attribute.
  39939. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  39940. // The ID of the VPC.
  39941. //
  39942. // VpcId is a required field
  39943. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  39944. }
  39945. // String returns the string representation
  39946. func (s ModifyVpcAttributeInput) String() string {
  39947. return awsutil.Prettify(s)
  39948. }
  39949. // GoString returns the string representation
  39950. func (s ModifyVpcAttributeInput) GoString() string {
  39951. return s.String()
  39952. }
  39953. // Validate inspects the fields of the type to determine if they are valid.
  39954. func (s *ModifyVpcAttributeInput) Validate() error {
  39955. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  39956. if s.VpcId == nil {
  39957. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  39958. }
  39959. if invalidParams.Len() > 0 {
  39960. return invalidParams
  39961. }
  39962. return nil
  39963. }
  39964. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  39965. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  39966. s.EnableDnsHostnames = v
  39967. return s
  39968. }
  39969. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  39970. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  39971. s.EnableDnsSupport = v
  39972. return s
  39973. }
  39974. // SetVpcId sets the VpcId field's value.
  39975. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  39976. s.VpcId = &v
  39977. return s
  39978. }
  39979. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeOutput
  39980. type ModifyVpcAttributeOutput struct {
  39981. _ struct{} `type:"structure"`
  39982. }
  39983. // String returns the string representation
  39984. func (s ModifyVpcAttributeOutput) String() string {
  39985. return awsutil.Prettify(s)
  39986. }
  39987. // GoString returns the string representation
  39988. func (s ModifyVpcAttributeOutput) GoString() string {
  39989. return s.String()
  39990. }
  39991. // Contains the parameters for ModifyVpcEndpoint.
  39992. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointRequest
  39993. type ModifyVpcEndpointInput struct {
  39994. _ struct{} `type:"structure"`
  39995. // One or more route tables IDs to associate with the endpoint.
  39996. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  39997. // Checks whether you have the required permissions for the action, without
  39998. // actually making the request, and provides an error response. If you have
  39999. // the required permissions, the error response is DryRunOperation. Otherwise,
  40000. // it is UnauthorizedOperation.
  40001. DryRun *bool `type:"boolean"`
  40002. // A policy document to attach to the endpoint. The policy must be in valid
  40003. // JSON format.
  40004. PolicyDocument *string `type:"string"`
  40005. // One or more route table IDs to disassociate from the endpoint.
  40006. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  40007. // Specify true to reset the policy document to the default policy. The default
  40008. // policy allows access to the service.
  40009. ResetPolicy *bool `type:"boolean"`
  40010. // The ID of the endpoint.
  40011. //
  40012. // VpcEndpointId is a required field
  40013. VpcEndpointId *string `type:"string" required:"true"`
  40014. }
  40015. // String returns the string representation
  40016. func (s ModifyVpcEndpointInput) String() string {
  40017. return awsutil.Prettify(s)
  40018. }
  40019. // GoString returns the string representation
  40020. func (s ModifyVpcEndpointInput) GoString() string {
  40021. return s.String()
  40022. }
  40023. // Validate inspects the fields of the type to determine if they are valid.
  40024. func (s *ModifyVpcEndpointInput) Validate() error {
  40025. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  40026. if s.VpcEndpointId == nil {
  40027. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  40028. }
  40029. if invalidParams.Len() > 0 {
  40030. return invalidParams
  40031. }
  40032. return nil
  40033. }
  40034. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  40035. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  40036. s.AddRouteTableIds = v
  40037. return s
  40038. }
  40039. // SetDryRun sets the DryRun field's value.
  40040. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  40041. s.DryRun = &v
  40042. return s
  40043. }
  40044. // SetPolicyDocument sets the PolicyDocument field's value.
  40045. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  40046. s.PolicyDocument = &v
  40047. return s
  40048. }
  40049. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  40050. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  40051. s.RemoveRouteTableIds = v
  40052. return s
  40053. }
  40054. // SetResetPolicy sets the ResetPolicy field's value.
  40055. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  40056. s.ResetPolicy = &v
  40057. return s
  40058. }
  40059. // SetVpcEndpointId sets the VpcEndpointId field's value.
  40060. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  40061. s.VpcEndpointId = &v
  40062. return s
  40063. }
  40064. // Contains the output of ModifyVpcEndpoint.
  40065. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointResult
  40066. type ModifyVpcEndpointOutput struct {
  40067. _ struct{} `type:"structure"`
  40068. // Returns true if the request succeeds; otherwise, it returns an error.
  40069. Return *bool `locationName:"return" type:"boolean"`
  40070. }
  40071. // String returns the string representation
  40072. func (s ModifyVpcEndpointOutput) String() string {
  40073. return awsutil.Prettify(s)
  40074. }
  40075. // GoString returns the string representation
  40076. func (s ModifyVpcEndpointOutput) GoString() string {
  40077. return s.String()
  40078. }
  40079. // SetReturn sets the Return field's value.
  40080. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  40081. s.Return = &v
  40082. return s
  40083. }
  40084. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsRequest
  40085. type ModifyVpcPeeringConnectionOptionsInput struct {
  40086. _ struct{} `type:"structure"`
  40087. // The VPC peering connection options for the accepter VPC.
  40088. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  40089. // Checks whether you have the required permissions for the operation, without
  40090. // actually making the request, and provides an error response. If you have
  40091. // the required permissions, the error response is DryRunOperation. Otherwise,
  40092. // it is UnauthorizedOperation.
  40093. DryRun *bool `type:"boolean"`
  40094. // The VPC peering connection options for the requester VPC.
  40095. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  40096. // The ID of the VPC peering connection.
  40097. //
  40098. // VpcPeeringConnectionId is a required field
  40099. VpcPeeringConnectionId *string `type:"string" required:"true"`
  40100. }
  40101. // String returns the string representation
  40102. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  40103. return awsutil.Prettify(s)
  40104. }
  40105. // GoString returns the string representation
  40106. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  40107. return s.String()
  40108. }
  40109. // Validate inspects the fields of the type to determine if they are valid.
  40110. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  40111. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  40112. if s.VpcPeeringConnectionId == nil {
  40113. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  40114. }
  40115. if invalidParams.Len() > 0 {
  40116. return invalidParams
  40117. }
  40118. return nil
  40119. }
  40120. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  40121. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  40122. s.AccepterPeeringConnectionOptions = v
  40123. return s
  40124. }
  40125. // SetDryRun sets the DryRun field's value.
  40126. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  40127. s.DryRun = &v
  40128. return s
  40129. }
  40130. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  40131. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  40132. s.RequesterPeeringConnectionOptions = v
  40133. return s
  40134. }
  40135. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  40136. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  40137. s.VpcPeeringConnectionId = &v
  40138. return s
  40139. }
  40140. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsResult
  40141. type ModifyVpcPeeringConnectionOptionsOutput struct {
  40142. _ struct{} `type:"structure"`
  40143. // Information about the VPC peering connection options for the accepter VPC.
  40144. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  40145. // Information about the VPC peering connection options for the requester VPC.
  40146. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  40147. }
  40148. // String returns the string representation
  40149. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  40150. return awsutil.Prettify(s)
  40151. }
  40152. // GoString returns the string representation
  40153. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  40154. return s.String()
  40155. }
  40156. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  40157. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  40158. s.AccepterPeeringConnectionOptions = v
  40159. return s
  40160. }
  40161. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  40162. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  40163. s.RequesterPeeringConnectionOptions = v
  40164. return s
  40165. }
  40166. // Contains the parameters for MonitorInstances.
  40167. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesRequest
  40168. type MonitorInstancesInput struct {
  40169. _ struct{} `type:"structure"`
  40170. // Checks whether you have the required permissions for the action, without
  40171. // actually making the request, and provides an error response. If you have
  40172. // the required permissions, the error response is DryRunOperation. Otherwise,
  40173. // it is UnauthorizedOperation.
  40174. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40175. // One or more instance IDs.
  40176. //
  40177. // InstanceIds is a required field
  40178. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  40179. }
  40180. // String returns the string representation
  40181. func (s MonitorInstancesInput) String() string {
  40182. return awsutil.Prettify(s)
  40183. }
  40184. // GoString returns the string representation
  40185. func (s MonitorInstancesInput) GoString() string {
  40186. return s.String()
  40187. }
  40188. // Validate inspects the fields of the type to determine if they are valid.
  40189. func (s *MonitorInstancesInput) Validate() error {
  40190. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  40191. if s.InstanceIds == nil {
  40192. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  40193. }
  40194. if invalidParams.Len() > 0 {
  40195. return invalidParams
  40196. }
  40197. return nil
  40198. }
  40199. // SetDryRun sets the DryRun field's value.
  40200. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  40201. s.DryRun = &v
  40202. return s
  40203. }
  40204. // SetInstanceIds sets the InstanceIds field's value.
  40205. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  40206. s.InstanceIds = v
  40207. return s
  40208. }
  40209. // Contains the output of MonitorInstances.
  40210. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesResult
  40211. type MonitorInstancesOutput struct {
  40212. _ struct{} `type:"structure"`
  40213. // The monitoring information.
  40214. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  40215. }
  40216. // String returns the string representation
  40217. func (s MonitorInstancesOutput) String() string {
  40218. return awsutil.Prettify(s)
  40219. }
  40220. // GoString returns the string representation
  40221. func (s MonitorInstancesOutput) GoString() string {
  40222. return s.String()
  40223. }
  40224. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  40225. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  40226. s.InstanceMonitorings = v
  40227. return s
  40228. }
  40229. // Describes the monitoring of an instance.
  40230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Monitoring
  40231. type Monitoring struct {
  40232. _ struct{} `type:"structure"`
  40233. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  40234. // is enabled.
  40235. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  40236. }
  40237. // String returns the string representation
  40238. func (s Monitoring) String() string {
  40239. return awsutil.Prettify(s)
  40240. }
  40241. // GoString returns the string representation
  40242. func (s Monitoring) GoString() string {
  40243. return s.String()
  40244. }
  40245. // SetState sets the State field's value.
  40246. func (s *Monitoring) SetState(v string) *Monitoring {
  40247. s.State = &v
  40248. return s
  40249. }
  40250. // Contains the parameters for MoveAddressToVpc.
  40251. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcRequest
  40252. type MoveAddressToVpcInput struct {
  40253. _ struct{} `type:"structure"`
  40254. // Checks whether you have the required permissions for the action, without
  40255. // actually making the request, and provides an error response. If you have
  40256. // the required permissions, the error response is DryRunOperation. Otherwise,
  40257. // it is UnauthorizedOperation.
  40258. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40259. // The Elastic IP address.
  40260. //
  40261. // PublicIp is a required field
  40262. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  40263. }
  40264. // String returns the string representation
  40265. func (s MoveAddressToVpcInput) String() string {
  40266. return awsutil.Prettify(s)
  40267. }
  40268. // GoString returns the string representation
  40269. func (s MoveAddressToVpcInput) GoString() string {
  40270. return s.String()
  40271. }
  40272. // Validate inspects the fields of the type to determine if they are valid.
  40273. func (s *MoveAddressToVpcInput) Validate() error {
  40274. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  40275. if s.PublicIp == nil {
  40276. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  40277. }
  40278. if invalidParams.Len() > 0 {
  40279. return invalidParams
  40280. }
  40281. return nil
  40282. }
  40283. // SetDryRun sets the DryRun field's value.
  40284. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  40285. s.DryRun = &v
  40286. return s
  40287. }
  40288. // SetPublicIp sets the PublicIp field's value.
  40289. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  40290. s.PublicIp = &v
  40291. return s
  40292. }
  40293. // Contains the output of MoveAddressToVpc.
  40294. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcResult
  40295. type MoveAddressToVpcOutput struct {
  40296. _ struct{} `type:"structure"`
  40297. // The allocation ID for the Elastic IP address.
  40298. AllocationId *string `locationName:"allocationId" type:"string"`
  40299. // The status of the move of the IP address.
  40300. Status *string `locationName:"status" type:"string" enum:"Status"`
  40301. }
  40302. // String returns the string representation
  40303. func (s MoveAddressToVpcOutput) String() string {
  40304. return awsutil.Prettify(s)
  40305. }
  40306. // GoString returns the string representation
  40307. func (s MoveAddressToVpcOutput) GoString() string {
  40308. return s.String()
  40309. }
  40310. // SetAllocationId sets the AllocationId field's value.
  40311. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  40312. s.AllocationId = &v
  40313. return s
  40314. }
  40315. // SetStatus sets the Status field's value.
  40316. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  40317. s.Status = &v
  40318. return s
  40319. }
  40320. // Describes the status of a moving Elastic IP address.
  40321. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MovingAddressStatus
  40322. type MovingAddressStatus struct {
  40323. _ struct{} `type:"structure"`
  40324. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  40325. // or restored to the EC2-Classic platform.
  40326. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  40327. // The Elastic IP address.
  40328. PublicIp *string `locationName:"publicIp" type:"string"`
  40329. }
  40330. // String returns the string representation
  40331. func (s MovingAddressStatus) String() string {
  40332. return awsutil.Prettify(s)
  40333. }
  40334. // GoString returns the string representation
  40335. func (s MovingAddressStatus) GoString() string {
  40336. return s.String()
  40337. }
  40338. // SetMoveStatus sets the MoveStatus field's value.
  40339. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  40340. s.MoveStatus = &v
  40341. return s
  40342. }
  40343. // SetPublicIp sets the PublicIp field's value.
  40344. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  40345. s.PublicIp = &v
  40346. return s
  40347. }
  40348. // Describes a NAT gateway.
  40349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGateway
  40350. type NatGateway struct {
  40351. _ struct{} `type:"structure"`
  40352. // The date and time the NAT gateway was created.
  40353. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  40354. // The date and time the NAT gateway was deleted, if applicable.
  40355. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  40356. // If the NAT gateway could not be created, specifies the error code for the
  40357. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  40358. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  40359. FailureCode *string `locationName:"failureCode" type:"string"`
  40360. // If the NAT gateway could not be created, specifies the error message for
  40361. // the failure, that corresponds to the error code.
  40362. //
  40363. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  40364. // addresses to create this NAT gateway"
  40365. //
  40366. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  40367. // attached"
  40368. //
  40369. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  40370. // could not be associated with this NAT gateway"
  40371. //
  40372. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  40373. // is already associated"
  40374. //
  40375. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  40376. // internally by this NAT gateway is in an invalid state. Please try again."
  40377. //
  40378. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  40379. // does not exist or could not be found."
  40380. FailureMessage *string `locationName:"failureMessage" type:"string"`
  40381. // Information about the IP addresses and network interface associated with
  40382. // the NAT gateway.
  40383. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  40384. // The ID of the NAT gateway.
  40385. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  40386. // Reserved. If you need to sustain traffic greater than the documented limits
  40387. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40388. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40389. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  40390. // The state of the NAT gateway.
  40391. //
  40392. // * pending: The NAT gateway is being created and is not ready to process
  40393. // traffic.
  40394. //
  40395. // * failed: The NAT gateway could not be created. Check the failureCode
  40396. // and failureMessage fields for the reason.
  40397. //
  40398. // * available: The NAT gateway is able to process traffic. This status remains
  40399. // until you delete the NAT gateway, and does not indicate the health of
  40400. // the NAT gateway.
  40401. //
  40402. // * deleting: The NAT gateway is in the process of being terminated and
  40403. // may still be processing traffic.
  40404. //
  40405. // * deleted: The NAT gateway has been terminated and is no longer processing
  40406. // traffic.
  40407. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  40408. // The ID of the subnet in which the NAT gateway is located.
  40409. SubnetId *string `locationName:"subnetId" type:"string"`
  40410. // The ID of the VPC in which the NAT gateway is located.
  40411. VpcId *string `locationName:"vpcId" type:"string"`
  40412. }
  40413. // String returns the string representation
  40414. func (s NatGateway) String() string {
  40415. return awsutil.Prettify(s)
  40416. }
  40417. // GoString returns the string representation
  40418. func (s NatGateway) GoString() string {
  40419. return s.String()
  40420. }
  40421. // SetCreateTime sets the CreateTime field's value.
  40422. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  40423. s.CreateTime = &v
  40424. return s
  40425. }
  40426. // SetDeleteTime sets the DeleteTime field's value.
  40427. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  40428. s.DeleteTime = &v
  40429. return s
  40430. }
  40431. // SetFailureCode sets the FailureCode field's value.
  40432. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  40433. s.FailureCode = &v
  40434. return s
  40435. }
  40436. // SetFailureMessage sets the FailureMessage field's value.
  40437. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  40438. s.FailureMessage = &v
  40439. return s
  40440. }
  40441. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  40442. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  40443. s.NatGatewayAddresses = v
  40444. return s
  40445. }
  40446. // SetNatGatewayId sets the NatGatewayId field's value.
  40447. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  40448. s.NatGatewayId = &v
  40449. return s
  40450. }
  40451. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  40452. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  40453. s.ProvisionedBandwidth = v
  40454. return s
  40455. }
  40456. // SetState sets the State field's value.
  40457. func (s *NatGateway) SetState(v string) *NatGateway {
  40458. s.State = &v
  40459. return s
  40460. }
  40461. // SetSubnetId sets the SubnetId field's value.
  40462. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  40463. s.SubnetId = &v
  40464. return s
  40465. }
  40466. // SetVpcId sets the VpcId field's value.
  40467. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  40468. s.VpcId = &v
  40469. return s
  40470. }
  40471. // Describes the IP addresses and network interface associated with a NAT gateway.
  40472. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAddress
  40473. type NatGatewayAddress struct {
  40474. _ struct{} `type:"structure"`
  40475. // The allocation ID of the Elastic IP address that's associated with the NAT
  40476. // gateway.
  40477. AllocationId *string `locationName:"allocationId" type:"string"`
  40478. // The ID of the network interface associated with the NAT gateway.
  40479. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  40480. // The private IP address associated with the Elastic IP address.
  40481. PrivateIp *string `locationName:"privateIp" type:"string"`
  40482. // The Elastic IP address associated with the NAT gateway.
  40483. PublicIp *string `locationName:"publicIp" type:"string"`
  40484. }
  40485. // String returns the string representation
  40486. func (s NatGatewayAddress) String() string {
  40487. return awsutil.Prettify(s)
  40488. }
  40489. // GoString returns the string representation
  40490. func (s NatGatewayAddress) GoString() string {
  40491. return s.String()
  40492. }
  40493. // SetAllocationId sets the AllocationId field's value.
  40494. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  40495. s.AllocationId = &v
  40496. return s
  40497. }
  40498. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  40499. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  40500. s.NetworkInterfaceId = &v
  40501. return s
  40502. }
  40503. // SetPrivateIp sets the PrivateIp field's value.
  40504. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  40505. s.PrivateIp = &v
  40506. return s
  40507. }
  40508. // SetPublicIp sets the PublicIp field's value.
  40509. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  40510. s.PublicIp = &v
  40511. return s
  40512. }
  40513. // Describes a network ACL.
  40514. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAcl
  40515. type NetworkAcl struct {
  40516. _ struct{} `type:"structure"`
  40517. // Any associations between the network ACL and one or more subnets
  40518. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  40519. // One or more entries (rules) in the network ACL.
  40520. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  40521. // Indicates whether this is the default network ACL for the VPC.
  40522. IsDefault *bool `locationName:"default" type:"boolean"`
  40523. // The ID of the network ACL.
  40524. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  40525. // Any tags assigned to the network ACL.
  40526. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40527. // The ID of the VPC for the network ACL.
  40528. VpcId *string `locationName:"vpcId" type:"string"`
  40529. }
  40530. // String returns the string representation
  40531. func (s NetworkAcl) String() string {
  40532. return awsutil.Prettify(s)
  40533. }
  40534. // GoString returns the string representation
  40535. func (s NetworkAcl) GoString() string {
  40536. return s.String()
  40537. }
  40538. // SetAssociations sets the Associations field's value.
  40539. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  40540. s.Associations = v
  40541. return s
  40542. }
  40543. // SetEntries sets the Entries field's value.
  40544. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  40545. s.Entries = v
  40546. return s
  40547. }
  40548. // SetIsDefault sets the IsDefault field's value.
  40549. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  40550. s.IsDefault = &v
  40551. return s
  40552. }
  40553. // SetNetworkAclId sets the NetworkAclId field's value.
  40554. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  40555. s.NetworkAclId = &v
  40556. return s
  40557. }
  40558. // SetTags sets the Tags field's value.
  40559. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  40560. s.Tags = v
  40561. return s
  40562. }
  40563. // SetVpcId sets the VpcId field's value.
  40564. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  40565. s.VpcId = &v
  40566. return s
  40567. }
  40568. // Describes an association between a network ACL and a subnet.
  40569. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclAssociation
  40570. type NetworkAclAssociation struct {
  40571. _ struct{} `type:"structure"`
  40572. // The ID of the association between a network ACL and a subnet.
  40573. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  40574. // The ID of the network ACL.
  40575. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  40576. // The ID of the subnet.
  40577. SubnetId *string `locationName:"subnetId" type:"string"`
  40578. }
  40579. // String returns the string representation
  40580. func (s NetworkAclAssociation) String() string {
  40581. return awsutil.Prettify(s)
  40582. }
  40583. // GoString returns the string representation
  40584. func (s NetworkAclAssociation) GoString() string {
  40585. return s.String()
  40586. }
  40587. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  40588. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  40589. s.NetworkAclAssociationId = &v
  40590. return s
  40591. }
  40592. // SetNetworkAclId sets the NetworkAclId field's value.
  40593. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  40594. s.NetworkAclId = &v
  40595. return s
  40596. }
  40597. // SetSubnetId sets the SubnetId field's value.
  40598. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  40599. s.SubnetId = &v
  40600. return s
  40601. }
  40602. // Describes an entry in a network ACL.
  40603. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclEntry
  40604. type NetworkAclEntry struct {
  40605. _ struct{} `type:"structure"`
  40606. // The IPv4 network range to allow or deny, in CIDR notation.
  40607. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  40608. // Indicates whether the rule is an egress rule (applied to traffic leaving
  40609. // the subnet).
  40610. Egress *bool `locationName:"egress" type:"boolean"`
  40611. // ICMP protocol: The ICMP type and code.
  40612. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  40613. // The IPv6 network range to allow or deny, in CIDR notation.
  40614. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  40615. // TCP or UDP protocols: The range of ports the rule applies to.
  40616. PortRange *PortRange `locationName:"portRange" type:"structure"`
  40617. // The protocol. A value of -1 means all protocols.
  40618. Protocol *string `locationName:"protocol" type:"string"`
  40619. // Indicates whether to allow or deny the traffic that matches the rule.
  40620. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  40621. // The rule number for the entry. ACL entries are processed in ascending order
  40622. // by rule number.
  40623. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  40624. }
  40625. // String returns the string representation
  40626. func (s NetworkAclEntry) String() string {
  40627. return awsutil.Prettify(s)
  40628. }
  40629. // GoString returns the string representation
  40630. func (s NetworkAclEntry) GoString() string {
  40631. return s.String()
  40632. }
  40633. // SetCidrBlock sets the CidrBlock field's value.
  40634. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  40635. s.CidrBlock = &v
  40636. return s
  40637. }
  40638. // SetEgress sets the Egress field's value.
  40639. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  40640. s.Egress = &v
  40641. return s
  40642. }
  40643. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  40644. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  40645. s.IcmpTypeCode = v
  40646. return s
  40647. }
  40648. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  40649. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  40650. s.Ipv6CidrBlock = &v
  40651. return s
  40652. }
  40653. // SetPortRange sets the PortRange field's value.
  40654. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  40655. s.PortRange = v
  40656. return s
  40657. }
  40658. // SetProtocol sets the Protocol field's value.
  40659. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  40660. s.Protocol = &v
  40661. return s
  40662. }
  40663. // SetRuleAction sets the RuleAction field's value.
  40664. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  40665. s.RuleAction = &v
  40666. return s
  40667. }
  40668. // SetRuleNumber sets the RuleNumber field's value.
  40669. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  40670. s.RuleNumber = &v
  40671. return s
  40672. }
  40673. // Describes a network interface.
  40674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterface
  40675. type NetworkInterface struct {
  40676. _ struct{} `type:"structure"`
  40677. // The association information for an Elastic IP address (IPv4) associated with
  40678. // the network interface.
  40679. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  40680. // The network interface attachment.
  40681. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  40682. // The Availability Zone.
  40683. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  40684. // A description.
  40685. Description *string `locationName:"description" type:"string"`
  40686. // Any security groups for the network interface.
  40687. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  40688. // The type of interface.
  40689. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  40690. // The IPv6 addresses associated with the network interface.
  40691. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  40692. // The MAC address.
  40693. MacAddress *string `locationName:"macAddress" type:"string"`
  40694. // The ID of the network interface.
  40695. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  40696. // The AWS account ID of the owner of the network interface.
  40697. OwnerId *string `locationName:"ownerId" type:"string"`
  40698. // The private DNS name.
  40699. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  40700. // The IPv4 address of the network interface within the subnet.
  40701. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  40702. // The private IPv4 addresses associated with the network interface.
  40703. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  40704. // The ID of the entity that launched the instance on your behalf (for example,
  40705. // AWS Management Console or Auto Scaling).
  40706. RequesterId *string `locationName:"requesterId" type:"string"`
  40707. // Indicates whether the network interface is being managed by AWS.
  40708. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  40709. // Indicates whether traffic to or from the instance is validated.
  40710. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  40711. // The status of the network interface.
  40712. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  40713. // The ID of the subnet.
  40714. SubnetId *string `locationName:"subnetId" type:"string"`
  40715. // Any tags assigned to the network interface.
  40716. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  40717. // The ID of the VPC.
  40718. VpcId *string `locationName:"vpcId" type:"string"`
  40719. }
  40720. // String returns the string representation
  40721. func (s NetworkInterface) String() string {
  40722. return awsutil.Prettify(s)
  40723. }
  40724. // GoString returns the string representation
  40725. func (s NetworkInterface) GoString() string {
  40726. return s.String()
  40727. }
  40728. // SetAssociation sets the Association field's value.
  40729. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  40730. s.Association = v
  40731. return s
  40732. }
  40733. // SetAttachment sets the Attachment field's value.
  40734. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  40735. s.Attachment = v
  40736. return s
  40737. }
  40738. // SetAvailabilityZone sets the AvailabilityZone field's value.
  40739. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  40740. s.AvailabilityZone = &v
  40741. return s
  40742. }
  40743. // SetDescription sets the Description field's value.
  40744. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  40745. s.Description = &v
  40746. return s
  40747. }
  40748. // SetGroups sets the Groups field's value.
  40749. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  40750. s.Groups = v
  40751. return s
  40752. }
  40753. // SetInterfaceType sets the InterfaceType field's value.
  40754. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  40755. s.InterfaceType = &v
  40756. return s
  40757. }
  40758. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  40759. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  40760. s.Ipv6Addresses = v
  40761. return s
  40762. }
  40763. // SetMacAddress sets the MacAddress field's value.
  40764. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  40765. s.MacAddress = &v
  40766. return s
  40767. }
  40768. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  40769. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  40770. s.NetworkInterfaceId = &v
  40771. return s
  40772. }
  40773. // SetOwnerId sets the OwnerId field's value.
  40774. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  40775. s.OwnerId = &v
  40776. return s
  40777. }
  40778. // SetPrivateDnsName sets the PrivateDnsName field's value.
  40779. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  40780. s.PrivateDnsName = &v
  40781. return s
  40782. }
  40783. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  40784. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  40785. s.PrivateIpAddress = &v
  40786. return s
  40787. }
  40788. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  40789. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  40790. s.PrivateIpAddresses = v
  40791. return s
  40792. }
  40793. // SetRequesterId sets the RequesterId field's value.
  40794. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  40795. s.RequesterId = &v
  40796. return s
  40797. }
  40798. // SetRequesterManaged sets the RequesterManaged field's value.
  40799. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  40800. s.RequesterManaged = &v
  40801. return s
  40802. }
  40803. // SetSourceDestCheck sets the SourceDestCheck field's value.
  40804. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  40805. s.SourceDestCheck = &v
  40806. return s
  40807. }
  40808. // SetStatus sets the Status field's value.
  40809. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  40810. s.Status = &v
  40811. return s
  40812. }
  40813. // SetSubnetId sets the SubnetId field's value.
  40814. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  40815. s.SubnetId = &v
  40816. return s
  40817. }
  40818. // SetTagSet sets the TagSet field's value.
  40819. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  40820. s.TagSet = v
  40821. return s
  40822. }
  40823. // SetVpcId sets the VpcId field's value.
  40824. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  40825. s.VpcId = &v
  40826. return s
  40827. }
  40828. // Describes association information for an Elastic IP address (IPv4 only).
  40829. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAssociation
  40830. type NetworkInterfaceAssociation struct {
  40831. _ struct{} `type:"structure"`
  40832. // The allocation ID.
  40833. AllocationId *string `locationName:"allocationId" type:"string"`
  40834. // The association ID.
  40835. AssociationId *string `locationName:"associationId" type:"string"`
  40836. // The ID of the Elastic IP address owner.
  40837. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  40838. // The public DNS name.
  40839. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  40840. // The address of the Elastic IP address bound to the network interface.
  40841. PublicIp *string `locationName:"publicIp" type:"string"`
  40842. }
  40843. // String returns the string representation
  40844. func (s NetworkInterfaceAssociation) String() string {
  40845. return awsutil.Prettify(s)
  40846. }
  40847. // GoString returns the string representation
  40848. func (s NetworkInterfaceAssociation) GoString() string {
  40849. return s.String()
  40850. }
  40851. // SetAllocationId sets the AllocationId field's value.
  40852. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  40853. s.AllocationId = &v
  40854. return s
  40855. }
  40856. // SetAssociationId sets the AssociationId field's value.
  40857. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  40858. s.AssociationId = &v
  40859. return s
  40860. }
  40861. // SetIpOwnerId sets the IpOwnerId field's value.
  40862. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  40863. s.IpOwnerId = &v
  40864. return s
  40865. }
  40866. // SetPublicDnsName sets the PublicDnsName field's value.
  40867. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  40868. s.PublicDnsName = &v
  40869. return s
  40870. }
  40871. // SetPublicIp sets the PublicIp field's value.
  40872. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  40873. s.PublicIp = &v
  40874. return s
  40875. }
  40876. // Describes a network interface attachment.
  40877. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachment
  40878. type NetworkInterfaceAttachment struct {
  40879. _ struct{} `type:"structure"`
  40880. // The timestamp indicating when the attachment initiated.
  40881. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  40882. // The ID of the network interface attachment.
  40883. AttachmentId *string `locationName:"attachmentId" type:"string"`
  40884. // Indicates whether the network interface is deleted when the instance is terminated.
  40885. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  40886. // The device index of the network interface attachment on the instance.
  40887. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  40888. // The ID of the instance.
  40889. InstanceId *string `locationName:"instanceId" type:"string"`
  40890. // The AWS account ID of the owner of the instance.
  40891. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  40892. // The attachment state.
  40893. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  40894. }
  40895. // String returns the string representation
  40896. func (s NetworkInterfaceAttachment) String() string {
  40897. return awsutil.Prettify(s)
  40898. }
  40899. // GoString returns the string representation
  40900. func (s NetworkInterfaceAttachment) GoString() string {
  40901. return s.String()
  40902. }
  40903. // SetAttachTime sets the AttachTime field's value.
  40904. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  40905. s.AttachTime = &v
  40906. return s
  40907. }
  40908. // SetAttachmentId sets the AttachmentId field's value.
  40909. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  40910. s.AttachmentId = &v
  40911. return s
  40912. }
  40913. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  40914. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  40915. s.DeleteOnTermination = &v
  40916. return s
  40917. }
  40918. // SetDeviceIndex sets the DeviceIndex field's value.
  40919. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  40920. s.DeviceIndex = &v
  40921. return s
  40922. }
  40923. // SetInstanceId sets the InstanceId field's value.
  40924. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  40925. s.InstanceId = &v
  40926. return s
  40927. }
  40928. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  40929. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  40930. s.InstanceOwnerId = &v
  40931. return s
  40932. }
  40933. // SetStatus sets the Status field's value.
  40934. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  40935. s.Status = &v
  40936. return s
  40937. }
  40938. // Describes an attachment change.
  40939. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachmentChanges
  40940. type NetworkInterfaceAttachmentChanges struct {
  40941. _ struct{} `type:"structure"`
  40942. // The ID of the network interface attachment.
  40943. AttachmentId *string `locationName:"attachmentId" type:"string"`
  40944. // Indicates whether the network interface is deleted when the instance is terminated.
  40945. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  40946. }
  40947. // String returns the string representation
  40948. func (s NetworkInterfaceAttachmentChanges) String() string {
  40949. return awsutil.Prettify(s)
  40950. }
  40951. // GoString returns the string representation
  40952. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  40953. return s.String()
  40954. }
  40955. // SetAttachmentId sets the AttachmentId field's value.
  40956. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  40957. s.AttachmentId = &v
  40958. return s
  40959. }
  40960. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  40961. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  40962. s.DeleteOnTermination = &v
  40963. return s
  40964. }
  40965. // Describes an IPv6 address associated with a network interface.
  40966. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceIpv6Address
  40967. type NetworkInterfaceIpv6Address struct {
  40968. _ struct{} `type:"structure"`
  40969. // The IPv6 address.
  40970. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  40971. }
  40972. // String returns the string representation
  40973. func (s NetworkInterfaceIpv6Address) String() string {
  40974. return awsutil.Prettify(s)
  40975. }
  40976. // GoString returns the string representation
  40977. func (s NetworkInterfaceIpv6Address) GoString() string {
  40978. return s.String()
  40979. }
  40980. // SetIpv6Address sets the Ipv6Address field's value.
  40981. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  40982. s.Ipv6Address = &v
  40983. return s
  40984. }
  40985. // Describes a permission for a network interface.
  40986. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermission
  40987. type NetworkInterfacePermission struct {
  40988. _ struct{} `type:"structure"`
  40989. // The AWS account ID.
  40990. AwsAccountId *string `locationName:"awsAccountId" type:"string"`
  40991. // The AWS service.
  40992. AwsService *string `locationName:"awsService" type:"string"`
  40993. // The ID of the network interface.
  40994. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  40995. // The ID of the network interface permission.
  40996. NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
  40997. // The type of permission.
  40998. Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
  40999. // Information about the state of the permission.
  41000. PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
  41001. }
  41002. // String returns the string representation
  41003. func (s NetworkInterfacePermission) String() string {
  41004. return awsutil.Prettify(s)
  41005. }
  41006. // GoString returns the string representation
  41007. func (s NetworkInterfacePermission) GoString() string {
  41008. return s.String()
  41009. }
  41010. // SetAwsAccountId sets the AwsAccountId field's value.
  41011. func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
  41012. s.AwsAccountId = &v
  41013. return s
  41014. }
  41015. // SetAwsService sets the AwsService field's value.
  41016. func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
  41017. s.AwsService = &v
  41018. return s
  41019. }
  41020. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  41021. func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
  41022. s.NetworkInterfaceId = &v
  41023. return s
  41024. }
  41025. // SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
  41026. func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
  41027. s.NetworkInterfacePermissionId = &v
  41028. return s
  41029. }
  41030. // SetPermission sets the Permission field's value.
  41031. func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
  41032. s.Permission = &v
  41033. return s
  41034. }
  41035. // SetPermissionState sets the PermissionState field's value.
  41036. func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
  41037. s.PermissionState = v
  41038. return s
  41039. }
  41040. // Describes the state of a network interface permission.
  41041. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermissionState
  41042. type NetworkInterfacePermissionState struct {
  41043. _ struct{} `type:"structure"`
  41044. // The state of the permission.
  41045. State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
  41046. // A status message, if applicable.
  41047. StatusMessage *string `locationName:"statusMessage" type:"string"`
  41048. }
  41049. // String returns the string representation
  41050. func (s NetworkInterfacePermissionState) String() string {
  41051. return awsutil.Prettify(s)
  41052. }
  41053. // GoString returns the string representation
  41054. func (s NetworkInterfacePermissionState) GoString() string {
  41055. return s.String()
  41056. }
  41057. // SetState sets the State field's value.
  41058. func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
  41059. s.State = &v
  41060. return s
  41061. }
  41062. // SetStatusMessage sets the StatusMessage field's value.
  41063. func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
  41064. s.StatusMessage = &v
  41065. return s
  41066. }
  41067. // Describes the private IPv4 address of a network interface.
  41068. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePrivateIpAddress
  41069. type NetworkInterfacePrivateIpAddress struct {
  41070. _ struct{} `type:"structure"`
  41071. // The association information for an Elastic IP address (IPv4) associated with
  41072. // the network interface.
  41073. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  41074. // Indicates whether this IPv4 address is the primary private IPv4 address of
  41075. // the network interface.
  41076. Primary *bool `locationName:"primary" type:"boolean"`
  41077. // The private DNS name.
  41078. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  41079. // The private IPv4 address.
  41080. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  41081. }
  41082. // String returns the string representation
  41083. func (s NetworkInterfacePrivateIpAddress) String() string {
  41084. return awsutil.Prettify(s)
  41085. }
  41086. // GoString returns the string representation
  41087. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  41088. return s.String()
  41089. }
  41090. // SetAssociation sets the Association field's value.
  41091. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  41092. s.Association = v
  41093. return s
  41094. }
  41095. // SetPrimary sets the Primary field's value.
  41096. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  41097. s.Primary = &v
  41098. return s
  41099. }
  41100. // SetPrivateDnsName sets the PrivateDnsName field's value.
  41101. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  41102. s.PrivateDnsName = &v
  41103. return s
  41104. }
  41105. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  41106. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  41107. s.PrivateIpAddress = &v
  41108. return s
  41109. }
  41110. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NewDhcpConfiguration
  41111. type NewDhcpConfiguration struct {
  41112. _ struct{} `type:"structure"`
  41113. Key *string `locationName:"key" type:"string"`
  41114. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  41115. }
  41116. // String returns the string representation
  41117. func (s NewDhcpConfiguration) String() string {
  41118. return awsutil.Prettify(s)
  41119. }
  41120. // GoString returns the string representation
  41121. func (s NewDhcpConfiguration) GoString() string {
  41122. return s.String()
  41123. }
  41124. // SetKey sets the Key field's value.
  41125. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  41126. s.Key = &v
  41127. return s
  41128. }
  41129. // SetValues sets the Values field's value.
  41130. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  41131. s.Values = v
  41132. return s
  41133. }
  41134. // Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
  41135. // bus.
  41136. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PciId
  41137. type PciId struct {
  41138. _ struct{} `type:"structure"`
  41139. // The ID of the device.
  41140. DeviceId *string `type:"string"`
  41141. // The ID of the subsystem.
  41142. SubsystemId *string `type:"string"`
  41143. // The ID of the vendor for the subsystem.
  41144. SubsystemVendorId *string `type:"string"`
  41145. // The ID of the vendor.
  41146. VendorId *string `type:"string"`
  41147. }
  41148. // String returns the string representation
  41149. func (s PciId) String() string {
  41150. return awsutil.Prettify(s)
  41151. }
  41152. // GoString returns the string representation
  41153. func (s PciId) GoString() string {
  41154. return s.String()
  41155. }
  41156. // SetDeviceId sets the DeviceId field's value.
  41157. func (s *PciId) SetDeviceId(v string) *PciId {
  41158. s.DeviceId = &v
  41159. return s
  41160. }
  41161. // SetSubsystemId sets the SubsystemId field's value.
  41162. func (s *PciId) SetSubsystemId(v string) *PciId {
  41163. s.SubsystemId = &v
  41164. return s
  41165. }
  41166. // SetSubsystemVendorId sets the SubsystemVendorId field's value.
  41167. func (s *PciId) SetSubsystemVendorId(v string) *PciId {
  41168. s.SubsystemVendorId = &v
  41169. return s
  41170. }
  41171. // SetVendorId sets the VendorId field's value.
  41172. func (s *PciId) SetVendorId(v string) *PciId {
  41173. s.VendorId = &v
  41174. return s
  41175. }
  41176. // Describes the VPC peering connection options.
  41177. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptions
  41178. type PeeringConnectionOptions struct {
  41179. _ struct{} `type:"structure"`
  41180. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  41181. // addresses when queried from instances in the peer VPC.
  41182. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  41183. // If true, enables outbound communication from an EC2-Classic instance that's
  41184. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  41185. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  41186. // If true, enables outbound communication from instances in a local VPC to
  41187. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  41188. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  41189. }
  41190. // String returns the string representation
  41191. func (s PeeringConnectionOptions) String() string {
  41192. return awsutil.Prettify(s)
  41193. }
  41194. // GoString returns the string representation
  41195. func (s PeeringConnectionOptions) GoString() string {
  41196. return s.String()
  41197. }
  41198. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  41199. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  41200. s.AllowDnsResolutionFromRemoteVpc = &v
  41201. return s
  41202. }
  41203. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  41204. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  41205. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  41206. return s
  41207. }
  41208. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  41209. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  41210. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  41211. return s
  41212. }
  41213. // The VPC peering connection options.
  41214. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptionsRequest
  41215. type PeeringConnectionOptionsRequest struct {
  41216. _ struct{} `type:"structure"`
  41217. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  41218. // addresses when queried from instances in the peer VPC.
  41219. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  41220. // If true, enables outbound communication from an EC2-Classic instance that's
  41221. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  41222. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  41223. // If true, enables outbound communication from instances in a local VPC to
  41224. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  41225. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  41226. }
  41227. // String returns the string representation
  41228. func (s PeeringConnectionOptionsRequest) String() string {
  41229. return awsutil.Prettify(s)
  41230. }
  41231. // GoString returns the string representation
  41232. func (s PeeringConnectionOptionsRequest) GoString() string {
  41233. return s.String()
  41234. }
  41235. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  41236. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  41237. s.AllowDnsResolutionFromRemoteVpc = &v
  41238. return s
  41239. }
  41240. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  41241. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  41242. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  41243. return s
  41244. }
  41245. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  41246. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  41247. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  41248. return s
  41249. }
  41250. // Describes the placement of an instance.
  41251. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Placement
  41252. type Placement struct {
  41253. _ struct{} `type:"structure"`
  41254. // The affinity setting for the instance on the Dedicated Host. This parameter
  41255. // is not supported for the ImportInstance command.
  41256. Affinity *string `locationName:"affinity" type:"string"`
  41257. // The Availability Zone of the instance.
  41258. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  41259. // The name of the placement group the instance is in (for cluster compute instances).
  41260. GroupName *string `locationName:"groupName" type:"string"`
  41261. // The ID of the Dedicated Host on which the instance resides. This parameter
  41262. // is not supported for the ImportInstance command.
  41263. HostId *string `locationName:"hostId" type:"string"`
  41264. // Reserved for future use.
  41265. SpreadDomain *string `locationName:"spreadDomain" type:"string"`
  41266. // The tenancy of the instance (if the instance is running in a VPC). An instance
  41267. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  41268. // is not supported for the ImportInstance command.
  41269. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  41270. }
  41271. // String returns the string representation
  41272. func (s Placement) String() string {
  41273. return awsutil.Prettify(s)
  41274. }
  41275. // GoString returns the string representation
  41276. func (s Placement) GoString() string {
  41277. return s.String()
  41278. }
  41279. // SetAffinity sets the Affinity field's value.
  41280. func (s *Placement) SetAffinity(v string) *Placement {
  41281. s.Affinity = &v
  41282. return s
  41283. }
  41284. // SetAvailabilityZone sets the AvailabilityZone field's value.
  41285. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  41286. s.AvailabilityZone = &v
  41287. return s
  41288. }
  41289. // SetGroupName sets the GroupName field's value.
  41290. func (s *Placement) SetGroupName(v string) *Placement {
  41291. s.GroupName = &v
  41292. return s
  41293. }
  41294. // SetHostId sets the HostId field's value.
  41295. func (s *Placement) SetHostId(v string) *Placement {
  41296. s.HostId = &v
  41297. return s
  41298. }
  41299. // SetSpreadDomain sets the SpreadDomain field's value.
  41300. func (s *Placement) SetSpreadDomain(v string) *Placement {
  41301. s.SpreadDomain = &v
  41302. return s
  41303. }
  41304. // SetTenancy sets the Tenancy field's value.
  41305. func (s *Placement) SetTenancy(v string) *Placement {
  41306. s.Tenancy = &v
  41307. return s
  41308. }
  41309. // Describes a placement group.
  41310. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PlacementGroup
  41311. type PlacementGroup struct {
  41312. _ struct{} `type:"structure"`
  41313. // The name of the placement group.
  41314. GroupName *string `locationName:"groupName" type:"string"`
  41315. // The state of the placement group.
  41316. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  41317. // The placement strategy.
  41318. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  41319. }
  41320. // String returns the string representation
  41321. func (s PlacementGroup) String() string {
  41322. return awsutil.Prettify(s)
  41323. }
  41324. // GoString returns the string representation
  41325. func (s PlacementGroup) GoString() string {
  41326. return s.String()
  41327. }
  41328. // SetGroupName sets the GroupName field's value.
  41329. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  41330. s.GroupName = &v
  41331. return s
  41332. }
  41333. // SetState sets the State field's value.
  41334. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  41335. s.State = &v
  41336. return s
  41337. }
  41338. // SetStrategy sets the Strategy field's value.
  41339. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  41340. s.Strategy = &v
  41341. return s
  41342. }
  41343. // Describes a range of ports.
  41344. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PortRange
  41345. type PortRange struct {
  41346. _ struct{} `type:"structure"`
  41347. // The first port in the range.
  41348. From *int64 `locationName:"from" type:"integer"`
  41349. // The last port in the range.
  41350. To *int64 `locationName:"to" type:"integer"`
  41351. }
  41352. // String returns the string representation
  41353. func (s PortRange) String() string {
  41354. return awsutil.Prettify(s)
  41355. }
  41356. // GoString returns the string representation
  41357. func (s PortRange) GoString() string {
  41358. return s.String()
  41359. }
  41360. // SetFrom sets the From field's value.
  41361. func (s *PortRange) SetFrom(v int64) *PortRange {
  41362. s.From = &v
  41363. return s
  41364. }
  41365. // SetTo sets the To field's value.
  41366. func (s *PortRange) SetTo(v int64) *PortRange {
  41367. s.To = &v
  41368. return s
  41369. }
  41370. // Describes prefixes for AWS services.
  41371. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixList
  41372. type PrefixList struct {
  41373. _ struct{} `type:"structure"`
  41374. // The IP address range of the AWS service.
  41375. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  41376. // The ID of the prefix.
  41377. PrefixListId *string `locationName:"prefixListId" type:"string"`
  41378. // The name of the prefix.
  41379. PrefixListName *string `locationName:"prefixListName" type:"string"`
  41380. }
  41381. // String returns the string representation
  41382. func (s PrefixList) String() string {
  41383. return awsutil.Prettify(s)
  41384. }
  41385. // GoString returns the string representation
  41386. func (s PrefixList) GoString() string {
  41387. return s.String()
  41388. }
  41389. // SetCidrs sets the Cidrs field's value.
  41390. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  41391. s.Cidrs = v
  41392. return s
  41393. }
  41394. // SetPrefixListId sets the PrefixListId field's value.
  41395. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  41396. s.PrefixListId = &v
  41397. return s
  41398. }
  41399. // SetPrefixListName sets the PrefixListName field's value.
  41400. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  41401. s.PrefixListName = &v
  41402. return s
  41403. }
  41404. // The ID of the prefix.
  41405. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixListId
  41406. type PrefixListId struct {
  41407. _ struct{} `type:"structure"`
  41408. // The ID of the prefix.
  41409. PrefixListId *string `locationName:"prefixListId" type:"string"`
  41410. }
  41411. // String returns the string representation
  41412. func (s PrefixListId) String() string {
  41413. return awsutil.Prettify(s)
  41414. }
  41415. // GoString returns the string representation
  41416. func (s PrefixListId) GoString() string {
  41417. return s.String()
  41418. }
  41419. // SetPrefixListId sets the PrefixListId field's value.
  41420. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  41421. s.PrefixListId = &v
  41422. return s
  41423. }
  41424. // Describes the price for a Reserved Instance.
  41425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceSchedule
  41426. type PriceSchedule struct {
  41427. _ struct{} `type:"structure"`
  41428. // The current price schedule, as determined by the term remaining for the Reserved
  41429. // Instance in the listing.
  41430. //
  41431. // A specific price schedule is always in effect, but only one price schedule
  41432. // can be active at any time. Take, for example, a Reserved Instance listing
  41433. // that has five months remaining in its term. When you specify price schedules
  41434. // for five months and two months, this means that schedule 1, covering the
  41435. // first three months of the remaining term, will be active during months 5,
  41436. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  41437. // be active for months 2 and 1.
  41438. Active *bool `locationName:"active" type:"boolean"`
  41439. // The currency for transacting the Reserved Instance resale. At this time,
  41440. // the only supported currency is USD.
  41441. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41442. // The fixed price for the term.
  41443. Price *float64 `locationName:"price" type:"double"`
  41444. // The number of months remaining in the reservation. For example, 2 is the
  41445. // second to the last month before the capacity reservation expires.
  41446. Term *int64 `locationName:"term" type:"long"`
  41447. }
  41448. // String returns the string representation
  41449. func (s PriceSchedule) String() string {
  41450. return awsutil.Prettify(s)
  41451. }
  41452. // GoString returns the string representation
  41453. func (s PriceSchedule) GoString() string {
  41454. return s.String()
  41455. }
  41456. // SetActive sets the Active field's value.
  41457. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  41458. s.Active = &v
  41459. return s
  41460. }
  41461. // SetCurrencyCode sets the CurrencyCode field's value.
  41462. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  41463. s.CurrencyCode = &v
  41464. return s
  41465. }
  41466. // SetPrice sets the Price field's value.
  41467. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  41468. s.Price = &v
  41469. return s
  41470. }
  41471. // SetTerm sets the Term field's value.
  41472. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  41473. s.Term = &v
  41474. return s
  41475. }
  41476. // Describes the price for a Reserved Instance.
  41477. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceScheduleSpecification
  41478. type PriceScheduleSpecification struct {
  41479. _ struct{} `type:"structure"`
  41480. // The currency for transacting the Reserved Instance resale. At this time,
  41481. // the only supported currency is USD.
  41482. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41483. // The fixed price for the term.
  41484. Price *float64 `locationName:"price" type:"double"`
  41485. // The number of months remaining in the reservation. For example, 2 is the
  41486. // second to the last month before the capacity reservation expires.
  41487. Term *int64 `locationName:"term" type:"long"`
  41488. }
  41489. // String returns the string representation
  41490. func (s PriceScheduleSpecification) String() string {
  41491. return awsutil.Prettify(s)
  41492. }
  41493. // GoString returns the string representation
  41494. func (s PriceScheduleSpecification) GoString() string {
  41495. return s.String()
  41496. }
  41497. // SetCurrencyCode sets the CurrencyCode field's value.
  41498. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  41499. s.CurrencyCode = &v
  41500. return s
  41501. }
  41502. // SetPrice sets the Price field's value.
  41503. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  41504. s.Price = &v
  41505. return s
  41506. }
  41507. // SetTerm sets the Term field's value.
  41508. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  41509. s.Term = &v
  41510. return s
  41511. }
  41512. // Describes a Reserved Instance offering.
  41513. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PricingDetail
  41514. type PricingDetail struct {
  41515. _ struct{} `type:"structure"`
  41516. // The number of reservations available for the price.
  41517. Count *int64 `locationName:"count" type:"integer"`
  41518. // The price per instance.
  41519. Price *float64 `locationName:"price" type:"double"`
  41520. }
  41521. // String returns the string representation
  41522. func (s PricingDetail) String() string {
  41523. return awsutil.Prettify(s)
  41524. }
  41525. // GoString returns the string representation
  41526. func (s PricingDetail) GoString() string {
  41527. return s.String()
  41528. }
  41529. // SetCount sets the Count field's value.
  41530. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  41531. s.Count = &v
  41532. return s
  41533. }
  41534. // SetPrice sets the Price field's value.
  41535. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  41536. s.Price = &v
  41537. return s
  41538. }
  41539. // Describes a secondary private IPv4 address for a network interface.
  41540. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrivateIpAddressSpecification
  41541. type PrivateIpAddressSpecification struct {
  41542. _ struct{} `type:"structure"`
  41543. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  41544. // Only one IPv4 address can be designated as primary.
  41545. Primary *bool `locationName:"primary" type:"boolean"`
  41546. // The private IPv4 addresses.
  41547. //
  41548. // PrivateIpAddress is a required field
  41549. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  41550. }
  41551. // String returns the string representation
  41552. func (s PrivateIpAddressSpecification) String() string {
  41553. return awsutil.Prettify(s)
  41554. }
  41555. // GoString returns the string representation
  41556. func (s PrivateIpAddressSpecification) GoString() string {
  41557. return s.String()
  41558. }
  41559. // Validate inspects the fields of the type to determine if they are valid.
  41560. func (s *PrivateIpAddressSpecification) Validate() error {
  41561. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  41562. if s.PrivateIpAddress == nil {
  41563. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  41564. }
  41565. if invalidParams.Len() > 0 {
  41566. return invalidParams
  41567. }
  41568. return nil
  41569. }
  41570. // SetPrimary sets the Primary field's value.
  41571. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  41572. s.Primary = &v
  41573. return s
  41574. }
  41575. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  41576. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  41577. s.PrivateIpAddress = &v
  41578. return s
  41579. }
  41580. // Describes a product code.
  41581. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProductCode
  41582. type ProductCode struct {
  41583. _ struct{} `type:"structure"`
  41584. // The product code.
  41585. ProductCodeId *string `locationName:"productCode" type:"string"`
  41586. // The type of product code.
  41587. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  41588. }
  41589. // String returns the string representation
  41590. func (s ProductCode) String() string {
  41591. return awsutil.Prettify(s)
  41592. }
  41593. // GoString returns the string representation
  41594. func (s ProductCode) GoString() string {
  41595. return s.String()
  41596. }
  41597. // SetProductCodeId sets the ProductCodeId field's value.
  41598. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  41599. s.ProductCodeId = &v
  41600. return s
  41601. }
  41602. // SetProductCodeType sets the ProductCodeType field's value.
  41603. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  41604. s.ProductCodeType = &v
  41605. return s
  41606. }
  41607. // Describes a virtual private gateway propagating route.
  41608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PropagatingVgw
  41609. type PropagatingVgw struct {
  41610. _ struct{} `type:"structure"`
  41611. // The ID of the virtual private gateway (VGW).
  41612. GatewayId *string `locationName:"gatewayId" type:"string"`
  41613. }
  41614. // String returns the string representation
  41615. func (s PropagatingVgw) String() string {
  41616. return awsutil.Prettify(s)
  41617. }
  41618. // GoString returns the string representation
  41619. func (s PropagatingVgw) GoString() string {
  41620. return s.String()
  41621. }
  41622. // SetGatewayId sets the GatewayId field's value.
  41623. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  41624. s.GatewayId = &v
  41625. return s
  41626. }
  41627. // Reserved. If you need to sustain traffic greater than the documented limits
  41628. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  41629. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  41630. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionedBandwidth
  41631. type ProvisionedBandwidth struct {
  41632. _ struct{} `type:"structure"`
  41633. // Reserved. If you need to sustain traffic greater than the documented limits
  41634. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  41635. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  41636. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  41637. // Reserved. If you need to sustain traffic greater than the documented limits
  41638. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  41639. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  41640. Provisioned *string `locationName:"provisioned" type:"string"`
  41641. // Reserved. If you need to sustain traffic greater than the documented limits
  41642. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  41643. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  41644. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  41645. // Reserved. If you need to sustain traffic greater than the documented limits
  41646. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  41647. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  41648. Requested *string `locationName:"requested" type:"string"`
  41649. // Reserved. If you need to sustain traffic greater than the documented limits
  41650. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  41651. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  41652. Status *string `locationName:"status" type:"string"`
  41653. }
  41654. // String returns the string representation
  41655. func (s ProvisionedBandwidth) String() string {
  41656. return awsutil.Prettify(s)
  41657. }
  41658. // GoString returns the string representation
  41659. func (s ProvisionedBandwidth) GoString() string {
  41660. return s.String()
  41661. }
  41662. // SetProvisionTime sets the ProvisionTime field's value.
  41663. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  41664. s.ProvisionTime = &v
  41665. return s
  41666. }
  41667. // SetProvisioned sets the Provisioned field's value.
  41668. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  41669. s.Provisioned = &v
  41670. return s
  41671. }
  41672. // SetRequestTime sets the RequestTime field's value.
  41673. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  41674. s.RequestTime = &v
  41675. return s
  41676. }
  41677. // SetRequested sets the Requested field's value.
  41678. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  41679. s.Requested = &v
  41680. return s
  41681. }
  41682. // SetStatus sets the Status field's value.
  41683. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  41684. s.Status = &v
  41685. return s
  41686. }
  41687. // Describes the result of the purchase.
  41688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Purchase
  41689. type Purchase struct {
  41690. _ struct{} `type:"structure"`
  41691. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  41692. // At this time, the only supported currency is USD.
  41693. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41694. // The duration of the reservation's term in seconds.
  41695. Duration *int64 `locationName:"duration" type:"integer"`
  41696. // The IDs of the Dedicated Hosts associated with the reservation.
  41697. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  41698. // The ID of the reservation.
  41699. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  41700. // The hourly price of the reservation per hour.
  41701. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  41702. // The instance family on the Dedicated Host that the reservation can be associated
  41703. // with.
  41704. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  41705. // The payment option for the reservation.
  41706. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  41707. // The upfront price of the reservation.
  41708. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  41709. }
  41710. // String returns the string representation
  41711. func (s Purchase) String() string {
  41712. return awsutil.Prettify(s)
  41713. }
  41714. // GoString returns the string representation
  41715. func (s Purchase) GoString() string {
  41716. return s.String()
  41717. }
  41718. // SetCurrencyCode sets the CurrencyCode field's value.
  41719. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  41720. s.CurrencyCode = &v
  41721. return s
  41722. }
  41723. // SetDuration sets the Duration field's value.
  41724. func (s *Purchase) SetDuration(v int64) *Purchase {
  41725. s.Duration = &v
  41726. return s
  41727. }
  41728. // SetHostIdSet sets the HostIdSet field's value.
  41729. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  41730. s.HostIdSet = v
  41731. return s
  41732. }
  41733. // SetHostReservationId sets the HostReservationId field's value.
  41734. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  41735. s.HostReservationId = &v
  41736. return s
  41737. }
  41738. // SetHourlyPrice sets the HourlyPrice field's value.
  41739. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  41740. s.HourlyPrice = &v
  41741. return s
  41742. }
  41743. // SetInstanceFamily sets the InstanceFamily field's value.
  41744. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  41745. s.InstanceFamily = &v
  41746. return s
  41747. }
  41748. // SetPaymentOption sets the PaymentOption field's value.
  41749. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  41750. s.PaymentOption = &v
  41751. return s
  41752. }
  41753. // SetUpfrontPrice sets the UpfrontPrice field's value.
  41754. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  41755. s.UpfrontPrice = &v
  41756. return s
  41757. }
  41758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationRequest
  41759. type PurchaseHostReservationInput struct {
  41760. _ struct{} `type:"structure"`
  41761. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  41762. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  41763. // in the Amazon Elastic Compute Cloud User Guide.
  41764. ClientToken *string `type:"string"`
  41765. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  41766. // amounts are specified. At this time, the only supported currency is USD.
  41767. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  41768. // The ID/s of the Dedicated Host/s that the reservation will be associated
  41769. // with.
  41770. //
  41771. // HostIdSet is a required field
  41772. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  41773. // The specified limit is checked against the total upfront cost of the reservation
  41774. // (calculated as the offering's upfront cost multiplied by the host count).
  41775. // If the total upfront cost is greater than the specified price limit, the
  41776. // request will fail. This is used to ensure that the purchase does not exceed
  41777. // the expected upfront cost of the purchase. At this time, the only supported
  41778. // currency is USD. For example, to indicate a limit price of USD 100, specify
  41779. // 100.00.
  41780. LimitPrice *string `type:"string"`
  41781. // The ID of the offering.
  41782. //
  41783. // OfferingId is a required field
  41784. OfferingId *string `type:"string" required:"true"`
  41785. }
  41786. // String returns the string representation
  41787. func (s PurchaseHostReservationInput) String() string {
  41788. return awsutil.Prettify(s)
  41789. }
  41790. // GoString returns the string representation
  41791. func (s PurchaseHostReservationInput) GoString() string {
  41792. return s.String()
  41793. }
  41794. // Validate inspects the fields of the type to determine if they are valid.
  41795. func (s *PurchaseHostReservationInput) Validate() error {
  41796. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  41797. if s.HostIdSet == nil {
  41798. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  41799. }
  41800. if s.OfferingId == nil {
  41801. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  41802. }
  41803. if invalidParams.Len() > 0 {
  41804. return invalidParams
  41805. }
  41806. return nil
  41807. }
  41808. // SetClientToken sets the ClientToken field's value.
  41809. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  41810. s.ClientToken = &v
  41811. return s
  41812. }
  41813. // SetCurrencyCode sets the CurrencyCode field's value.
  41814. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  41815. s.CurrencyCode = &v
  41816. return s
  41817. }
  41818. // SetHostIdSet sets the HostIdSet field's value.
  41819. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  41820. s.HostIdSet = v
  41821. return s
  41822. }
  41823. // SetLimitPrice sets the LimitPrice field's value.
  41824. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  41825. s.LimitPrice = &v
  41826. return s
  41827. }
  41828. // SetOfferingId sets the OfferingId field's value.
  41829. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  41830. s.OfferingId = &v
  41831. return s
  41832. }
  41833. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationResult
  41834. type PurchaseHostReservationOutput struct {
  41835. _ struct{} `type:"structure"`
  41836. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  41837. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  41838. // in the Amazon Elastic Compute Cloud User Guide
  41839. ClientToken *string `locationName:"clientToken" type:"string"`
  41840. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  41841. // are specified. At this time, the only supported currency is USD.
  41842. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  41843. // Describes the details of the purchase.
  41844. Purchase []*Purchase `locationName:"purchase" type:"list"`
  41845. // The total hourly price of the reservation calculated per hour.
  41846. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  41847. // The total amount that will be charged to your account when you purchase the
  41848. // reservation.
  41849. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  41850. }
  41851. // String returns the string representation
  41852. func (s PurchaseHostReservationOutput) String() string {
  41853. return awsutil.Prettify(s)
  41854. }
  41855. // GoString returns the string representation
  41856. func (s PurchaseHostReservationOutput) GoString() string {
  41857. return s.String()
  41858. }
  41859. // SetClientToken sets the ClientToken field's value.
  41860. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  41861. s.ClientToken = &v
  41862. return s
  41863. }
  41864. // SetCurrencyCode sets the CurrencyCode field's value.
  41865. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  41866. s.CurrencyCode = &v
  41867. return s
  41868. }
  41869. // SetPurchase sets the Purchase field's value.
  41870. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  41871. s.Purchase = v
  41872. return s
  41873. }
  41874. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  41875. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  41876. s.TotalHourlyPrice = &v
  41877. return s
  41878. }
  41879. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  41880. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  41881. s.TotalUpfrontPrice = &v
  41882. return s
  41883. }
  41884. // Describes a request to purchase Scheduled Instances.
  41885. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseRequest
  41886. type PurchaseRequest struct {
  41887. _ struct{} `type:"structure"`
  41888. // The number of instances.
  41889. //
  41890. // InstanceCount is a required field
  41891. InstanceCount *int64 `type:"integer" required:"true"`
  41892. // The purchase token.
  41893. //
  41894. // PurchaseToken is a required field
  41895. PurchaseToken *string `type:"string" required:"true"`
  41896. }
  41897. // String returns the string representation
  41898. func (s PurchaseRequest) String() string {
  41899. return awsutil.Prettify(s)
  41900. }
  41901. // GoString returns the string representation
  41902. func (s PurchaseRequest) GoString() string {
  41903. return s.String()
  41904. }
  41905. // Validate inspects the fields of the type to determine if they are valid.
  41906. func (s *PurchaseRequest) Validate() error {
  41907. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  41908. if s.InstanceCount == nil {
  41909. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  41910. }
  41911. if s.PurchaseToken == nil {
  41912. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  41913. }
  41914. if invalidParams.Len() > 0 {
  41915. return invalidParams
  41916. }
  41917. return nil
  41918. }
  41919. // SetInstanceCount sets the InstanceCount field's value.
  41920. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  41921. s.InstanceCount = &v
  41922. return s
  41923. }
  41924. // SetPurchaseToken sets the PurchaseToken field's value.
  41925. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  41926. s.PurchaseToken = &v
  41927. return s
  41928. }
  41929. // Contains the parameters for PurchaseReservedInstancesOffering.
  41930. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingRequest
  41931. type PurchaseReservedInstancesOfferingInput struct {
  41932. _ struct{} `type:"structure"`
  41933. // Checks whether you have the required permissions for the action, without
  41934. // actually making the request, and provides an error response. If you have
  41935. // the required permissions, the error response is DryRunOperation. Otherwise,
  41936. // it is UnauthorizedOperation.
  41937. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41938. // The number of Reserved Instances to purchase.
  41939. //
  41940. // InstanceCount is a required field
  41941. InstanceCount *int64 `type:"integer" required:"true"`
  41942. // Specified for Reserved Instance Marketplace offerings to limit the total
  41943. // order and ensure that the Reserved Instances are not purchased at unexpected
  41944. // prices.
  41945. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  41946. // The ID of the Reserved Instance offering to purchase.
  41947. //
  41948. // ReservedInstancesOfferingId is a required field
  41949. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  41950. }
  41951. // String returns the string representation
  41952. func (s PurchaseReservedInstancesOfferingInput) String() string {
  41953. return awsutil.Prettify(s)
  41954. }
  41955. // GoString returns the string representation
  41956. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  41957. return s.String()
  41958. }
  41959. // Validate inspects the fields of the type to determine if they are valid.
  41960. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  41961. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  41962. if s.InstanceCount == nil {
  41963. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  41964. }
  41965. if s.ReservedInstancesOfferingId == nil {
  41966. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  41967. }
  41968. if invalidParams.Len() > 0 {
  41969. return invalidParams
  41970. }
  41971. return nil
  41972. }
  41973. // SetDryRun sets the DryRun field's value.
  41974. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  41975. s.DryRun = &v
  41976. return s
  41977. }
  41978. // SetInstanceCount sets the InstanceCount field's value.
  41979. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  41980. s.InstanceCount = &v
  41981. return s
  41982. }
  41983. // SetLimitPrice sets the LimitPrice field's value.
  41984. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  41985. s.LimitPrice = v
  41986. return s
  41987. }
  41988. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  41989. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  41990. s.ReservedInstancesOfferingId = &v
  41991. return s
  41992. }
  41993. // Contains the output of PurchaseReservedInstancesOffering.
  41994. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingResult
  41995. type PurchaseReservedInstancesOfferingOutput struct {
  41996. _ struct{} `type:"structure"`
  41997. // The IDs of the purchased Reserved Instances.
  41998. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  41999. }
  42000. // String returns the string representation
  42001. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  42002. return awsutil.Prettify(s)
  42003. }
  42004. // GoString returns the string representation
  42005. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  42006. return s.String()
  42007. }
  42008. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42009. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  42010. s.ReservedInstancesId = &v
  42011. return s
  42012. }
  42013. // Contains the parameters for PurchaseScheduledInstances.
  42014. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesRequest
  42015. type PurchaseScheduledInstancesInput struct {
  42016. _ struct{} `type:"structure"`
  42017. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  42018. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42019. ClientToken *string `type:"string" idempotencyToken:"true"`
  42020. // Checks whether you have the required permissions for the action, without
  42021. // actually making the request, and provides an error response. If you have
  42022. // the required permissions, the error response is DryRunOperation. Otherwise,
  42023. // it is UnauthorizedOperation.
  42024. DryRun *bool `type:"boolean"`
  42025. // One or more purchase requests.
  42026. //
  42027. // PurchaseRequests is a required field
  42028. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  42029. }
  42030. // String returns the string representation
  42031. func (s PurchaseScheduledInstancesInput) String() string {
  42032. return awsutil.Prettify(s)
  42033. }
  42034. // GoString returns the string representation
  42035. func (s PurchaseScheduledInstancesInput) GoString() string {
  42036. return s.String()
  42037. }
  42038. // Validate inspects the fields of the type to determine if they are valid.
  42039. func (s *PurchaseScheduledInstancesInput) Validate() error {
  42040. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  42041. if s.PurchaseRequests == nil {
  42042. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  42043. }
  42044. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  42045. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  42046. }
  42047. if s.PurchaseRequests != nil {
  42048. for i, v := range s.PurchaseRequests {
  42049. if v == nil {
  42050. continue
  42051. }
  42052. if err := v.Validate(); err != nil {
  42053. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  42054. }
  42055. }
  42056. }
  42057. if invalidParams.Len() > 0 {
  42058. return invalidParams
  42059. }
  42060. return nil
  42061. }
  42062. // SetClientToken sets the ClientToken field's value.
  42063. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  42064. s.ClientToken = &v
  42065. return s
  42066. }
  42067. // SetDryRun sets the DryRun field's value.
  42068. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  42069. s.DryRun = &v
  42070. return s
  42071. }
  42072. // SetPurchaseRequests sets the PurchaseRequests field's value.
  42073. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  42074. s.PurchaseRequests = v
  42075. return s
  42076. }
  42077. // Contains the output of PurchaseScheduledInstances.
  42078. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesResult
  42079. type PurchaseScheduledInstancesOutput struct {
  42080. _ struct{} `type:"structure"`
  42081. // Information about the Scheduled Instances.
  42082. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  42083. }
  42084. // String returns the string representation
  42085. func (s PurchaseScheduledInstancesOutput) String() string {
  42086. return awsutil.Prettify(s)
  42087. }
  42088. // GoString returns the string representation
  42089. func (s PurchaseScheduledInstancesOutput) GoString() string {
  42090. return s.String()
  42091. }
  42092. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  42093. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  42094. s.ScheduledInstanceSet = v
  42095. return s
  42096. }
  42097. // Contains the parameters for RebootInstances.
  42098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesRequest
  42099. type RebootInstancesInput struct {
  42100. _ struct{} `type:"structure"`
  42101. // Checks whether you have the required permissions for the action, without
  42102. // actually making the request, and provides an error response. If you have
  42103. // the required permissions, the error response is DryRunOperation. Otherwise,
  42104. // it is UnauthorizedOperation.
  42105. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42106. // One or more instance IDs.
  42107. //
  42108. // InstanceIds is a required field
  42109. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  42110. }
  42111. // String returns the string representation
  42112. func (s RebootInstancesInput) String() string {
  42113. return awsutil.Prettify(s)
  42114. }
  42115. // GoString returns the string representation
  42116. func (s RebootInstancesInput) GoString() string {
  42117. return s.String()
  42118. }
  42119. // Validate inspects the fields of the type to determine if they are valid.
  42120. func (s *RebootInstancesInput) Validate() error {
  42121. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  42122. if s.InstanceIds == nil {
  42123. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  42124. }
  42125. if invalidParams.Len() > 0 {
  42126. return invalidParams
  42127. }
  42128. return nil
  42129. }
  42130. // SetDryRun sets the DryRun field's value.
  42131. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  42132. s.DryRun = &v
  42133. return s
  42134. }
  42135. // SetInstanceIds sets the InstanceIds field's value.
  42136. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  42137. s.InstanceIds = v
  42138. return s
  42139. }
  42140. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesOutput
  42141. type RebootInstancesOutput struct {
  42142. _ struct{} `type:"structure"`
  42143. }
  42144. // String returns the string representation
  42145. func (s RebootInstancesOutput) String() string {
  42146. return awsutil.Prettify(s)
  42147. }
  42148. // GoString returns the string representation
  42149. func (s RebootInstancesOutput) GoString() string {
  42150. return s.String()
  42151. }
  42152. // Describes a recurring charge.
  42153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RecurringCharge
  42154. type RecurringCharge struct {
  42155. _ struct{} `type:"structure"`
  42156. // The amount of the recurring charge.
  42157. Amount *float64 `locationName:"amount" type:"double"`
  42158. // The frequency of the recurring charge.
  42159. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  42160. }
  42161. // String returns the string representation
  42162. func (s RecurringCharge) String() string {
  42163. return awsutil.Prettify(s)
  42164. }
  42165. // GoString returns the string representation
  42166. func (s RecurringCharge) GoString() string {
  42167. return s.String()
  42168. }
  42169. // SetAmount sets the Amount field's value.
  42170. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  42171. s.Amount = &v
  42172. return s
  42173. }
  42174. // SetFrequency sets the Frequency field's value.
  42175. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  42176. s.Frequency = &v
  42177. return s
  42178. }
  42179. // Describes a region.
  42180. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Region
  42181. type Region struct {
  42182. _ struct{} `type:"structure"`
  42183. // The region service endpoint.
  42184. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  42185. // The name of the region.
  42186. RegionName *string `locationName:"regionName" type:"string"`
  42187. }
  42188. // String returns the string representation
  42189. func (s Region) String() string {
  42190. return awsutil.Prettify(s)
  42191. }
  42192. // GoString returns the string representation
  42193. func (s Region) GoString() string {
  42194. return s.String()
  42195. }
  42196. // SetEndpoint sets the Endpoint field's value.
  42197. func (s *Region) SetEndpoint(v string) *Region {
  42198. s.Endpoint = &v
  42199. return s
  42200. }
  42201. // SetRegionName sets the RegionName field's value.
  42202. func (s *Region) SetRegionName(v string) *Region {
  42203. s.RegionName = &v
  42204. return s
  42205. }
  42206. // Contains the parameters for RegisterImage.
  42207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageRequest
  42208. type RegisterImageInput struct {
  42209. _ struct{} `type:"structure"`
  42210. // The architecture of the AMI.
  42211. //
  42212. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  42213. // the architecture specified in the manifest file.
  42214. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  42215. // The billing product codes. Your account must be authorized to specify billing
  42216. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  42217. // use of an AMI.
  42218. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  42219. // One or more block device mapping entries.
  42220. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  42221. // A description for your AMI.
  42222. Description *string `locationName:"description" type:"string"`
  42223. // Checks whether you have the required permissions for the action, without
  42224. // actually making the request, and provides an error response. If you have
  42225. // the required permissions, the error response is DryRunOperation. Otherwise,
  42226. // it is UnauthorizedOperation.
  42227. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42228. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  42229. // that you launch from the AMI.
  42230. //
  42231. // This option is supported only for HVM AMIs. Specifying this option with a
  42232. // PV AMI can make instances launched from the AMI unreachable.
  42233. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  42234. // The full path to your AMI manifest in Amazon S3 storage.
  42235. ImageLocation *string `type:"string"`
  42236. // The ID of the kernel.
  42237. KernelId *string `locationName:"kernelId" type:"string"`
  42238. // A name for your AMI.
  42239. //
  42240. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  42241. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  42242. // at-signs (@), or underscores(_)
  42243. //
  42244. // Name is a required field
  42245. Name *string `locationName:"name" type:"string" required:"true"`
  42246. // The ID of the RAM disk.
  42247. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  42248. // The name of the root device (for example, /dev/sda1, or /dev/xvda).
  42249. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  42250. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  42251. // Function interface for the AMI and any instances that you launch from the
  42252. // AMI.
  42253. //
  42254. // There is no way to disable sriovNetSupport at this time.
  42255. //
  42256. // This option is supported only for HVM AMIs. Specifying this option with a
  42257. // PV AMI can make instances launched from the AMI unreachable.
  42258. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  42259. // The type of virtualization.
  42260. //
  42261. // Default: paravirtual
  42262. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  42263. }
  42264. // String returns the string representation
  42265. func (s RegisterImageInput) String() string {
  42266. return awsutil.Prettify(s)
  42267. }
  42268. // GoString returns the string representation
  42269. func (s RegisterImageInput) GoString() string {
  42270. return s.String()
  42271. }
  42272. // Validate inspects the fields of the type to determine if they are valid.
  42273. func (s *RegisterImageInput) Validate() error {
  42274. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  42275. if s.Name == nil {
  42276. invalidParams.Add(request.NewErrParamRequired("Name"))
  42277. }
  42278. if invalidParams.Len() > 0 {
  42279. return invalidParams
  42280. }
  42281. return nil
  42282. }
  42283. // SetArchitecture sets the Architecture field's value.
  42284. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  42285. s.Architecture = &v
  42286. return s
  42287. }
  42288. // SetBillingProducts sets the BillingProducts field's value.
  42289. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  42290. s.BillingProducts = v
  42291. return s
  42292. }
  42293. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  42294. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  42295. s.BlockDeviceMappings = v
  42296. return s
  42297. }
  42298. // SetDescription sets the Description field's value.
  42299. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  42300. s.Description = &v
  42301. return s
  42302. }
  42303. // SetDryRun sets the DryRun field's value.
  42304. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  42305. s.DryRun = &v
  42306. return s
  42307. }
  42308. // SetEnaSupport sets the EnaSupport field's value.
  42309. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  42310. s.EnaSupport = &v
  42311. return s
  42312. }
  42313. // SetImageLocation sets the ImageLocation field's value.
  42314. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  42315. s.ImageLocation = &v
  42316. return s
  42317. }
  42318. // SetKernelId sets the KernelId field's value.
  42319. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  42320. s.KernelId = &v
  42321. return s
  42322. }
  42323. // SetName sets the Name field's value.
  42324. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  42325. s.Name = &v
  42326. return s
  42327. }
  42328. // SetRamdiskId sets the RamdiskId field's value.
  42329. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  42330. s.RamdiskId = &v
  42331. return s
  42332. }
  42333. // SetRootDeviceName sets the RootDeviceName field's value.
  42334. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  42335. s.RootDeviceName = &v
  42336. return s
  42337. }
  42338. // SetSriovNetSupport sets the SriovNetSupport field's value.
  42339. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  42340. s.SriovNetSupport = &v
  42341. return s
  42342. }
  42343. // SetVirtualizationType sets the VirtualizationType field's value.
  42344. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  42345. s.VirtualizationType = &v
  42346. return s
  42347. }
  42348. // Contains the output of RegisterImage.
  42349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageResult
  42350. type RegisterImageOutput struct {
  42351. _ struct{} `type:"structure"`
  42352. // The ID of the newly registered AMI.
  42353. ImageId *string `locationName:"imageId" type:"string"`
  42354. }
  42355. // String returns the string representation
  42356. func (s RegisterImageOutput) String() string {
  42357. return awsutil.Prettify(s)
  42358. }
  42359. // GoString returns the string representation
  42360. func (s RegisterImageOutput) GoString() string {
  42361. return s.String()
  42362. }
  42363. // SetImageId sets the ImageId field's value.
  42364. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  42365. s.ImageId = &v
  42366. return s
  42367. }
  42368. // Contains the parameters for RejectVpcPeeringConnection.
  42369. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionRequest
  42370. type RejectVpcPeeringConnectionInput struct {
  42371. _ struct{} `type:"structure"`
  42372. // Checks whether you have the required permissions for the action, without
  42373. // actually making the request, and provides an error response. If you have
  42374. // the required permissions, the error response is DryRunOperation. Otherwise,
  42375. // it is UnauthorizedOperation.
  42376. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42377. // The ID of the VPC peering connection.
  42378. //
  42379. // VpcPeeringConnectionId is a required field
  42380. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  42381. }
  42382. // String returns the string representation
  42383. func (s RejectVpcPeeringConnectionInput) String() string {
  42384. return awsutil.Prettify(s)
  42385. }
  42386. // GoString returns the string representation
  42387. func (s RejectVpcPeeringConnectionInput) GoString() string {
  42388. return s.String()
  42389. }
  42390. // Validate inspects the fields of the type to determine if they are valid.
  42391. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  42392. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  42393. if s.VpcPeeringConnectionId == nil {
  42394. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  42395. }
  42396. if invalidParams.Len() > 0 {
  42397. return invalidParams
  42398. }
  42399. return nil
  42400. }
  42401. // SetDryRun sets the DryRun field's value.
  42402. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  42403. s.DryRun = &v
  42404. return s
  42405. }
  42406. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  42407. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  42408. s.VpcPeeringConnectionId = &v
  42409. return s
  42410. }
  42411. // Contains the output of RejectVpcPeeringConnection.
  42412. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionResult
  42413. type RejectVpcPeeringConnectionOutput struct {
  42414. _ struct{} `type:"structure"`
  42415. // Returns true if the request succeeds; otherwise, it returns an error.
  42416. Return *bool `locationName:"return" type:"boolean"`
  42417. }
  42418. // String returns the string representation
  42419. func (s RejectVpcPeeringConnectionOutput) String() string {
  42420. return awsutil.Prettify(s)
  42421. }
  42422. // GoString returns the string representation
  42423. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  42424. return s.String()
  42425. }
  42426. // SetReturn sets the Return field's value.
  42427. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  42428. s.Return = &v
  42429. return s
  42430. }
  42431. // Contains the parameters for ReleaseAddress.
  42432. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressRequest
  42433. type ReleaseAddressInput struct {
  42434. _ struct{} `type:"structure"`
  42435. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  42436. AllocationId *string `type:"string"`
  42437. // Checks whether you have the required permissions for the action, without
  42438. // actually making the request, and provides an error response. If you have
  42439. // the required permissions, the error response is DryRunOperation. Otherwise,
  42440. // it is UnauthorizedOperation.
  42441. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42442. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  42443. PublicIp *string `type:"string"`
  42444. }
  42445. // String returns the string representation
  42446. func (s ReleaseAddressInput) String() string {
  42447. return awsutil.Prettify(s)
  42448. }
  42449. // GoString returns the string representation
  42450. func (s ReleaseAddressInput) GoString() string {
  42451. return s.String()
  42452. }
  42453. // SetAllocationId sets the AllocationId field's value.
  42454. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  42455. s.AllocationId = &v
  42456. return s
  42457. }
  42458. // SetDryRun sets the DryRun field's value.
  42459. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  42460. s.DryRun = &v
  42461. return s
  42462. }
  42463. // SetPublicIp sets the PublicIp field's value.
  42464. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  42465. s.PublicIp = &v
  42466. return s
  42467. }
  42468. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressOutput
  42469. type ReleaseAddressOutput struct {
  42470. _ struct{} `type:"structure"`
  42471. }
  42472. // String returns the string representation
  42473. func (s ReleaseAddressOutput) String() string {
  42474. return awsutil.Prettify(s)
  42475. }
  42476. // GoString returns the string representation
  42477. func (s ReleaseAddressOutput) GoString() string {
  42478. return s.String()
  42479. }
  42480. // Contains the parameters for ReleaseHosts.
  42481. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsRequest
  42482. type ReleaseHostsInput struct {
  42483. _ struct{} `type:"structure"`
  42484. // The IDs of the Dedicated Hosts you want to release.
  42485. //
  42486. // HostIds is a required field
  42487. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  42488. }
  42489. // String returns the string representation
  42490. func (s ReleaseHostsInput) String() string {
  42491. return awsutil.Prettify(s)
  42492. }
  42493. // GoString returns the string representation
  42494. func (s ReleaseHostsInput) GoString() string {
  42495. return s.String()
  42496. }
  42497. // Validate inspects the fields of the type to determine if they are valid.
  42498. func (s *ReleaseHostsInput) Validate() error {
  42499. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  42500. if s.HostIds == nil {
  42501. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  42502. }
  42503. if invalidParams.Len() > 0 {
  42504. return invalidParams
  42505. }
  42506. return nil
  42507. }
  42508. // SetHostIds sets the HostIds field's value.
  42509. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  42510. s.HostIds = v
  42511. return s
  42512. }
  42513. // Contains the output of ReleaseHosts.
  42514. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsResult
  42515. type ReleaseHostsOutput struct {
  42516. _ struct{} `type:"structure"`
  42517. // The IDs of the Dedicated Hosts that were successfully released.
  42518. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  42519. // The IDs of the Dedicated Hosts that could not be released, including an error
  42520. // message.
  42521. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  42522. }
  42523. // String returns the string representation
  42524. func (s ReleaseHostsOutput) String() string {
  42525. return awsutil.Prettify(s)
  42526. }
  42527. // GoString returns the string representation
  42528. func (s ReleaseHostsOutput) GoString() string {
  42529. return s.String()
  42530. }
  42531. // SetSuccessful sets the Successful field's value.
  42532. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  42533. s.Successful = v
  42534. return s
  42535. }
  42536. // SetUnsuccessful sets the Unsuccessful field's value.
  42537. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  42538. s.Unsuccessful = v
  42539. return s
  42540. }
  42541. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationRequest
  42542. type ReplaceIamInstanceProfileAssociationInput struct {
  42543. _ struct{} `type:"structure"`
  42544. // The ID of the existing IAM instance profile association.
  42545. //
  42546. // AssociationId is a required field
  42547. AssociationId *string `type:"string" required:"true"`
  42548. // The IAM instance profile.
  42549. //
  42550. // IamInstanceProfile is a required field
  42551. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  42552. }
  42553. // String returns the string representation
  42554. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  42555. return awsutil.Prettify(s)
  42556. }
  42557. // GoString returns the string representation
  42558. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  42559. return s.String()
  42560. }
  42561. // Validate inspects the fields of the type to determine if they are valid.
  42562. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  42563. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  42564. if s.AssociationId == nil {
  42565. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  42566. }
  42567. if s.IamInstanceProfile == nil {
  42568. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  42569. }
  42570. if invalidParams.Len() > 0 {
  42571. return invalidParams
  42572. }
  42573. return nil
  42574. }
  42575. // SetAssociationId sets the AssociationId field's value.
  42576. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  42577. s.AssociationId = &v
  42578. return s
  42579. }
  42580. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  42581. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  42582. s.IamInstanceProfile = v
  42583. return s
  42584. }
  42585. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationResult
  42586. type ReplaceIamInstanceProfileAssociationOutput struct {
  42587. _ struct{} `type:"structure"`
  42588. // Information about the IAM instance profile association.
  42589. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  42590. }
  42591. // String returns the string representation
  42592. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  42593. return awsutil.Prettify(s)
  42594. }
  42595. // GoString returns the string representation
  42596. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  42597. return s.String()
  42598. }
  42599. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  42600. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  42601. s.IamInstanceProfileAssociation = v
  42602. return s
  42603. }
  42604. // Contains the parameters for ReplaceNetworkAclAssociation.
  42605. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationRequest
  42606. type ReplaceNetworkAclAssociationInput struct {
  42607. _ struct{} `type:"structure"`
  42608. // The ID of the current association between the original network ACL and the
  42609. // subnet.
  42610. //
  42611. // AssociationId is a required field
  42612. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  42613. // Checks whether you have the required permissions for the action, without
  42614. // actually making the request, and provides an error response. If you have
  42615. // the required permissions, the error response is DryRunOperation. Otherwise,
  42616. // it is UnauthorizedOperation.
  42617. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42618. // The ID of the new network ACL to associate with the subnet.
  42619. //
  42620. // NetworkAclId is a required field
  42621. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  42622. }
  42623. // String returns the string representation
  42624. func (s ReplaceNetworkAclAssociationInput) String() string {
  42625. return awsutil.Prettify(s)
  42626. }
  42627. // GoString returns the string representation
  42628. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  42629. return s.String()
  42630. }
  42631. // Validate inspects the fields of the type to determine if they are valid.
  42632. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  42633. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  42634. if s.AssociationId == nil {
  42635. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  42636. }
  42637. if s.NetworkAclId == nil {
  42638. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  42639. }
  42640. if invalidParams.Len() > 0 {
  42641. return invalidParams
  42642. }
  42643. return nil
  42644. }
  42645. // SetAssociationId sets the AssociationId field's value.
  42646. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  42647. s.AssociationId = &v
  42648. return s
  42649. }
  42650. // SetDryRun sets the DryRun field's value.
  42651. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  42652. s.DryRun = &v
  42653. return s
  42654. }
  42655. // SetNetworkAclId sets the NetworkAclId field's value.
  42656. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  42657. s.NetworkAclId = &v
  42658. return s
  42659. }
  42660. // Contains the output of ReplaceNetworkAclAssociation.
  42661. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationResult
  42662. type ReplaceNetworkAclAssociationOutput struct {
  42663. _ struct{} `type:"structure"`
  42664. // The ID of the new association.
  42665. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  42666. }
  42667. // String returns the string representation
  42668. func (s ReplaceNetworkAclAssociationOutput) String() string {
  42669. return awsutil.Prettify(s)
  42670. }
  42671. // GoString returns the string representation
  42672. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  42673. return s.String()
  42674. }
  42675. // SetNewAssociationId sets the NewAssociationId field's value.
  42676. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  42677. s.NewAssociationId = &v
  42678. return s
  42679. }
  42680. // Contains the parameters for ReplaceNetworkAclEntry.
  42681. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryRequest
  42682. type ReplaceNetworkAclEntryInput struct {
  42683. _ struct{} `type:"structure"`
  42684. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  42685. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  42686. // Checks whether you have the required permissions for the action, without
  42687. // actually making the request, and provides an error response. If you have
  42688. // the required permissions, the error response is DryRunOperation. Otherwise,
  42689. // it is UnauthorizedOperation.
  42690. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42691. // Indicates whether to replace the egress rule.
  42692. //
  42693. // Default: If no value is specified, we replace the ingress rule.
  42694. //
  42695. // Egress is a required field
  42696. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  42697. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  42698. // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  42699. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  42700. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  42701. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  42702. // The ID of the ACL.
  42703. //
  42704. // NetworkAclId is a required field
  42705. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  42706. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  42707. // specifying TCP (6) or UDP (17) for the protocol.
  42708. PortRange *PortRange `locationName:"portRange" type:"structure"`
  42709. // The IP protocol. You can specify all or -1 to mean all protocols. If you
  42710. // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic
  42711. // on all ports is allowed, regardless of any ports or ICMP types or codes you
  42712. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
  42713. // traffic for all ICMP types and codes allowed, regardless of any that you
  42714. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
  42715. // you must specify an ICMP type and code.
  42716. //
  42717. // Protocol is a required field
  42718. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  42719. // Indicates whether to allow or deny the traffic that matches the rule.
  42720. //
  42721. // RuleAction is a required field
  42722. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  42723. // The rule number of the entry to replace.
  42724. //
  42725. // RuleNumber is a required field
  42726. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  42727. }
  42728. // String returns the string representation
  42729. func (s ReplaceNetworkAclEntryInput) String() string {
  42730. return awsutil.Prettify(s)
  42731. }
  42732. // GoString returns the string representation
  42733. func (s ReplaceNetworkAclEntryInput) GoString() string {
  42734. return s.String()
  42735. }
  42736. // Validate inspects the fields of the type to determine if they are valid.
  42737. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  42738. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  42739. if s.Egress == nil {
  42740. invalidParams.Add(request.NewErrParamRequired("Egress"))
  42741. }
  42742. if s.NetworkAclId == nil {
  42743. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  42744. }
  42745. if s.Protocol == nil {
  42746. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  42747. }
  42748. if s.RuleAction == nil {
  42749. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  42750. }
  42751. if s.RuleNumber == nil {
  42752. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  42753. }
  42754. if invalidParams.Len() > 0 {
  42755. return invalidParams
  42756. }
  42757. return nil
  42758. }
  42759. // SetCidrBlock sets the CidrBlock field's value.
  42760. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  42761. s.CidrBlock = &v
  42762. return s
  42763. }
  42764. // SetDryRun sets the DryRun field's value.
  42765. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  42766. s.DryRun = &v
  42767. return s
  42768. }
  42769. // SetEgress sets the Egress field's value.
  42770. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  42771. s.Egress = &v
  42772. return s
  42773. }
  42774. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  42775. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  42776. s.IcmpTypeCode = v
  42777. return s
  42778. }
  42779. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  42780. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  42781. s.Ipv6CidrBlock = &v
  42782. return s
  42783. }
  42784. // SetNetworkAclId sets the NetworkAclId field's value.
  42785. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  42786. s.NetworkAclId = &v
  42787. return s
  42788. }
  42789. // SetPortRange sets the PortRange field's value.
  42790. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  42791. s.PortRange = v
  42792. return s
  42793. }
  42794. // SetProtocol sets the Protocol field's value.
  42795. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  42796. s.Protocol = &v
  42797. return s
  42798. }
  42799. // SetRuleAction sets the RuleAction field's value.
  42800. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  42801. s.RuleAction = &v
  42802. return s
  42803. }
  42804. // SetRuleNumber sets the RuleNumber field's value.
  42805. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  42806. s.RuleNumber = &v
  42807. return s
  42808. }
  42809. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryOutput
  42810. type ReplaceNetworkAclEntryOutput struct {
  42811. _ struct{} `type:"structure"`
  42812. }
  42813. // String returns the string representation
  42814. func (s ReplaceNetworkAclEntryOutput) String() string {
  42815. return awsutil.Prettify(s)
  42816. }
  42817. // GoString returns the string representation
  42818. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  42819. return s.String()
  42820. }
  42821. // Contains the parameters for ReplaceRoute.
  42822. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteRequest
  42823. type ReplaceRouteInput struct {
  42824. _ struct{} `type:"structure"`
  42825. // The IPv4 CIDR address block used for the destination match. The value you
  42826. // provide must match the CIDR of an existing route in the table.
  42827. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  42828. // The IPv6 CIDR address block used for the destination match. The value you
  42829. // provide must match the CIDR of an existing route in the table.
  42830. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  42831. // Checks whether you have the required permissions for the action, without
  42832. // actually making the request, and provides an error response. If you have
  42833. // the required permissions, the error response is DryRunOperation. Otherwise,
  42834. // it is UnauthorizedOperation.
  42835. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42836. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  42837. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  42838. // The ID of an Internet gateway or virtual private gateway.
  42839. GatewayId *string `locationName:"gatewayId" type:"string"`
  42840. // The ID of a NAT instance in your VPC.
  42841. InstanceId *string `locationName:"instanceId" type:"string"`
  42842. // [IPv4 traffic only] The ID of a NAT gateway.
  42843. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  42844. // The ID of a network interface.
  42845. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  42846. // The ID of the route table.
  42847. //
  42848. // RouteTableId is a required field
  42849. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  42850. // The ID of a VPC peering connection.
  42851. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  42852. }
  42853. // String returns the string representation
  42854. func (s ReplaceRouteInput) String() string {
  42855. return awsutil.Prettify(s)
  42856. }
  42857. // GoString returns the string representation
  42858. func (s ReplaceRouteInput) GoString() string {
  42859. return s.String()
  42860. }
  42861. // Validate inspects the fields of the type to determine if they are valid.
  42862. func (s *ReplaceRouteInput) Validate() error {
  42863. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  42864. if s.RouteTableId == nil {
  42865. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  42866. }
  42867. if invalidParams.Len() > 0 {
  42868. return invalidParams
  42869. }
  42870. return nil
  42871. }
  42872. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  42873. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  42874. s.DestinationCidrBlock = &v
  42875. return s
  42876. }
  42877. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  42878. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  42879. s.DestinationIpv6CidrBlock = &v
  42880. return s
  42881. }
  42882. // SetDryRun sets the DryRun field's value.
  42883. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  42884. s.DryRun = &v
  42885. return s
  42886. }
  42887. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  42888. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  42889. s.EgressOnlyInternetGatewayId = &v
  42890. return s
  42891. }
  42892. // SetGatewayId sets the GatewayId field's value.
  42893. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  42894. s.GatewayId = &v
  42895. return s
  42896. }
  42897. // SetInstanceId sets the InstanceId field's value.
  42898. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  42899. s.InstanceId = &v
  42900. return s
  42901. }
  42902. // SetNatGatewayId sets the NatGatewayId field's value.
  42903. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  42904. s.NatGatewayId = &v
  42905. return s
  42906. }
  42907. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  42908. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  42909. s.NetworkInterfaceId = &v
  42910. return s
  42911. }
  42912. // SetRouteTableId sets the RouteTableId field's value.
  42913. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  42914. s.RouteTableId = &v
  42915. return s
  42916. }
  42917. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  42918. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  42919. s.VpcPeeringConnectionId = &v
  42920. return s
  42921. }
  42922. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteOutput
  42923. type ReplaceRouteOutput struct {
  42924. _ struct{} `type:"structure"`
  42925. }
  42926. // String returns the string representation
  42927. func (s ReplaceRouteOutput) String() string {
  42928. return awsutil.Prettify(s)
  42929. }
  42930. // GoString returns the string representation
  42931. func (s ReplaceRouteOutput) GoString() string {
  42932. return s.String()
  42933. }
  42934. // Contains the parameters for ReplaceRouteTableAssociation.
  42935. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationRequest
  42936. type ReplaceRouteTableAssociationInput struct {
  42937. _ struct{} `type:"structure"`
  42938. // The association ID.
  42939. //
  42940. // AssociationId is a required field
  42941. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  42942. // Checks whether you have the required permissions for the action, without
  42943. // actually making the request, and provides an error response. If you have
  42944. // the required permissions, the error response is DryRunOperation. Otherwise,
  42945. // it is UnauthorizedOperation.
  42946. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42947. // The ID of the new route table to associate with the subnet.
  42948. //
  42949. // RouteTableId is a required field
  42950. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  42951. }
  42952. // String returns the string representation
  42953. func (s ReplaceRouteTableAssociationInput) String() string {
  42954. return awsutil.Prettify(s)
  42955. }
  42956. // GoString returns the string representation
  42957. func (s ReplaceRouteTableAssociationInput) GoString() string {
  42958. return s.String()
  42959. }
  42960. // Validate inspects the fields of the type to determine if they are valid.
  42961. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  42962. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  42963. if s.AssociationId == nil {
  42964. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  42965. }
  42966. if s.RouteTableId == nil {
  42967. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  42968. }
  42969. if invalidParams.Len() > 0 {
  42970. return invalidParams
  42971. }
  42972. return nil
  42973. }
  42974. // SetAssociationId sets the AssociationId field's value.
  42975. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  42976. s.AssociationId = &v
  42977. return s
  42978. }
  42979. // SetDryRun sets the DryRun field's value.
  42980. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  42981. s.DryRun = &v
  42982. return s
  42983. }
  42984. // SetRouteTableId sets the RouteTableId field's value.
  42985. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  42986. s.RouteTableId = &v
  42987. return s
  42988. }
  42989. // Contains the output of ReplaceRouteTableAssociation.
  42990. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationResult
  42991. type ReplaceRouteTableAssociationOutput struct {
  42992. _ struct{} `type:"structure"`
  42993. // The ID of the new association.
  42994. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  42995. }
  42996. // String returns the string representation
  42997. func (s ReplaceRouteTableAssociationOutput) String() string {
  42998. return awsutil.Prettify(s)
  42999. }
  43000. // GoString returns the string representation
  43001. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  43002. return s.String()
  43003. }
  43004. // SetNewAssociationId sets the NewAssociationId field's value.
  43005. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  43006. s.NewAssociationId = &v
  43007. return s
  43008. }
  43009. // Contains the parameters for ReportInstanceStatus.
  43010. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusRequest
  43011. type ReportInstanceStatusInput struct {
  43012. _ struct{} `type:"structure"`
  43013. // Descriptive text about the health state of your instance.
  43014. Description *string `locationName:"description" type:"string"`
  43015. // Checks whether you have the required permissions for the action, without
  43016. // actually making the request, and provides an error response. If you have
  43017. // the required permissions, the error response is DryRunOperation. Otherwise,
  43018. // it is UnauthorizedOperation.
  43019. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43020. // The time at which the reported instance health state ended.
  43021. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  43022. // One or more instances.
  43023. //
  43024. // Instances is a required field
  43025. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  43026. // One or more reason codes that describes the health state of your instance.
  43027. //
  43028. // * instance-stuck-in-state: My instance is stuck in a state.
  43029. //
  43030. // * unresponsive: My instance is unresponsive.
  43031. //
  43032. // * not-accepting-credentials: My instance is not accepting my credentials.
  43033. //
  43034. // * password-not-available: A password is not available for my instance.
  43035. //
  43036. // * performance-network: My instance is experiencing performance problems
  43037. // which I believe are network related.
  43038. //
  43039. // * performance-instance-store: My instance is experiencing performance
  43040. // problems which I believe are related to the instance stores.
  43041. //
  43042. // * performance-ebs-volume: My instance is experiencing performance problems
  43043. // which I believe are related to an EBS volume.
  43044. //
  43045. // * performance-other: My instance is experiencing performance problems.
  43046. //
  43047. // * other: [explain using the description parameter]
  43048. //
  43049. // ReasonCodes is a required field
  43050. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  43051. // The time at which the reported instance health state began.
  43052. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  43053. // The status of all instances listed.
  43054. //
  43055. // Status is a required field
  43056. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  43057. }
  43058. // String returns the string representation
  43059. func (s ReportInstanceStatusInput) String() string {
  43060. return awsutil.Prettify(s)
  43061. }
  43062. // GoString returns the string representation
  43063. func (s ReportInstanceStatusInput) GoString() string {
  43064. return s.String()
  43065. }
  43066. // Validate inspects the fields of the type to determine if they are valid.
  43067. func (s *ReportInstanceStatusInput) Validate() error {
  43068. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  43069. if s.Instances == nil {
  43070. invalidParams.Add(request.NewErrParamRequired("Instances"))
  43071. }
  43072. if s.ReasonCodes == nil {
  43073. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  43074. }
  43075. if s.Status == nil {
  43076. invalidParams.Add(request.NewErrParamRequired("Status"))
  43077. }
  43078. if invalidParams.Len() > 0 {
  43079. return invalidParams
  43080. }
  43081. return nil
  43082. }
  43083. // SetDescription sets the Description field's value.
  43084. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  43085. s.Description = &v
  43086. return s
  43087. }
  43088. // SetDryRun sets the DryRun field's value.
  43089. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  43090. s.DryRun = &v
  43091. return s
  43092. }
  43093. // SetEndTime sets the EndTime field's value.
  43094. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  43095. s.EndTime = &v
  43096. return s
  43097. }
  43098. // SetInstances sets the Instances field's value.
  43099. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  43100. s.Instances = v
  43101. return s
  43102. }
  43103. // SetReasonCodes sets the ReasonCodes field's value.
  43104. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  43105. s.ReasonCodes = v
  43106. return s
  43107. }
  43108. // SetStartTime sets the StartTime field's value.
  43109. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  43110. s.StartTime = &v
  43111. return s
  43112. }
  43113. // SetStatus sets the Status field's value.
  43114. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  43115. s.Status = &v
  43116. return s
  43117. }
  43118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusOutput
  43119. type ReportInstanceStatusOutput struct {
  43120. _ struct{} `type:"structure"`
  43121. }
  43122. // String returns the string representation
  43123. func (s ReportInstanceStatusOutput) String() string {
  43124. return awsutil.Prettify(s)
  43125. }
  43126. // GoString returns the string representation
  43127. func (s ReportInstanceStatusOutput) GoString() string {
  43128. return s.String()
  43129. }
  43130. // Contains the parameters for RequestSpotFleet.
  43131. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetRequest
  43132. type RequestSpotFleetInput struct {
  43133. _ struct{} `type:"structure"`
  43134. // Checks whether you have the required permissions for the action, without
  43135. // actually making the request, and provides an error response. If you have
  43136. // the required permissions, the error response is DryRunOperation. Otherwise,
  43137. // it is UnauthorizedOperation.
  43138. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43139. // The configuration for the Spot fleet request.
  43140. //
  43141. // SpotFleetRequestConfig is a required field
  43142. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  43143. }
  43144. // String returns the string representation
  43145. func (s RequestSpotFleetInput) String() string {
  43146. return awsutil.Prettify(s)
  43147. }
  43148. // GoString returns the string representation
  43149. func (s RequestSpotFleetInput) GoString() string {
  43150. return s.String()
  43151. }
  43152. // Validate inspects the fields of the type to determine if they are valid.
  43153. func (s *RequestSpotFleetInput) Validate() error {
  43154. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  43155. if s.SpotFleetRequestConfig == nil {
  43156. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  43157. }
  43158. if s.SpotFleetRequestConfig != nil {
  43159. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  43160. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  43161. }
  43162. }
  43163. if invalidParams.Len() > 0 {
  43164. return invalidParams
  43165. }
  43166. return nil
  43167. }
  43168. // SetDryRun sets the DryRun field's value.
  43169. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  43170. s.DryRun = &v
  43171. return s
  43172. }
  43173. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  43174. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  43175. s.SpotFleetRequestConfig = v
  43176. return s
  43177. }
  43178. // Contains the output of RequestSpotFleet.
  43179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetResponse
  43180. type RequestSpotFleetOutput struct {
  43181. _ struct{} `type:"structure"`
  43182. // The ID of the Spot fleet request.
  43183. //
  43184. // SpotFleetRequestId is a required field
  43185. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  43186. }
  43187. // String returns the string representation
  43188. func (s RequestSpotFleetOutput) String() string {
  43189. return awsutil.Prettify(s)
  43190. }
  43191. // GoString returns the string representation
  43192. func (s RequestSpotFleetOutput) GoString() string {
  43193. return s.String()
  43194. }
  43195. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  43196. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  43197. s.SpotFleetRequestId = &v
  43198. return s
  43199. }
  43200. // Contains the parameters for RequestSpotInstances.
  43201. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesRequest
  43202. type RequestSpotInstancesInput struct {
  43203. _ struct{} `type:"structure"`
  43204. // The user-specified name for a logical grouping of bids.
  43205. //
  43206. // When you specify an Availability Zone group in a Spot Instance request, all
  43207. // Spot instances in the request are launched in the same Availability Zone.
  43208. // Instance proximity is maintained with this parameter, but the choice of Availability
  43209. // Zone is not. The group applies only to bids for Spot Instances of the same
  43210. // instance type. Any additional Spot instance requests that are specified with
  43211. // the same Availability Zone group name are launched in that same Availability
  43212. // Zone, as long as at least one instance from the group is still active.
  43213. //
  43214. // If there is no active instance running in the Availability Zone group that
  43215. // you specify for a new Spot instance request (all instances are terminated,
  43216. // the bid is expired, or the bid falls below current market), then Amazon EC2
  43217. // launches the instance in any Availability Zone where the constraint can be
  43218. // met. Consequently, the subsequent set of Spot instances could be placed in
  43219. // a different zone from the original request, even if you specified the same
  43220. // Availability Zone group.
  43221. //
  43222. // Default: Instances are launched in any available Availability Zone.
  43223. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  43224. // The required duration for the Spot instances (also known as Spot blocks),
  43225. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  43226. // or 360).
  43227. //
  43228. // The duration period starts as soon as your Spot instance receives its instance
  43229. // ID. At the end of the duration period, Amazon EC2 marks the Spot instance
  43230. // for termination and provides a Spot instance termination notice, which gives
  43231. // the instance a two-minute warning before it terminates.
  43232. //
  43233. // Note that you can't specify an Availability Zone group or a launch group
  43234. // if you specify a duration.
  43235. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  43236. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  43237. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  43238. // in the Amazon Elastic Compute Cloud User Guide.
  43239. ClientToken *string `locationName:"clientToken" type:"string"`
  43240. // Checks whether you have the required permissions for the action, without
  43241. // actually making the request, and provides an error response. If you have
  43242. // the required permissions, the error response is DryRunOperation. Otherwise,
  43243. // it is UnauthorizedOperation.
  43244. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43245. // The maximum number of Spot instances to launch.
  43246. //
  43247. // Default: 1
  43248. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  43249. // The instance launch group. Launch groups are Spot instances that launch together
  43250. // and terminate together.
  43251. //
  43252. // Default: Instances are launched and terminated individually
  43253. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  43254. // The launch specification.
  43255. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  43256. // The maximum hourly price (bid) for any Spot instance launched to fulfill
  43257. // the request.
  43258. //
  43259. // SpotPrice is a required field
  43260. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  43261. // The Spot instance request type.
  43262. //
  43263. // Default: one-time
  43264. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  43265. // The start date of the request. If this is a one-time request, the request
  43266. // becomes active at this date and time and remains active until all instances
  43267. // launch, the request expires, or the request is canceled. If the request is
  43268. // persistent, the request becomes active at this date and time and remains
  43269. // active until it expires or is canceled.
  43270. //
  43271. // Default: The request is effective indefinitely.
  43272. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  43273. // The end date of the request. If this is a one-time request, the request remains
  43274. // active until all instances launch, the request is canceled, or this date
  43275. // is reached. If the request is persistent, it remains active until it is canceled
  43276. // or this date and time is reached.
  43277. //
  43278. // Default: The request is effective indefinitely.
  43279. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  43280. }
  43281. // String returns the string representation
  43282. func (s RequestSpotInstancesInput) String() string {
  43283. return awsutil.Prettify(s)
  43284. }
  43285. // GoString returns the string representation
  43286. func (s RequestSpotInstancesInput) GoString() string {
  43287. return s.String()
  43288. }
  43289. // Validate inspects the fields of the type to determine if they are valid.
  43290. func (s *RequestSpotInstancesInput) Validate() error {
  43291. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  43292. if s.SpotPrice == nil {
  43293. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  43294. }
  43295. if s.LaunchSpecification != nil {
  43296. if err := s.LaunchSpecification.Validate(); err != nil {
  43297. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  43298. }
  43299. }
  43300. if invalidParams.Len() > 0 {
  43301. return invalidParams
  43302. }
  43303. return nil
  43304. }
  43305. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  43306. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  43307. s.AvailabilityZoneGroup = &v
  43308. return s
  43309. }
  43310. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  43311. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  43312. s.BlockDurationMinutes = &v
  43313. return s
  43314. }
  43315. // SetClientToken sets the ClientToken field's value.
  43316. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  43317. s.ClientToken = &v
  43318. return s
  43319. }
  43320. // SetDryRun sets the DryRun field's value.
  43321. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  43322. s.DryRun = &v
  43323. return s
  43324. }
  43325. // SetInstanceCount sets the InstanceCount field's value.
  43326. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  43327. s.InstanceCount = &v
  43328. return s
  43329. }
  43330. // SetLaunchGroup sets the LaunchGroup field's value.
  43331. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  43332. s.LaunchGroup = &v
  43333. return s
  43334. }
  43335. // SetLaunchSpecification sets the LaunchSpecification field's value.
  43336. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  43337. s.LaunchSpecification = v
  43338. return s
  43339. }
  43340. // SetSpotPrice sets the SpotPrice field's value.
  43341. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  43342. s.SpotPrice = &v
  43343. return s
  43344. }
  43345. // SetType sets the Type field's value.
  43346. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  43347. s.Type = &v
  43348. return s
  43349. }
  43350. // SetValidFrom sets the ValidFrom field's value.
  43351. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  43352. s.ValidFrom = &v
  43353. return s
  43354. }
  43355. // SetValidUntil sets the ValidUntil field's value.
  43356. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  43357. s.ValidUntil = &v
  43358. return s
  43359. }
  43360. // Contains the output of RequestSpotInstances.
  43361. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesResult
  43362. type RequestSpotInstancesOutput struct {
  43363. _ struct{} `type:"structure"`
  43364. // One or more Spot instance requests.
  43365. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  43366. }
  43367. // String returns the string representation
  43368. func (s RequestSpotInstancesOutput) String() string {
  43369. return awsutil.Prettify(s)
  43370. }
  43371. // GoString returns the string representation
  43372. func (s RequestSpotInstancesOutput) GoString() string {
  43373. return s.String()
  43374. }
  43375. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  43376. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  43377. s.SpotInstanceRequests = v
  43378. return s
  43379. }
  43380. // Describes the launch specification for an instance.
  43381. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotLaunchSpecification
  43382. type RequestSpotLaunchSpecification struct {
  43383. _ struct{} `type:"structure"`
  43384. // Deprecated.
  43385. AddressingType *string `locationName:"addressingType" type:"string"`
  43386. // One or more block device mapping entries.
  43387. //
  43388. // Although you can specify encrypted EBS volumes in this block device mapping
  43389. // for your Spot Instances, these volumes are not encrypted.
  43390. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  43391. // Indicates whether the instance is optimized for EBS I/O. This optimization
  43392. // provides dedicated throughput to Amazon EBS and an optimized configuration
  43393. // stack to provide optimal EBS I/O performance. This optimization isn't available
  43394. // with all instance types. Additional usage charges apply when using an EBS
  43395. // Optimized instance.
  43396. //
  43397. // Default: false
  43398. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  43399. // The IAM instance profile.
  43400. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  43401. // The ID of the AMI.
  43402. ImageId *string `locationName:"imageId" type:"string"`
  43403. // The instance type.
  43404. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  43405. // The ID of the kernel.
  43406. KernelId *string `locationName:"kernelId" type:"string"`
  43407. // The name of the key pair.
  43408. KeyName *string `locationName:"keyName" type:"string"`
  43409. // Indicates whether basic or detailed monitoring is enabled for the instance.
  43410. //
  43411. // Default: Disabled
  43412. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  43413. // One or more network interfaces. If you specify a network interface, you must
  43414. // specify subnet IDs and security group IDs using the network interface.
  43415. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  43416. // The placement information for the instance.
  43417. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  43418. // The ID of the RAM disk.
  43419. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  43420. // One or more security group IDs.
  43421. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  43422. // One or more security groups. When requesting instances in a VPC, you must
  43423. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  43424. // you can specify the names or the IDs of the security groups.
  43425. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  43426. // The ID of the subnet in which to launch the instance.
  43427. SubnetId *string `locationName:"subnetId" type:"string"`
  43428. // The user data to make available to the instances. If you are using an AWS
  43429. // SDK or command line tool, Base64-encoding is performed for you, and you can
  43430. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  43431. UserData *string `locationName:"userData" type:"string"`
  43432. }
  43433. // String returns the string representation
  43434. func (s RequestSpotLaunchSpecification) String() string {
  43435. return awsutil.Prettify(s)
  43436. }
  43437. // GoString returns the string representation
  43438. func (s RequestSpotLaunchSpecification) GoString() string {
  43439. return s.String()
  43440. }
  43441. // Validate inspects the fields of the type to determine if they are valid.
  43442. func (s *RequestSpotLaunchSpecification) Validate() error {
  43443. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  43444. if s.Monitoring != nil {
  43445. if err := s.Monitoring.Validate(); err != nil {
  43446. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  43447. }
  43448. }
  43449. if s.NetworkInterfaces != nil {
  43450. for i, v := range s.NetworkInterfaces {
  43451. if v == nil {
  43452. continue
  43453. }
  43454. if err := v.Validate(); err != nil {
  43455. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  43456. }
  43457. }
  43458. }
  43459. if invalidParams.Len() > 0 {
  43460. return invalidParams
  43461. }
  43462. return nil
  43463. }
  43464. // SetAddressingType sets the AddressingType field's value.
  43465. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  43466. s.AddressingType = &v
  43467. return s
  43468. }
  43469. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  43470. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  43471. s.BlockDeviceMappings = v
  43472. return s
  43473. }
  43474. // SetEbsOptimized sets the EbsOptimized field's value.
  43475. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  43476. s.EbsOptimized = &v
  43477. return s
  43478. }
  43479. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  43480. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  43481. s.IamInstanceProfile = v
  43482. return s
  43483. }
  43484. // SetImageId sets the ImageId field's value.
  43485. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  43486. s.ImageId = &v
  43487. return s
  43488. }
  43489. // SetInstanceType sets the InstanceType field's value.
  43490. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  43491. s.InstanceType = &v
  43492. return s
  43493. }
  43494. // SetKernelId sets the KernelId field's value.
  43495. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  43496. s.KernelId = &v
  43497. return s
  43498. }
  43499. // SetKeyName sets the KeyName field's value.
  43500. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  43501. s.KeyName = &v
  43502. return s
  43503. }
  43504. // SetMonitoring sets the Monitoring field's value.
  43505. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  43506. s.Monitoring = v
  43507. return s
  43508. }
  43509. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  43510. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  43511. s.NetworkInterfaces = v
  43512. return s
  43513. }
  43514. // SetPlacement sets the Placement field's value.
  43515. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  43516. s.Placement = v
  43517. return s
  43518. }
  43519. // SetRamdiskId sets the RamdiskId field's value.
  43520. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  43521. s.RamdiskId = &v
  43522. return s
  43523. }
  43524. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  43525. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  43526. s.SecurityGroupIds = v
  43527. return s
  43528. }
  43529. // SetSecurityGroups sets the SecurityGroups field's value.
  43530. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  43531. s.SecurityGroups = v
  43532. return s
  43533. }
  43534. // SetSubnetId sets the SubnetId field's value.
  43535. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  43536. s.SubnetId = &v
  43537. return s
  43538. }
  43539. // SetUserData sets the UserData field's value.
  43540. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  43541. s.UserData = &v
  43542. return s
  43543. }
  43544. // Describes a reservation.
  43545. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Reservation
  43546. type Reservation struct {
  43547. _ struct{} `type:"structure"`
  43548. // [EC2-Classic only] One or more security groups.
  43549. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  43550. // One or more instances.
  43551. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  43552. // The ID of the AWS account that owns the reservation.
  43553. OwnerId *string `locationName:"ownerId" type:"string"`
  43554. // The ID of the requester that launched the instances on your behalf (for example,
  43555. // AWS Management Console or Auto Scaling).
  43556. RequesterId *string `locationName:"requesterId" type:"string"`
  43557. // The ID of the reservation.
  43558. ReservationId *string `locationName:"reservationId" type:"string"`
  43559. }
  43560. // String returns the string representation
  43561. func (s Reservation) String() string {
  43562. return awsutil.Prettify(s)
  43563. }
  43564. // GoString returns the string representation
  43565. func (s Reservation) GoString() string {
  43566. return s.String()
  43567. }
  43568. // SetGroups sets the Groups field's value.
  43569. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  43570. s.Groups = v
  43571. return s
  43572. }
  43573. // SetInstances sets the Instances field's value.
  43574. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  43575. s.Instances = v
  43576. return s
  43577. }
  43578. // SetOwnerId sets the OwnerId field's value.
  43579. func (s *Reservation) SetOwnerId(v string) *Reservation {
  43580. s.OwnerId = &v
  43581. return s
  43582. }
  43583. // SetRequesterId sets the RequesterId field's value.
  43584. func (s *Reservation) SetRequesterId(v string) *Reservation {
  43585. s.RequesterId = &v
  43586. return s
  43587. }
  43588. // SetReservationId sets the ReservationId field's value.
  43589. func (s *Reservation) SetReservationId(v string) *Reservation {
  43590. s.ReservationId = &v
  43591. return s
  43592. }
  43593. // The cost associated with the Reserved Instance.
  43594. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservationValue
  43595. type ReservationValue struct {
  43596. _ struct{} `type:"structure"`
  43597. // The hourly rate of the reservation.
  43598. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  43599. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  43600. // * number of hours remaining).
  43601. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  43602. // The remaining upfront cost of the reservation.
  43603. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  43604. }
  43605. // String returns the string representation
  43606. func (s ReservationValue) String() string {
  43607. return awsutil.Prettify(s)
  43608. }
  43609. // GoString returns the string representation
  43610. func (s ReservationValue) GoString() string {
  43611. return s.String()
  43612. }
  43613. // SetHourlyPrice sets the HourlyPrice field's value.
  43614. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  43615. s.HourlyPrice = &v
  43616. return s
  43617. }
  43618. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  43619. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  43620. s.RemainingTotalValue = &v
  43621. return s
  43622. }
  43623. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  43624. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  43625. s.RemainingUpfrontValue = &v
  43626. return s
  43627. }
  43628. // Describes the limit price of a Reserved Instance offering.
  43629. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceLimitPrice
  43630. type ReservedInstanceLimitPrice struct {
  43631. _ struct{} `type:"structure"`
  43632. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  43633. // on the total order (instanceCount * price).
  43634. Amount *float64 `locationName:"amount" type:"double"`
  43635. // The currency in which the limitPrice amount is specified. At this time, the
  43636. // only supported currency is USD.
  43637. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  43638. }
  43639. // String returns the string representation
  43640. func (s ReservedInstanceLimitPrice) String() string {
  43641. return awsutil.Prettify(s)
  43642. }
  43643. // GoString returns the string representation
  43644. func (s ReservedInstanceLimitPrice) GoString() string {
  43645. return s.String()
  43646. }
  43647. // SetAmount sets the Amount field's value.
  43648. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  43649. s.Amount = &v
  43650. return s
  43651. }
  43652. // SetCurrencyCode sets the CurrencyCode field's value.
  43653. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  43654. s.CurrencyCode = &v
  43655. return s
  43656. }
  43657. // The total value of the Convertible Reserved Instance.
  43658. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceReservationValue
  43659. type ReservedInstanceReservationValue struct {
  43660. _ struct{} `type:"structure"`
  43661. // The total value of the Convertible Reserved Instance that you are exchanging.
  43662. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  43663. // The ID of the Convertible Reserved Instance that you are exchanging.
  43664. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  43665. }
  43666. // String returns the string representation
  43667. func (s ReservedInstanceReservationValue) String() string {
  43668. return awsutil.Prettify(s)
  43669. }
  43670. // GoString returns the string representation
  43671. func (s ReservedInstanceReservationValue) GoString() string {
  43672. return s.String()
  43673. }
  43674. // SetReservationValue sets the ReservationValue field's value.
  43675. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  43676. s.ReservationValue = v
  43677. return s
  43678. }
  43679. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  43680. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  43681. s.ReservedInstanceId = &v
  43682. return s
  43683. }
  43684. // Describes a Reserved Instance.
  43685. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstances
  43686. type ReservedInstances struct {
  43687. _ struct{} `type:"structure"`
  43688. // The Availability Zone in which the Reserved Instance can be used.
  43689. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  43690. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  43691. // currency codes. At this time, the only supported currency is USD.
  43692. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  43693. // The duration of the Reserved Instance, in seconds.
  43694. Duration *int64 `locationName:"duration" type:"long"`
  43695. // The time when the Reserved Instance expires.
  43696. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  43697. // The purchase price of the Reserved Instance.
  43698. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  43699. // The number of reservations purchased.
  43700. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  43701. // The tenancy of the instance.
  43702. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  43703. // The instance type on which the Reserved Instance can be used.
  43704. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  43705. // The offering class of the Reserved Instance.
  43706. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  43707. // The Reserved Instance offering type.
  43708. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  43709. // The Reserved Instance product platform description.
  43710. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  43711. // The recurring charge tag assigned to the resource.
  43712. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  43713. // The ID of the Reserved Instance.
  43714. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  43715. // The scope of the Reserved Instance.
  43716. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  43717. // The date and time the Reserved Instance started.
  43718. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  43719. // The state of the Reserved Instance purchase.
  43720. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  43721. // Any tags assigned to the resource.
  43722. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43723. // The usage price of the Reserved Instance, per hour.
  43724. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  43725. }
  43726. // String returns the string representation
  43727. func (s ReservedInstances) String() string {
  43728. return awsutil.Prettify(s)
  43729. }
  43730. // GoString returns the string representation
  43731. func (s ReservedInstances) GoString() string {
  43732. return s.String()
  43733. }
  43734. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43735. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  43736. s.AvailabilityZone = &v
  43737. return s
  43738. }
  43739. // SetCurrencyCode sets the CurrencyCode field's value.
  43740. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  43741. s.CurrencyCode = &v
  43742. return s
  43743. }
  43744. // SetDuration sets the Duration field's value.
  43745. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  43746. s.Duration = &v
  43747. return s
  43748. }
  43749. // SetEnd sets the End field's value.
  43750. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  43751. s.End = &v
  43752. return s
  43753. }
  43754. // SetFixedPrice sets the FixedPrice field's value.
  43755. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  43756. s.FixedPrice = &v
  43757. return s
  43758. }
  43759. // SetInstanceCount sets the InstanceCount field's value.
  43760. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  43761. s.InstanceCount = &v
  43762. return s
  43763. }
  43764. // SetInstanceTenancy sets the InstanceTenancy field's value.
  43765. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  43766. s.InstanceTenancy = &v
  43767. return s
  43768. }
  43769. // SetInstanceType sets the InstanceType field's value.
  43770. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  43771. s.InstanceType = &v
  43772. return s
  43773. }
  43774. // SetOfferingClass sets the OfferingClass field's value.
  43775. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  43776. s.OfferingClass = &v
  43777. return s
  43778. }
  43779. // SetOfferingType sets the OfferingType field's value.
  43780. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  43781. s.OfferingType = &v
  43782. return s
  43783. }
  43784. // SetProductDescription sets the ProductDescription field's value.
  43785. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  43786. s.ProductDescription = &v
  43787. return s
  43788. }
  43789. // SetRecurringCharges sets the RecurringCharges field's value.
  43790. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  43791. s.RecurringCharges = v
  43792. return s
  43793. }
  43794. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  43795. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  43796. s.ReservedInstancesId = &v
  43797. return s
  43798. }
  43799. // SetScope sets the Scope field's value.
  43800. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  43801. s.Scope = &v
  43802. return s
  43803. }
  43804. // SetStart sets the Start field's value.
  43805. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  43806. s.Start = &v
  43807. return s
  43808. }
  43809. // SetState sets the State field's value.
  43810. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  43811. s.State = &v
  43812. return s
  43813. }
  43814. // SetTags sets the Tags field's value.
  43815. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  43816. s.Tags = v
  43817. return s
  43818. }
  43819. // SetUsagePrice sets the UsagePrice field's value.
  43820. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  43821. s.UsagePrice = &v
  43822. return s
  43823. }
  43824. // Describes the configuration settings for the modified Reserved Instances.
  43825. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesConfiguration
  43826. type ReservedInstancesConfiguration struct {
  43827. _ struct{} `type:"structure"`
  43828. // The Availability Zone for the modified Reserved Instances.
  43829. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  43830. // The number of modified Reserved Instances.
  43831. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  43832. // The instance type for the modified Reserved Instances.
  43833. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  43834. // The network platform of the modified Reserved Instances, which is either
  43835. // EC2-Classic or EC2-VPC.
  43836. Platform *string `locationName:"platform" type:"string"`
  43837. // Whether the Reserved Instance is applied to instances in a region or instances
  43838. // in a specific Availability Zone.
  43839. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  43840. }
  43841. // String returns the string representation
  43842. func (s ReservedInstancesConfiguration) String() string {
  43843. return awsutil.Prettify(s)
  43844. }
  43845. // GoString returns the string representation
  43846. func (s ReservedInstancesConfiguration) GoString() string {
  43847. return s.String()
  43848. }
  43849. // SetAvailabilityZone sets the AvailabilityZone field's value.
  43850. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  43851. s.AvailabilityZone = &v
  43852. return s
  43853. }
  43854. // SetInstanceCount sets the InstanceCount field's value.
  43855. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  43856. s.InstanceCount = &v
  43857. return s
  43858. }
  43859. // SetInstanceType sets the InstanceType field's value.
  43860. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  43861. s.InstanceType = &v
  43862. return s
  43863. }
  43864. // SetPlatform sets the Platform field's value.
  43865. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  43866. s.Platform = &v
  43867. return s
  43868. }
  43869. // SetScope sets the Scope field's value.
  43870. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  43871. s.Scope = &v
  43872. return s
  43873. }
  43874. // Describes the ID of a Reserved Instance.
  43875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesId
  43876. type ReservedInstancesId struct {
  43877. _ struct{} `type:"structure"`
  43878. // The ID of the Reserved Instance.
  43879. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  43880. }
  43881. // String returns the string representation
  43882. func (s ReservedInstancesId) String() string {
  43883. return awsutil.Prettify(s)
  43884. }
  43885. // GoString returns the string representation
  43886. func (s ReservedInstancesId) GoString() string {
  43887. return s.String()
  43888. }
  43889. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  43890. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  43891. s.ReservedInstancesId = &v
  43892. return s
  43893. }
  43894. // Describes a Reserved Instance listing.
  43895. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesListing
  43896. type ReservedInstancesListing struct {
  43897. _ struct{} `type:"structure"`
  43898. // A unique, case-sensitive key supplied by the client to ensure that the request
  43899. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43900. ClientToken *string `locationName:"clientToken" type:"string"`
  43901. // The time the listing was created.
  43902. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  43903. // The number of instances in this state.
  43904. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  43905. // The price of the Reserved Instance listing.
  43906. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  43907. // The ID of the Reserved Instance.
  43908. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  43909. // The ID of the Reserved Instance listing.
  43910. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  43911. // The status of the Reserved Instance listing.
  43912. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  43913. // The reason for the current status of the Reserved Instance listing. The response
  43914. // can be blank.
  43915. StatusMessage *string `locationName:"statusMessage" type:"string"`
  43916. // Any tags assigned to the resource.
  43917. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43918. // The last modified timestamp of the listing.
  43919. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  43920. }
  43921. // String returns the string representation
  43922. func (s ReservedInstancesListing) String() string {
  43923. return awsutil.Prettify(s)
  43924. }
  43925. // GoString returns the string representation
  43926. func (s ReservedInstancesListing) GoString() string {
  43927. return s.String()
  43928. }
  43929. // SetClientToken sets the ClientToken field's value.
  43930. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  43931. s.ClientToken = &v
  43932. return s
  43933. }
  43934. // SetCreateDate sets the CreateDate field's value.
  43935. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  43936. s.CreateDate = &v
  43937. return s
  43938. }
  43939. // SetInstanceCounts sets the InstanceCounts field's value.
  43940. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  43941. s.InstanceCounts = v
  43942. return s
  43943. }
  43944. // SetPriceSchedules sets the PriceSchedules field's value.
  43945. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  43946. s.PriceSchedules = v
  43947. return s
  43948. }
  43949. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  43950. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  43951. s.ReservedInstancesId = &v
  43952. return s
  43953. }
  43954. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  43955. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  43956. s.ReservedInstancesListingId = &v
  43957. return s
  43958. }
  43959. // SetStatus sets the Status field's value.
  43960. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  43961. s.Status = &v
  43962. return s
  43963. }
  43964. // SetStatusMessage sets the StatusMessage field's value.
  43965. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  43966. s.StatusMessage = &v
  43967. return s
  43968. }
  43969. // SetTags sets the Tags field's value.
  43970. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  43971. s.Tags = v
  43972. return s
  43973. }
  43974. // SetUpdateDate sets the UpdateDate field's value.
  43975. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  43976. s.UpdateDate = &v
  43977. return s
  43978. }
  43979. // Describes a Reserved Instance modification.
  43980. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModification
  43981. type ReservedInstancesModification struct {
  43982. _ struct{} `type:"structure"`
  43983. // A unique, case-sensitive key supplied by the client to ensure that the request
  43984. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43985. ClientToken *string `locationName:"clientToken" type:"string"`
  43986. // The time when the modification request was created.
  43987. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  43988. // The time for the modification to become effective.
  43989. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  43990. // Contains target configurations along with their corresponding new Reserved
  43991. // Instance IDs.
  43992. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  43993. // The IDs of one or more Reserved Instances.
  43994. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  43995. // A unique ID for the Reserved Instance modification.
  43996. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  43997. // The status of the Reserved Instances modification request.
  43998. Status *string `locationName:"status" type:"string"`
  43999. // The reason for the status.
  44000. StatusMessage *string `locationName:"statusMessage" type:"string"`
  44001. // The time when the modification request was last updated.
  44002. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  44003. }
  44004. // String returns the string representation
  44005. func (s ReservedInstancesModification) String() string {
  44006. return awsutil.Prettify(s)
  44007. }
  44008. // GoString returns the string representation
  44009. func (s ReservedInstancesModification) GoString() string {
  44010. return s.String()
  44011. }
  44012. // SetClientToken sets the ClientToken field's value.
  44013. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  44014. s.ClientToken = &v
  44015. return s
  44016. }
  44017. // SetCreateDate sets the CreateDate field's value.
  44018. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  44019. s.CreateDate = &v
  44020. return s
  44021. }
  44022. // SetEffectiveDate sets the EffectiveDate field's value.
  44023. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  44024. s.EffectiveDate = &v
  44025. return s
  44026. }
  44027. // SetModificationResults sets the ModificationResults field's value.
  44028. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  44029. s.ModificationResults = v
  44030. return s
  44031. }
  44032. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  44033. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  44034. s.ReservedInstancesIds = v
  44035. return s
  44036. }
  44037. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  44038. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  44039. s.ReservedInstancesModificationId = &v
  44040. return s
  44041. }
  44042. // SetStatus sets the Status field's value.
  44043. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  44044. s.Status = &v
  44045. return s
  44046. }
  44047. // SetStatusMessage sets the StatusMessage field's value.
  44048. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  44049. s.StatusMessage = &v
  44050. return s
  44051. }
  44052. // SetUpdateDate sets the UpdateDate field's value.
  44053. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  44054. s.UpdateDate = &v
  44055. return s
  44056. }
  44057. // Describes the modification request/s.
  44058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModificationResult
  44059. type ReservedInstancesModificationResult struct {
  44060. _ struct{} `type:"structure"`
  44061. // The ID for the Reserved Instances that were created as part of the modification
  44062. // request. This field is only available when the modification is fulfilled.
  44063. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  44064. // The target Reserved Instances configurations supplied as part of the modification
  44065. // request.
  44066. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  44067. }
  44068. // String returns the string representation
  44069. func (s ReservedInstancesModificationResult) String() string {
  44070. return awsutil.Prettify(s)
  44071. }
  44072. // GoString returns the string representation
  44073. func (s ReservedInstancesModificationResult) GoString() string {
  44074. return s.String()
  44075. }
  44076. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  44077. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  44078. s.ReservedInstancesId = &v
  44079. return s
  44080. }
  44081. // SetTargetConfiguration sets the TargetConfiguration field's value.
  44082. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  44083. s.TargetConfiguration = v
  44084. return s
  44085. }
  44086. // Describes a Reserved Instance offering.
  44087. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesOffering
  44088. type ReservedInstancesOffering struct {
  44089. _ struct{} `type:"structure"`
  44090. // The Availability Zone in which the Reserved Instance can be used.
  44091. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44092. // The currency of the Reserved Instance offering you are purchasing. It's specified
  44093. // using ISO 4217 standard currency codes. At this time, the only supported
  44094. // currency is USD.
  44095. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  44096. // The duration of the Reserved Instance, in seconds.
  44097. Duration *int64 `locationName:"duration" type:"long"`
  44098. // The purchase price of the Reserved Instance.
  44099. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  44100. // The tenancy of the instance.
  44101. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  44102. // The instance type on which the Reserved Instance can be used.
  44103. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  44104. // Indicates whether the offering is available through the Reserved Instance
  44105. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  44106. // this is true.
  44107. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  44108. // If convertible it can be exchanged for Reserved Instances of the same or
  44109. // higher monetary value, with different configurations. If standard, it is
  44110. // not possible to perform an exchange.
  44111. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  44112. // The Reserved Instance offering type.
  44113. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  44114. // The pricing details of the Reserved Instance offering.
  44115. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  44116. // The Reserved Instance product platform description.
  44117. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  44118. // The recurring charge tag assigned to the resource.
  44119. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  44120. // The ID of the Reserved Instance offering. This is the offering ID used in
  44121. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  44122. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  44123. // Whether the Reserved Instance is applied to instances in a region or an Availability
  44124. // Zone.
  44125. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  44126. // The usage price of the Reserved Instance, per hour.
  44127. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  44128. }
  44129. // String returns the string representation
  44130. func (s ReservedInstancesOffering) String() string {
  44131. return awsutil.Prettify(s)
  44132. }
  44133. // GoString returns the string representation
  44134. func (s ReservedInstancesOffering) GoString() string {
  44135. return s.String()
  44136. }
  44137. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44138. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  44139. s.AvailabilityZone = &v
  44140. return s
  44141. }
  44142. // SetCurrencyCode sets the CurrencyCode field's value.
  44143. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  44144. s.CurrencyCode = &v
  44145. return s
  44146. }
  44147. // SetDuration sets the Duration field's value.
  44148. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  44149. s.Duration = &v
  44150. return s
  44151. }
  44152. // SetFixedPrice sets the FixedPrice field's value.
  44153. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  44154. s.FixedPrice = &v
  44155. return s
  44156. }
  44157. // SetInstanceTenancy sets the InstanceTenancy field's value.
  44158. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  44159. s.InstanceTenancy = &v
  44160. return s
  44161. }
  44162. // SetInstanceType sets the InstanceType field's value.
  44163. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  44164. s.InstanceType = &v
  44165. return s
  44166. }
  44167. // SetMarketplace sets the Marketplace field's value.
  44168. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  44169. s.Marketplace = &v
  44170. return s
  44171. }
  44172. // SetOfferingClass sets the OfferingClass field's value.
  44173. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  44174. s.OfferingClass = &v
  44175. return s
  44176. }
  44177. // SetOfferingType sets the OfferingType field's value.
  44178. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  44179. s.OfferingType = &v
  44180. return s
  44181. }
  44182. // SetPricingDetails sets the PricingDetails field's value.
  44183. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  44184. s.PricingDetails = v
  44185. return s
  44186. }
  44187. // SetProductDescription sets the ProductDescription field's value.
  44188. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  44189. s.ProductDescription = &v
  44190. return s
  44191. }
  44192. // SetRecurringCharges sets the RecurringCharges field's value.
  44193. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  44194. s.RecurringCharges = v
  44195. return s
  44196. }
  44197. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  44198. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  44199. s.ReservedInstancesOfferingId = &v
  44200. return s
  44201. }
  44202. // SetScope sets the Scope field's value.
  44203. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  44204. s.Scope = &v
  44205. return s
  44206. }
  44207. // SetUsagePrice sets the UsagePrice field's value.
  44208. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  44209. s.UsagePrice = &v
  44210. return s
  44211. }
  44212. // Contains the parameters for ResetImageAttribute.
  44213. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeRequest
  44214. type ResetImageAttributeInput struct {
  44215. _ struct{} `type:"structure"`
  44216. // The attribute to reset (currently you can only reset the launch permission
  44217. // attribute).
  44218. //
  44219. // Attribute is a required field
  44220. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  44221. // Checks whether you have the required permissions for the action, without
  44222. // actually making the request, and provides an error response. If you have
  44223. // the required permissions, the error response is DryRunOperation. Otherwise,
  44224. // it is UnauthorizedOperation.
  44225. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44226. // The ID of the AMI.
  44227. //
  44228. // ImageId is a required field
  44229. ImageId *string `type:"string" required:"true"`
  44230. }
  44231. // String returns the string representation
  44232. func (s ResetImageAttributeInput) String() string {
  44233. return awsutil.Prettify(s)
  44234. }
  44235. // GoString returns the string representation
  44236. func (s ResetImageAttributeInput) GoString() string {
  44237. return s.String()
  44238. }
  44239. // Validate inspects the fields of the type to determine if they are valid.
  44240. func (s *ResetImageAttributeInput) Validate() error {
  44241. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  44242. if s.Attribute == nil {
  44243. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  44244. }
  44245. if s.ImageId == nil {
  44246. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  44247. }
  44248. if invalidParams.Len() > 0 {
  44249. return invalidParams
  44250. }
  44251. return nil
  44252. }
  44253. // SetAttribute sets the Attribute field's value.
  44254. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  44255. s.Attribute = &v
  44256. return s
  44257. }
  44258. // SetDryRun sets the DryRun field's value.
  44259. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  44260. s.DryRun = &v
  44261. return s
  44262. }
  44263. // SetImageId sets the ImageId field's value.
  44264. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  44265. s.ImageId = &v
  44266. return s
  44267. }
  44268. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeOutput
  44269. type ResetImageAttributeOutput struct {
  44270. _ struct{} `type:"structure"`
  44271. }
  44272. // String returns the string representation
  44273. func (s ResetImageAttributeOutput) String() string {
  44274. return awsutil.Prettify(s)
  44275. }
  44276. // GoString returns the string representation
  44277. func (s ResetImageAttributeOutput) GoString() string {
  44278. return s.String()
  44279. }
  44280. // Contains the parameters for ResetInstanceAttribute.
  44281. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeRequest
  44282. type ResetInstanceAttributeInput struct {
  44283. _ struct{} `type:"structure"`
  44284. // The attribute to reset.
  44285. //
  44286. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  44287. // To change an instance attribute, use ModifyInstanceAttribute.
  44288. //
  44289. // Attribute is a required field
  44290. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  44291. // Checks whether you have the required permissions for the action, without
  44292. // actually making the request, and provides an error response. If you have
  44293. // the required permissions, the error response is DryRunOperation. Otherwise,
  44294. // it is UnauthorizedOperation.
  44295. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44296. // The ID of the instance.
  44297. //
  44298. // InstanceId is a required field
  44299. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  44300. }
  44301. // String returns the string representation
  44302. func (s ResetInstanceAttributeInput) String() string {
  44303. return awsutil.Prettify(s)
  44304. }
  44305. // GoString returns the string representation
  44306. func (s ResetInstanceAttributeInput) GoString() string {
  44307. return s.String()
  44308. }
  44309. // Validate inspects the fields of the type to determine if they are valid.
  44310. func (s *ResetInstanceAttributeInput) Validate() error {
  44311. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  44312. if s.Attribute == nil {
  44313. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  44314. }
  44315. if s.InstanceId == nil {
  44316. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  44317. }
  44318. if invalidParams.Len() > 0 {
  44319. return invalidParams
  44320. }
  44321. return nil
  44322. }
  44323. // SetAttribute sets the Attribute field's value.
  44324. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  44325. s.Attribute = &v
  44326. return s
  44327. }
  44328. // SetDryRun sets the DryRun field's value.
  44329. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  44330. s.DryRun = &v
  44331. return s
  44332. }
  44333. // SetInstanceId sets the InstanceId field's value.
  44334. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  44335. s.InstanceId = &v
  44336. return s
  44337. }
  44338. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeOutput
  44339. type ResetInstanceAttributeOutput struct {
  44340. _ struct{} `type:"structure"`
  44341. }
  44342. // String returns the string representation
  44343. func (s ResetInstanceAttributeOutput) String() string {
  44344. return awsutil.Prettify(s)
  44345. }
  44346. // GoString returns the string representation
  44347. func (s ResetInstanceAttributeOutput) GoString() string {
  44348. return s.String()
  44349. }
  44350. // Contains the parameters for ResetNetworkInterfaceAttribute.
  44351. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeRequest
  44352. type ResetNetworkInterfaceAttributeInput struct {
  44353. _ struct{} `type:"structure"`
  44354. // Checks whether you have the required permissions for the action, without
  44355. // actually making the request, and provides an error response. If you have
  44356. // the required permissions, the error response is DryRunOperation. Otherwise,
  44357. // it is UnauthorizedOperation.
  44358. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44359. // The ID of the network interface.
  44360. //
  44361. // NetworkInterfaceId is a required field
  44362. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  44363. // The source/destination checking attribute. Resets the value to true.
  44364. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  44365. }
  44366. // String returns the string representation
  44367. func (s ResetNetworkInterfaceAttributeInput) String() string {
  44368. return awsutil.Prettify(s)
  44369. }
  44370. // GoString returns the string representation
  44371. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  44372. return s.String()
  44373. }
  44374. // Validate inspects the fields of the type to determine if they are valid.
  44375. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  44376. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  44377. if s.NetworkInterfaceId == nil {
  44378. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  44379. }
  44380. if invalidParams.Len() > 0 {
  44381. return invalidParams
  44382. }
  44383. return nil
  44384. }
  44385. // SetDryRun sets the DryRun field's value.
  44386. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  44387. s.DryRun = &v
  44388. return s
  44389. }
  44390. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  44391. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  44392. s.NetworkInterfaceId = &v
  44393. return s
  44394. }
  44395. // SetSourceDestCheck sets the SourceDestCheck field's value.
  44396. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  44397. s.SourceDestCheck = &v
  44398. return s
  44399. }
  44400. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeOutput
  44401. type ResetNetworkInterfaceAttributeOutput struct {
  44402. _ struct{} `type:"structure"`
  44403. }
  44404. // String returns the string representation
  44405. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  44406. return awsutil.Prettify(s)
  44407. }
  44408. // GoString returns the string representation
  44409. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  44410. return s.String()
  44411. }
  44412. // Contains the parameters for ResetSnapshotAttribute.
  44413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeRequest
  44414. type ResetSnapshotAttributeInput struct {
  44415. _ struct{} `type:"structure"`
  44416. // The attribute to reset. Currently, only the attribute for permission to create
  44417. // volumes can be reset.
  44418. //
  44419. // Attribute is a required field
  44420. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  44421. // Checks whether you have the required permissions for the action, without
  44422. // actually making the request, and provides an error response. If you have
  44423. // the required permissions, the error response is DryRunOperation. Otherwise,
  44424. // it is UnauthorizedOperation.
  44425. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44426. // The ID of the snapshot.
  44427. //
  44428. // SnapshotId is a required field
  44429. SnapshotId *string `type:"string" required:"true"`
  44430. }
  44431. // String returns the string representation
  44432. func (s ResetSnapshotAttributeInput) String() string {
  44433. return awsutil.Prettify(s)
  44434. }
  44435. // GoString returns the string representation
  44436. func (s ResetSnapshotAttributeInput) GoString() string {
  44437. return s.String()
  44438. }
  44439. // Validate inspects the fields of the type to determine if they are valid.
  44440. func (s *ResetSnapshotAttributeInput) Validate() error {
  44441. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  44442. if s.Attribute == nil {
  44443. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  44444. }
  44445. if s.SnapshotId == nil {
  44446. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  44447. }
  44448. if invalidParams.Len() > 0 {
  44449. return invalidParams
  44450. }
  44451. return nil
  44452. }
  44453. // SetAttribute sets the Attribute field's value.
  44454. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  44455. s.Attribute = &v
  44456. return s
  44457. }
  44458. // SetDryRun sets the DryRun field's value.
  44459. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  44460. s.DryRun = &v
  44461. return s
  44462. }
  44463. // SetSnapshotId sets the SnapshotId field's value.
  44464. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  44465. s.SnapshotId = &v
  44466. return s
  44467. }
  44468. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeOutput
  44469. type ResetSnapshotAttributeOutput struct {
  44470. _ struct{} `type:"structure"`
  44471. }
  44472. // String returns the string representation
  44473. func (s ResetSnapshotAttributeOutput) String() string {
  44474. return awsutil.Prettify(s)
  44475. }
  44476. // GoString returns the string representation
  44477. func (s ResetSnapshotAttributeOutput) GoString() string {
  44478. return s.String()
  44479. }
  44480. // Contains the parameters for RestoreAddressToClassic.
  44481. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicRequest
  44482. type RestoreAddressToClassicInput struct {
  44483. _ struct{} `type:"structure"`
  44484. // Checks whether you have the required permissions for the action, without
  44485. // actually making the request, and provides an error response. If you have
  44486. // the required permissions, the error response is DryRunOperation. Otherwise,
  44487. // it is UnauthorizedOperation.
  44488. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44489. // The Elastic IP address.
  44490. //
  44491. // PublicIp is a required field
  44492. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  44493. }
  44494. // String returns the string representation
  44495. func (s RestoreAddressToClassicInput) String() string {
  44496. return awsutil.Prettify(s)
  44497. }
  44498. // GoString returns the string representation
  44499. func (s RestoreAddressToClassicInput) GoString() string {
  44500. return s.String()
  44501. }
  44502. // Validate inspects the fields of the type to determine if they are valid.
  44503. func (s *RestoreAddressToClassicInput) Validate() error {
  44504. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  44505. if s.PublicIp == nil {
  44506. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  44507. }
  44508. if invalidParams.Len() > 0 {
  44509. return invalidParams
  44510. }
  44511. return nil
  44512. }
  44513. // SetDryRun sets the DryRun field's value.
  44514. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  44515. s.DryRun = &v
  44516. return s
  44517. }
  44518. // SetPublicIp sets the PublicIp field's value.
  44519. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  44520. s.PublicIp = &v
  44521. return s
  44522. }
  44523. // Contains the output of RestoreAddressToClassic.
  44524. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicResult
  44525. type RestoreAddressToClassicOutput struct {
  44526. _ struct{} `type:"structure"`
  44527. // The Elastic IP address.
  44528. PublicIp *string `locationName:"publicIp" type:"string"`
  44529. // The move status for the IP address.
  44530. Status *string `locationName:"status" type:"string" enum:"Status"`
  44531. }
  44532. // String returns the string representation
  44533. func (s RestoreAddressToClassicOutput) String() string {
  44534. return awsutil.Prettify(s)
  44535. }
  44536. // GoString returns the string representation
  44537. func (s RestoreAddressToClassicOutput) GoString() string {
  44538. return s.String()
  44539. }
  44540. // SetPublicIp sets the PublicIp field's value.
  44541. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  44542. s.PublicIp = &v
  44543. return s
  44544. }
  44545. // SetStatus sets the Status field's value.
  44546. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  44547. s.Status = &v
  44548. return s
  44549. }
  44550. // Contains the parameters for RevokeSecurityGroupEgress.
  44551. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressRequest
  44552. type RevokeSecurityGroupEgressInput struct {
  44553. _ struct{} `type:"structure"`
  44554. // The CIDR IP address range. We recommend that you specify the CIDR range in
  44555. // a set of IP permissions instead.
  44556. CidrIp *string `locationName:"cidrIp" type:"string"`
  44557. // Checks whether you have the required permissions for the action, without
  44558. // actually making the request, and provides an error response. If you have
  44559. // the required permissions, the error response is DryRunOperation. Otherwise,
  44560. // it is UnauthorizedOperation.
  44561. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44562. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  44563. // We recommend that you specify the port range in a set of IP permissions instead.
  44564. FromPort *int64 `locationName:"fromPort" type:"integer"`
  44565. // The ID of the security group.
  44566. //
  44567. // GroupId is a required field
  44568. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  44569. // A set of IP permissions. You can't specify a destination security group and
  44570. // a CIDR IP address range.
  44571. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  44572. // The IP protocol name or number. We recommend that you specify the protocol
  44573. // in a set of IP permissions instead.
  44574. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  44575. // The name of a destination security group. To revoke outbound access to a
  44576. // destination security group, we recommend that you use a set of IP permissions
  44577. // instead.
  44578. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  44579. // The AWS account number for a destination security group. To revoke outbound
  44580. // access to a destination security group, we recommend that you use a set of
  44581. // IP permissions instead.
  44582. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  44583. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  44584. // We recommend that you specify the port range in a set of IP permissions instead.
  44585. ToPort *int64 `locationName:"toPort" type:"integer"`
  44586. }
  44587. // String returns the string representation
  44588. func (s RevokeSecurityGroupEgressInput) String() string {
  44589. return awsutil.Prettify(s)
  44590. }
  44591. // GoString returns the string representation
  44592. func (s RevokeSecurityGroupEgressInput) GoString() string {
  44593. return s.String()
  44594. }
  44595. // Validate inspects the fields of the type to determine if they are valid.
  44596. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  44597. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  44598. if s.GroupId == nil {
  44599. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  44600. }
  44601. if invalidParams.Len() > 0 {
  44602. return invalidParams
  44603. }
  44604. return nil
  44605. }
  44606. // SetCidrIp sets the CidrIp field's value.
  44607. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  44608. s.CidrIp = &v
  44609. return s
  44610. }
  44611. // SetDryRun sets the DryRun field's value.
  44612. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  44613. s.DryRun = &v
  44614. return s
  44615. }
  44616. // SetFromPort sets the FromPort field's value.
  44617. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  44618. s.FromPort = &v
  44619. return s
  44620. }
  44621. // SetGroupId sets the GroupId field's value.
  44622. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  44623. s.GroupId = &v
  44624. return s
  44625. }
  44626. // SetIpPermissions sets the IpPermissions field's value.
  44627. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  44628. s.IpPermissions = v
  44629. return s
  44630. }
  44631. // SetIpProtocol sets the IpProtocol field's value.
  44632. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  44633. s.IpProtocol = &v
  44634. return s
  44635. }
  44636. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  44637. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  44638. s.SourceSecurityGroupName = &v
  44639. return s
  44640. }
  44641. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  44642. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  44643. s.SourceSecurityGroupOwnerId = &v
  44644. return s
  44645. }
  44646. // SetToPort sets the ToPort field's value.
  44647. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  44648. s.ToPort = &v
  44649. return s
  44650. }
  44651. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressOutput
  44652. type RevokeSecurityGroupEgressOutput struct {
  44653. _ struct{} `type:"structure"`
  44654. }
  44655. // String returns the string representation
  44656. func (s RevokeSecurityGroupEgressOutput) String() string {
  44657. return awsutil.Prettify(s)
  44658. }
  44659. // GoString returns the string representation
  44660. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  44661. return s.String()
  44662. }
  44663. // Contains the parameters for RevokeSecurityGroupIngress.
  44664. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressRequest
  44665. type RevokeSecurityGroupIngressInput struct {
  44666. _ struct{} `type:"structure"`
  44667. // The CIDR IP address range. You can't specify this parameter when specifying
  44668. // a source security group.
  44669. CidrIp *string `type:"string"`
  44670. // Checks whether you have the required permissions for the action, without
  44671. // actually making the request, and provides an error response. If you have
  44672. // the required permissions, the error response is DryRunOperation. Otherwise,
  44673. // it is UnauthorizedOperation.
  44674. DryRun *bool `locationName:"dryRun" type:"boolean"`
  44675. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  44676. // For the ICMP type number, use -1 to specify all ICMP types.
  44677. FromPort *int64 `type:"integer"`
  44678. // The ID of the security group. Required for a security group in a nondefault
  44679. // VPC.
  44680. GroupId *string `type:"string"`
  44681. // [EC2-Classic, default VPC] The name of the security group.
  44682. GroupName *string `type:"string"`
  44683. // A set of IP permissions. You can't specify a source security group and a
  44684. // CIDR IP address range.
  44685. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  44686. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  44687. // Use -1 to specify all.
  44688. IpProtocol *string `type:"string"`
  44689. // [EC2-Classic, default VPC] The name of the source security group. You can't
  44690. // specify this parameter in combination with the following parameters: the
  44691. // CIDR IP address range, the start of the port range, the IP protocol, and
  44692. // the end of the port range. For EC2-VPC, the source security group must be
  44693. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  44694. // use a set of IP permissions instead.
  44695. SourceSecurityGroupName *string `type:"string"`
  44696. // [EC2-Classic] The AWS account ID of the source security group, if the source
  44697. // security group is in a different account. You can't specify this parameter
  44698. // in combination with the following parameters: the CIDR IP address range,
  44699. // the IP protocol, the start of the port range, and the end of the port range.
  44700. // To revoke a specific rule for an IP protocol and port range, use a set of
  44701. // IP permissions instead.
  44702. SourceSecurityGroupOwnerId *string `type:"string"`
  44703. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  44704. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  44705. ToPort *int64 `type:"integer"`
  44706. }
  44707. // String returns the string representation
  44708. func (s RevokeSecurityGroupIngressInput) String() string {
  44709. return awsutil.Prettify(s)
  44710. }
  44711. // GoString returns the string representation
  44712. func (s RevokeSecurityGroupIngressInput) GoString() string {
  44713. return s.String()
  44714. }
  44715. // SetCidrIp sets the CidrIp field's value.
  44716. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  44717. s.CidrIp = &v
  44718. return s
  44719. }
  44720. // SetDryRun sets the DryRun field's value.
  44721. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  44722. s.DryRun = &v
  44723. return s
  44724. }
  44725. // SetFromPort sets the FromPort field's value.
  44726. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  44727. s.FromPort = &v
  44728. return s
  44729. }
  44730. // SetGroupId sets the GroupId field's value.
  44731. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  44732. s.GroupId = &v
  44733. return s
  44734. }
  44735. // SetGroupName sets the GroupName field's value.
  44736. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  44737. s.GroupName = &v
  44738. return s
  44739. }
  44740. // SetIpPermissions sets the IpPermissions field's value.
  44741. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  44742. s.IpPermissions = v
  44743. return s
  44744. }
  44745. // SetIpProtocol sets the IpProtocol field's value.
  44746. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  44747. s.IpProtocol = &v
  44748. return s
  44749. }
  44750. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  44751. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  44752. s.SourceSecurityGroupName = &v
  44753. return s
  44754. }
  44755. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  44756. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  44757. s.SourceSecurityGroupOwnerId = &v
  44758. return s
  44759. }
  44760. // SetToPort sets the ToPort field's value.
  44761. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  44762. s.ToPort = &v
  44763. return s
  44764. }
  44765. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressOutput
  44766. type RevokeSecurityGroupIngressOutput struct {
  44767. _ struct{} `type:"structure"`
  44768. }
  44769. // String returns the string representation
  44770. func (s RevokeSecurityGroupIngressOutput) String() string {
  44771. return awsutil.Prettify(s)
  44772. }
  44773. // GoString returns the string representation
  44774. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  44775. return s.String()
  44776. }
  44777. // Describes a route in a route table.
  44778. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Route
  44779. type Route struct {
  44780. _ struct{} `type:"structure"`
  44781. // The IPv4 CIDR block used for the destination match.
  44782. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  44783. // The IPv6 CIDR block used for the destination match.
  44784. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  44785. // The prefix of the AWS service.
  44786. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  44787. // The ID of the egress-only Internet gateway.
  44788. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  44789. // The ID of a gateway attached to your VPC.
  44790. GatewayId *string `locationName:"gatewayId" type:"string"`
  44791. // The ID of a NAT instance in your VPC.
  44792. InstanceId *string `locationName:"instanceId" type:"string"`
  44793. // The AWS account ID of the owner of the instance.
  44794. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  44795. // The ID of a NAT gateway.
  44796. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  44797. // The ID of the network interface.
  44798. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  44799. // Describes how the route was created.
  44800. //
  44801. // * CreateRouteTable - The route was automatically created when the route
  44802. // table was created.
  44803. //
  44804. // * CreateRoute - The route was manually added to the route table.
  44805. //
  44806. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  44807. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  44808. // The state of the route. The blackhole state indicates that the route's target
  44809. // isn't available (for example, the specified gateway isn't attached to the
  44810. // VPC, or the specified NAT instance has been terminated).
  44811. State *string `locationName:"state" type:"string" enum:"RouteState"`
  44812. // The ID of the VPC peering connection.
  44813. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  44814. }
  44815. // String returns the string representation
  44816. func (s Route) String() string {
  44817. return awsutil.Prettify(s)
  44818. }
  44819. // GoString returns the string representation
  44820. func (s Route) GoString() string {
  44821. return s.String()
  44822. }
  44823. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  44824. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  44825. s.DestinationCidrBlock = &v
  44826. return s
  44827. }
  44828. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  44829. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  44830. s.DestinationIpv6CidrBlock = &v
  44831. return s
  44832. }
  44833. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  44834. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  44835. s.DestinationPrefixListId = &v
  44836. return s
  44837. }
  44838. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  44839. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  44840. s.EgressOnlyInternetGatewayId = &v
  44841. return s
  44842. }
  44843. // SetGatewayId sets the GatewayId field's value.
  44844. func (s *Route) SetGatewayId(v string) *Route {
  44845. s.GatewayId = &v
  44846. return s
  44847. }
  44848. // SetInstanceId sets the InstanceId field's value.
  44849. func (s *Route) SetInstanceId(v string) *Route {
  44850. s.InstanceId = &v
  44851. return s
  44852. }
  44853. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  44854. func (s *Route) SetInstanceOwnerId(v string) *Route {
  44855. s.InstanceOwnerId = &v
  44856. return s
  44857. }
  44858. // SetNatGatewayId sets the NatGatewayId field's value.
  44859. func (s *Route) SetNatGatewayId(v string) *Route {
  44860. s.NatGatewayId = &v
  44861. return s
  44862. }
  44863. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  44864. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  44865. s.NetworkInterfaceId = &v
  44866. return s
  44867. }
  44868. // SetOrigin sets the Origin field's value.
  44869. func (s *Route) SetOrigin(v string) *Route {
  44870. s.Origin = &v
  44871. return s
  44872. }
  44873. // SetState sets the State field's value.
  44874. func (s *Route) SetState(v string) *Route {
  44875. s.State = &v
  44876. return s
  44877. }
  44878. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  44879. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  44880. s.VpcPeeringConnectionId = &v
  44881. return s
  44882. }
  44883. // Describes a route table.
  44884. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTable
  44885. type RouteTable struct {
  44886. _ struct{} `type:"structure"`
  44887. // The associations between the route table and one or more subnets.
  44888. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  44889. // Any virtual private gateway (VGW) propagating routes.
  44890. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  44891. // The ID of the route table.
  44892. RouteTableId *string `locationName:"routeTableId" type:"string"`
  44893. // The routes in the route table.
  44894. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  44895. // Any tags assigned to the route table.
  44896. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44897. // The ID of the VPC.
  44898. VpcId *string `locationName:"vpcId" type:"string"`
  44899. }
  44900. // String returns the string representation
  44901. func (s RouteTable) String() string {
  44902. return awsutil.Prettify(s)
  44903. }
  44904. // GoString returns the string representation
  44905. func (s RouteTable) GoString() string {
  44906. return s.String()
  44907. }
  44908. // SetAssociations sets the Associations field's value.
  44909. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  44910. s.Associations = v
  44911. return s
  44912. }
  44913. // SetPropagatingVgws sets the PropagatingVgws field's value.
  44914. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  44915. s.PropagatingVgws = v
  44916. return s
  44917. }
  44918. // SetRouteTableId sets the RouteTableId field's value.
  44919. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  44920. s.RouteTableId = &v
  44921. return s
  44922. }
  44923. // SetRoutes sets the Routes field's value.
  44924. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  44925. s.Routes = v
  44926. return s
  44927. }
  44928. // SetTags sets the Tags field's value.
  44929. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  44930. s.Tags = v
  44931. return s
  44932. }
  44933. // SetVpcId sets the VpcId field's value.
  44934. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  44935. s.VpcId = &v
  44936. return s
  44937. }
  44938. // Describes an association between a route table and a subnet.
  44939. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTableAssociation
  44940. type RouteTableAssociation struct {
  44941. _ struct{} `type:"structure"`
  44942. // Indicates whether this is the main route table.
  44943. Main *bool `locationName:"main" type:"boolean"`
  44944. // The ID of the association between a route table and a subnet.
  44945. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  44946. // The ID of the route table.
  44947. RouteTableId *string `locationName:"routeTableId" type:"string"`
  44948. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  44949. SubnetId *string `locationName:"subnetId" type:"string"`
  44950. }
  44951. // String returns the string representation
  44952. func (s RouteTableAssociation) String() string {
  44953. return awsutil.Prettify(s)
  44954. }
  44955. // GoString returns the string representation
  44956. func (s RouteTableAssociation) GoString() string {
  44957. return s.String()
  44958. }
  44959. // SetMain sets the Main field's value.
  44960. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  44961. s.Main = &v
  44962. return s
  44963. }
  44964. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  44965. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  44966. s.RouteTableAssociationId = &v
  44967. return s
  44968. }
  44969. // SetRouteTableId sets the RouteTableId field's value.
  44970. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  44971. s.RouteTableId = &v
  44972. return s
  44973. }
  44974. // SetSubnetId sets the SubnetId field's value.
  44975. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  44976. s.SubnetId = &v
  44977. return s
  44978. }
  44979. // Contains the parameters for RunInstances.
  44980. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest
  44981. type RunInstancesInput struct {
  44982. _ struct{} `type:"structure"`
  44983. // Reserved.
  44984. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  44985. // The block device mapping.
  44986. //
  44987. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  44988. // mapping results in an error. This is because only blank volumes can be encrypted
  44989. // on start, and these are not created from a snapshot. If a snapshot is the
  44990. // basis for the volume, it contains data by definition and its encryption status
  44991. // cannot be changed using this action.
  44992. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  44993. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  44994. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  44995. //
  44996. // Constraints: Maximum 64 ASCII characters
  44997. ClientToken *string `locationName:"clientToken" type:"string"`
  44998. // If you set this parameter to true, you can't terminate the instance using
  44999. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  45000. // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
  45001. // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
  45002. // instance by running the shutdown command from the instance.
  45003. //
  45004. // Default: false
  45005. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  45006. // Checks whether you have the required permissions for the action, without
  45007. // actually making the request, and provides an error response. If you have
  45008. // the required permissions, the error response is DryRunOperation. Otherwise,
  45009. // it is UnauthorizedOperation.
  45010. DryRun *bool `locationName:"dryRun" type:"boolean"`
  45011. // Indicates whether the instance is optimized for EBS I/O. This optimization
  45012. // provides dedicated throughput to Amazon EBS and an optimized configuration
  45013. // stack to provide optimal EBS I/O performance. This optimization isn't available
  45014. // with all instance types. Additional usage charges apply when using an EBS-optimized
  45015. // instance.
  45016. //
  45017. // Default: false
  45018. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  45019. // An Elastic GPU to associate with the instance.
  45020. ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
  45021. // The IAM instance profile.
  45022. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  45023. // The ID of the AMI, which you can get by calling DescribeImages.
  45024. //
  45025. // ImageId is a required field
  45026. ImageId *string `type:"string" required:"true"`
  45027. // Indicates whether an instance stops or terminates when you initiate shutdown
  45028. // from the instance (using the operating system command for system shutdown).
  45029. //
  45030. // Default: stop
  45031. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  45032. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  45033. // in the Amazon Elastic Compute Cloud User Guide.
  45034. //
  45035. // Default: m1.small
  45036. InstanceType *string `type:"string" enum:"InstanceType"`
  45037. // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
  45038. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  45039. // You cannot specify this option and the option to assign specific IPv6 addresses
  45040. // in the same request. You can specify this option if you've specified a minimum
  45041. // number of instances to launch.
  45042. Ipv6AddressCount *int64 `type:"integer"`
  45043. // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
  45044. // to associate with the primary network interface. You cannot specify this
  45045. // option and the option to assign a number of IPv6 addresses in the same request.
  45046. // You cannot specify this option if you've specified a minimum number of instances
  45047. // to launch.
  45048. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  45049. // The ID of the kernel.
  45050. //
  45051. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  45052. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  45053. // in the Amazon Elastic Compute Cloud User Guide.
  45054. KernelId *string `type:"string"`
  45055. // The name of the key pair. You can create a key pair using CreateKeyPair or
  45056. // ImportKeyPair.
  45057. //
  45058. // If you do not specify a key pair, you can't connect to the instance unless
  45059. // you choose an AMI that is configured to allow users another way to log in.
  45060. KeyName *string `type:"string"`
  45061. // The maximum number of instances to launch. If you specify more instances
  45062. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  45063. // the largest possible number of instances above MinCount.
  45064. //
  45065. // Constraints: Between 1 and the maximum number you're allowed for the specified
  45066. // instance type. For more information about the default limits, and how to
  45067. // 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)
  45068. // in the Amazon EC2 FAQ.
  45069. //
  45070. // MaxCount is a required field
  45071. MaxCount *int64 `type:"integer" required:"true"`
  45072. // The minimum number of instances to launch. If you specify a minimum that
  45073. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  45074. // Amazon EC2 launches no instances.
  45075. //
  45076. // Constraints: Between 1 and the maximum number you're allowed for the specified
  45077. // instance type. For more information about the default limits, and how to
  45078. // 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)
  45079. // in the Amazon EC2 General FAQ.
  45080. //
  45081. // MinCount is a required field
  45082. MinCount *int64 `type:"integer" required:"true"`
  45083. // The monitoring for the instance.
  45084. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  45085. // One or more network interfaces.
  45086. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  45087. // The placement for the instance.
  45088. Placement *Placement `type:"structure"`
  45089. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  45090. // address range of the subnet.
  45091. //
  45092. // Only one private IP address can be designated as primary. You can't specify
  45093. // this option if you've specified the option to designate a private IP address
  45094. // as the primary IP address in a network interface specification. You cannot
  45095. // specify this option if you're launching more than one instance in the request.
  45096. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  45097. // The ID of the RAM disk.
  45098. //
  45099. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  45100. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  45101. // in the Amazon Elastic Compute Cloud User Guide.
  45102. RamdiskId *string `type:"string"`
  45103. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  45104. //
  45105. // Default: Amazon EC2 uses the default security group.
  45106. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  45107. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  45108. // VPC, you must use security group IDs instead.
  45109. //
  45110. // Default: Amazon EC2 uses the default security group.
  45111. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  45112. // [EC2-VPC] The ID of the subnet to launch the instance into.
  45113. SubnetId *string `type:"string"`
  45114. // The tags to apply to the resources during launch. You can tag instances and
  45115. // volumes. The specified tags are applied to all instances or volumes that
  45116. // are created during launch.
  45117. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  45118. // The user data to make available to the instance. For more information, see
  45119. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  45120. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  45121. // (Windows). If you are using an AWS SDK or command line tool, Base64-encoding
  45122. // is performed for you, and you can load the text from a file. Otherwise, you
  45123. // must provide Base64-encoded text.
  45124. UserData *string `type:"string"`
  45125. }
  45126. // String returns the string representation
  45127. func (s RunInstancesInput) String() string {
  45128. return awsutil.Prettify(s)
  45129. }
  45130. // GoString returns the string representation
  45131. func (s RunInstancesInput) GoString() string {
  45132. return s.String()
  45133. }
  45134. // Validate inspects the fields of the type to determine if they are valid.
  45135. func (s *RunInstancesInput) Validate() error {
  45136. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  45137. if s.ImageId == nil {
  45138. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  45139. }
  45140. if s.MaxCount == nil {
  45141. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  45142. }
  45143. if s.MinCount == nil {
  45144. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  45145. }
  45146. if s.ElasticGpuSpecification != nil {
  45147. for i, v := range s.ElasticGpuSpecification {
  45148. if v == nil {
  45149. continue
  45150. }
  45151. if err := v.Validate(); err != nil {
  45152. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
  45153. }
  45154. }
  45155. }
  45156. if s.Monitoring != nil {
  45157. if err := s.Monitoring.Validate(); err != nil {
  45158. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  45159. }
  45160. }
  45161. if s.NetworkInterfaces != nil {
  45162. for i, v := range s.NetworkInterfaces {
  45163. if v == nil {
  45164. continue
  45165. }
  45166. if err := v.Validate(); err != nil {
  45167. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  45168. }
  45169. }
  45170. }
  45171. if invalidParams.Len() > 0 {
  45172. return invalidParams
  45173. }
  45174. return nil
  45175. }
  45176. // SetAdditionalInfo sets the AdditionalInfo field's value.
  45177. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  45178. s.AdditionalInfo = &v
  45179. return s
  45180. }
  45181. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  45182. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  45183. s.BlockDeviceMappings = v
  45184. return s
  45185. }
  45186. // SetClientToken sets the ClientToken field's value.
  45187. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  45188. s.ClientToken = &v
  45189. return s
  45190. }
  45191. // SetDisableApiTermination sets the DisableApiTermination field's value.
  45192. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  45193. s.DisableApiTermination = &v
  45194. return s
  45195. }
  45196. // SetDryRun sets the DryRun field's value.
  45197. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  45198. s.DryRun = &v
  45199. return s
  45200. }
  45201. // SetEbsOptimized sets the EbsOptimized field's value.
  45202. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  45203. s.EbsOptimized = &v
  45204. return s
  45205. }
  45206. // SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
  45207. func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
  45208. s.ElasticGpuSpecification = v
  45209. return s
  45210. }
  45211. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  45212. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  45213. s.IamInstanceProfile = v
  45214. return s
  45215. }
  45216. // SetImageId sets the ImageId field's value.
  45217. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  45218. s.ImageId = &v
  45219. return s
  45220. }
  45221. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  45222. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  45223. s.InstanceInitiatedShutdownBehavior = &v
  45224. return s
  45225. }
  45226. // SetInstanceType sets the InstanceType field's value.
  45227. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  45228. s.InstanceType = &v
  45229. return s
  45230. }
  45231. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  45232. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  45233. s.Ipv6AddressCount = &v
  45234. return s
  45235. }
  45236. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  45237. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  45238. s.Ipv6Addresses = v
  45239. return s
  45240. }
  45241. // SetKernelId sets the KernelId field's value.
  45242. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  45243. s.KernelId = &v
  45244. return s
  45245. }
  45246. // SetKeyName sets the KeyName field's value.
  45247. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  45248. s.KeyName = &v
  45249. return s
  45250. }
  45251. // SetMaxCount sets the MaxCount field's value.
  45252. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  45253. s.MaxCount = &v
  45254. return s
  45255. }
  45256. // SetMinCount sets the MinCount field's value.
  45257. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  45258. s.MinCount = &v
  45259. return s
  45260. }
  45261. // SetMonitoring sets the Monitoring field's value.
  45262. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  45263. s.Monitoring = v
  45264. return s
  45265. }
  45266. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  45267. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  45268. s.NetworkInterfaces = v
  45269. return s
  45270. }
  45271. // SetPlacement sets the Placement field's value.
  45272. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  45273. s.Placement = v
  45274. return s
  45275. }
  45276. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  45277. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  45278. s.PrivateIpAddress = &v
  45279. return s
  45280. }
  45281. // SetRamdiskId sets the RamdiskId field's value.
  45282. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  45283. s.RamdiskId = &v
  45284. return s
  45285. }
  45286. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  45287. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  45288. s.SecurityGroupIds = v
  45289. return s
  45290. }
  45291. // SetSecurityGroups sets the SecurityGroups field's value.
  45292. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  45293. s.SecurityGroups = v
  45294. return s
  45295. }
  45296. // SetSubnetId sets the SubnetId field's value.
  45297. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  45298. s.SubnetId = &v
  45299. return s
  45300. }
  45301. // SetTagSpecifications sets the TagSpecifications field's value.
  45302. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  45303. s.TagSpecifications = v
  45304. return s
  45305. }
  45306. // SetUserData sets the UserData field's value.
  45307. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  45308. s.UserData = &v
  45309. return s
  45310. }
  45311. // Describes the monitoring of an instance.
  45312. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesMonitoringEnabled
  45313. type RunInstancesMonitoringEnabled struct {
  45314. _ struct{} `type:"structure"`
  45315. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  45316. // is enabled.
  45317. //
  45318. // Enabled is a required field
  45319. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  45320. }
  45321. // String returns the string representation
  45322. func (s RunInstancesMonitoringEnabled) String() string {
  45323. return awsutil.Prettify(s)
  45324. }
  45325. // GoString returns the string representation
  45326. func (s RunInstancesMonitoringEnabled) GoString() string {
  45327. return s.String()
  45328. }
  45329. // Validate inspects the fields of the type to determine if they are valid.
  45330. func (s *RunInstancesMonitoringEnabled) Validate() error {
  45331. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  45332. if s.Enabled == nil {
  45333. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  45334. }
  45335. if invalidParams.Len() > 0 {
  45336. return invalidParams
  45337. }
  45338. return nil
  45339. }
  45340. // SetEnabled sets the Enabled field's value.
  45341. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  45342. s.Enabled = &v
  45343. return s
  45344. }
  45345. // Contains the parameters for RunScheduledInstances.
  45346. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesRequest
  45347. type RunScheduledInstancesInput struct {
  45348. _ struct{} `type:"structure"`
  45349. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  45350. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  45351. ClientToken *string `type:"string" idempotencyToken:"true"`
  45352. // Checks whether you have the required permissions for the action, without
  45353. // actually making the request, and provides an error response. If you have
  45354. // the required permissions, the error response is DryRunOperation. Otherwise,
  45355. // it is UnauthorizedOperation.
  45356. DryRun *bool `type:"boolean"`
  45357. // The number of instances.
  45358. //
  45359. // Default: 1
  45360. InstanceCount *int64 `type:"integer"`
  45361. // The launch specification. You must match the instance type, Availability
  45362. // Zone, network, and platform of the schedule that you purchased.
  45363. //
  45364. // LaunchSpecification is a required field
  45365. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  45366. // The Scheduled Instance ID.
  45367. //
  45368. // ScheduledInstanceId is a required field
  45369. ScheduledInstanceId *string `type:"string" required:"true"`
  45370. }
  45371. // String returns the string representation
  45372. func (s RunScheduledInstancesInput) String() string {
  45373. return awsutil.Prettify(s)
  45374. }
  45375. // GoString returns the string representation
  45376. func (s RunScheduledInstancesInput) GoString() string {
  45377. return s.String()
  45378. }
  45379. // Validate inspects the fields of the type to determine if they are valid.
  45380. func (s *RunScheduledInstancesInput) Validate() error {
  45381. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  45382. if s.LaunchSpecification == nil {
  45383. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  45384. }
  45385. if s.ScheduledInstanceId == nil {
  45386. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  45387. }
  45388. if s.LaunchSpecification != nil {
  45389. if err := s.LaunchSpecification.Validate(); err != nil {
  45390. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  45391. }
  45392. }
  45393. if invalidParams.Len() > 0 {
  45394. return invalidParams
  45395. }
  45396. return nil
  45397. }
  45398. // SetClientToken sets the ClientToken field's value.
  45399. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  45400. s.ClientToken = &v
  45401. return s
  45402. }
  45403. // SetDryRun sets the DryRun field's value.
  45404. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  45405. s.DryRun = &v
  45406. return s
  45407. }
  45408. // SetInstanceCount sets the InstanceCount field's value.
  45409. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  45410. s.InstanceCount = &v
  45411. return s
  45412. }
  45413. // SetLaunchSpecification sets the LaunchSpecification field's value.
  45414. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  45415. s.LaunchSpecification = v
  45416. return s
  45417. }
  45418. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  45419. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  45420. s.ScheduledInstanceId = &v
  45421. return s
  45422. }
  45423. // Contains the output of RunScheduledInstances.
  45424. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesResult
  45425. type RunScheduledInstancesOutput struct {
  45426. _ struct{} `type:"structure"`
  45427. // The IDs of the newly launched instances.
  45428. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  45429. }
  45430. // String returns the string representation
  45431. func (s RunScheduledInstancesOutput) String() string {
  45432. return awsutil.Prettify(s)
  45433. }
  45434. // GoString returns the string representation
  45435. func (s RunScheduledInstancesOutput) GoString() string {
  45436. return s.String()
  45437. }
  45438. // SetInstanceIdSet sets the InstanceIdSet field's value.
  45439. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  45440. s.InstanceIdSet = v
  45441. return s
  45442. }
  45443. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  45444. // AMI.
  45445. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/S3Storage
  45446. type S3Storage struct {
  45447. _ struct{} `type:"structure"`
  45448. // The access key ID of the owner of the bucket. Before you specify a value
  45449. // for your access key ID, review and follow the guidance in Best Practices
  45450. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  45451. AWSAccessKeyId *string `type:"string"`
  45452. // The bucket in which to store the AMI. You can specify a bucket that you already
  45453. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  45454. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  45455. Bucket *string `locationName:"bucket" type:"string"`
  45456. // The beginning of the file name of the AMI.
  45457. Prefix *string `locationName:"prefix" type:"string"`
  45458. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  45459. // into Amazon S3 on your behalf.
  45460. //
  45461. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  45462. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  45463. // The signature of the JSON document.
  45464. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  45465. }
  45466. // String returns the string representation
  45467. func (s S3Storage) String() string {
  45468. return awsutil.Prettify(s)
  45469. }
  45470. // GoString returns the string representation
  45471. func (s S3Storage) GoString() string {
  45472. return s.String()
  45473. }
  45474. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  45475. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  45476. s.AWSAccessKeyId = &v
  45477. return s
  45478. }
  45479. // SetBucket sets the Bucket field's value.
  45480. func (s *S3Storage) SetBucket(v string) *S3Storage {
  45481. s.Bucket = &v
  45482. return s
  45483. }
  45484. // SetPrefix sets the Prefix field's value.
  45485. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  45486. s.Prefix = &v
  45487. return s
  45488. }
  45489. // SetUploadPolicy sets the UploadPolicy field's value.
  45490. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  45491. s.UploadPolicy = v
  45492. return s
  45493. }
  45494. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  45495. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  45496. s.UploadPolicySignature = &v
  45497. return s
  45498. }
  45499. // Describes a Scheduled Instance.
  45500. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstance
  45501. type ScheduledInstance struct {
  45502. _ struct{} `type:"structure"`
  45503. // The Availability Zone.
  45504. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  45505. // The date when the Scheduled Instance was purchased.
  45506. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  45507. // The hourly price for a single instance.
  45508. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  45509. // The number of instances.
  45510. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  45511. // The instance type.
  45512. InstanceType *string `locationName:"instanceType" type:"string"`
  45513. // The network platform (EC2-Classic or EC2-VPC).
  45514. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  45515. // The time for the next schedule to start.
  45516. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  45517. // The platform (Linux/UNIX or Windows).
  45518. Platform *string `locationName:"platform" type:"string"`
  45519. // The time that the previous schedule ended or will end.
  45520. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  45521. // The schedule recurrence.
  45522. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  45523. // The Scheduled Instance ID.
  45524. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  45525. // The number of hours in the schedule.
  45526. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  45527. // The end date for the Scheduled Instance.
  45528. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  45529. // The start date for the Scheduled Instance.
  45530. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  45531. // The total number of hours for a single instance for the entire term.
  45532. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  45533. }
  45534. // String returns the string representation
  45535. func (s ScheduledInstance) String() string {
  45536. return awsutil.Prettify(s)
  45537. }
  45538. // GoString returns the string representation
  45539. func (s ScheduledInstance) GoString() string {
  45540. return s.String()
  45541. }
  45542. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45543. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  45544. s.AvailabilityZone = &v
  45545. return s
  45546. }
  45547. // SetCreateDate sets the CreateDate field's value.
  45548. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  45549. s.CreateDate = &v
  45550. return s
  45551. }
  45552. // SetHourlyPrice sets the HourlyPrice field's value.
  45553. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  45554. s.HourlyPrice = &v
  45555. return s
  45556. }
  45557. // SetInstanceCount sets the InstanceCount field's value.
  45558. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  45559. s.InstanceCount = &v
  45560. return s
  45561. }
  45562. // SetInstanceType sets the InstanceType field's value.
  45563. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  45564. s.InstanceType = &v
  45565. return s
  45566. }
  45567. // SetNetworkPlatform sets the NetworkPlatform field's value.
  45568. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  45569. s.NetworkPlatform = &v
  45570. return s
  45571. }
  45572. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  45573. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  45574. s.NextSlotStartTime = &v
  45575. return s
  45576. }
  45577. // SetPlatform sets the Platform field's value.
  45578. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  45579. s.Platform = &v
  45580. return s
  45581. }
  45582. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  45583. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  45584. s.PreviousSlotEndTime = &v
  45585. return s
  45586. }
  45587. // SetRecurrence sets the Recurrence field's value.
  45588. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  45589. s.Recurrence = v
  45590. return s
  45591. }
  45592. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  45593. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  45594. s.ScheduledInstanceId = &v
  45595. return s
  45596. }
  45597. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  45598. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  45599. s.SlotDurationInHours = &v
  45600. return s
  45601. }
  45602. // SetTermEndDate sets the TermEndDate field's value.
  45603. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  45604. s.TermEndDate = &v
  45605. return s
  45606. }
  45607. // SetTermStartDate sets the TermStartDate field's value.
  45608. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  45609. s.TermStartDate = &v
  45610. return s
  45611. }
  45612. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  45613. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  45614. s.TotalScheduledInstanceHours = &v
  45615. return s
  45616. }
  45617. // Describes a schedule that is available for your Scheduled Instances.
  45618. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceAvailability
  45619. type ScheduledInstanceAvailability struct {
  45620. _ struct{} `type:"structure"`
  45621. // The Availability Zone.
  45622. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  45623. // The number of available instances.
  45624. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  45625. // The time period for the first schedule to start.
  45626. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  45627. // The hourly price for a single instance.
  45628. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  45629. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  45630. // types.
  45631. InstanceType *string `locationName:"instanceType" type:"string"`
  45632. // The maximum term. The only possible value is 365 days.
  45633. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  45634. // The minimum term. The only possible value is 365 days.
  45635. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  45636. // The network platform (EC2-Classic or EC2-VPC).
  45637. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  45638. // The platform (Linux/UNIX or Windows).
  45639. Platform *string `locationName:"platform" type:"string"`
  45640. // The purchase token. This token expires in two hours.
  45641. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  45642. // The schedule recurrence.
  45643. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  45644. // The number of hours in the schedule.
  45645. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  45646. // The total number of hours for a single instance for the entire term.
  45647. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  45648. }
  45649. // String returns the string representation
  45650. func (s ScheduledInstanceAvailability) String() string {
  45651. return awsutil.Prettify(s)
  45652. }
  45653. // GoString returns the string representation
  45654. func (s ScheduledInstanceAvailability) GoString() string {
  45655. return s.String()
  45656. }
  45657. // SetAvailabilityZone sets the AvailabilityZone field's value.
  45658. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  45659. s.AvailabilityZone = &v
  45660. return s
  45661. }
  45662. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  45663. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  45664. s.AvailableInstanceCount = &v
  45665. return s
  45666. }
  45667. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  45668. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  45669. s.FirstSlotStartTime = &v
  45670. return s
  45671. }
  45672. // SetHourlyPrice sets the HourlyPrice field's value.
  45673. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  45674. s.HourlyPrice = &v
  45675. return s
  45676. }
  45677. // SetInstanceType sets the InstanceType field's value.
  45678. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  45679. s.InstanceType = &v
  45680. return s
  45681. }
  45682. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  45683. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  45684. s.MaxTermDurationInDays = &v
  45685. return s
  45686. }
  45687. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  45688. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  45689. s.MinTermDurationInDays = &v
  45690. return s
  45691. }
  45692. // SetNetworkPlatform sets the NetworkPlatform field's value.
  45693. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  45694. s.NetworkPlatform = &v
  45695. return s
  45696. }
  45697. // SetPlatform sets the Platform field's value.
  45698. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  45699. s.Platform = &v
  45700. return s
  45701. }
  45702. // SetPurchaseToken sets the PurchaseToken field's value.
  45703. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  45704. s.PurchaseToken = &v
  45705. return s
  45706. }
  45707. // SetRecurrence sets the Recurrence field's value.
  45708. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  45709. s.Recurrence = v
  45710. return s
  45711. }
  45712. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  45713. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  45714. s.SlotDurationInHours = &v
  45715. return s
  45716. }
  45717. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  45718. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  45719. s.TotalScheduledInstanceHours = &v
  45720. return s
  45721. }
  45722. // Describes the recurring schedule for a Scheduled Instance.
  45723. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrence
  45724. type ScheduledInstanceRecurrence struct {
  45725. _ struct{} `type:"structure"`
  45726. // The frequency (Daily, Weekly, or Monthly).
  45727. Frequency *string `locationName:"frequency" type:"string"`
  45728. // The interval quantity. The interval unit depends on the value of frequency.
  45729. // For example, every 2 weeks or every 2 months.
  45730. Interval *int64 `locationName:"interval" type:"integer"`
  45731. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  45732. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  45733. // is Sunday).
  45734. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  45735. // Indicates whether the occurrence is relative to the end of the specified
  45736. // week or month.
  45737. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  45738. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  45739. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  45740. }
  45741. // String returns the string representation
  45742. func (s ScheduledInstanceRecurrence) String() string {
  45743. return awsutil.Prettify(s)
  45744. }
  45745. // GoString returns the string representation
  45746. func (s ScheduledInstanceRecurrence) GoString() string {
  45747. return s.String()
  45748. }
  45749. // SetFrequency sets the Frequency field's value.
  45750. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  45751. s.Frequency = &v
  45752. return s
  45753. }
  45754. // SetInterval sets the Interval field's value.
  45755. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  45756. s.Interval = &v
  45757. return s
  45758. }
  45759. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  45760. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  45761. s.OccurrenceDaySet = v
  45762. return s
  45763. }
  45764. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  45765. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  45766. s.OccurrenceRelativeToEnd = &v
  45767. return s
  45768. }
  45769. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  45770. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  45771. s.OccurrenceUnit = &v
  45772. return s
  45773. }
  45774. // Describes the recurring schedule for a Scheduled Instance.
  45775. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrenceRequest
  45776. type ScheduledInstanceRecurrenceRequest struct {
  45777. _ struct{} `type:"structure"`
  45778. // The frequency (Daily, Weekly, or Monthly).
  45779. Frequency *string `type:"string"`
  45780. // The interval quantity. The interval unit depends on the value of Frequency.
  45781. // For example, every 2 weeks or every 2 months.
  45782. Interval *int64 `type:"integer"`
  45783. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  45784. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  45785. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  45786. // is relative to the end of the month, you can specify only a single day.
  45787. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  45788. // Indicates whether the occurrence is relative to the end of the specified
  45789. // week or month. You can't specify this value with a daily schedule.
  45790. OccurrenceRelativeToEnd *bool `type:"boolean"`
  45791. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  45792. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  45793. // You can't specify this value with a daily schedule.
  45794. OccurrenceUnit *string `type:"string"`
  45795. }
  45796. // String returns the string representation
  45797. func (s ScheduledInstanceRecurrenceRequest) String() string {
  45798. return awsutil.Prettify(s)
  45799. }
  45800. // GoString returns the string representation
  45801. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  45802. return s.String()
  45803. }
  45804. // SetFrequency sets the Frequency field's value.
  45805. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  45806. s.Frequency = &v
  45807. return s
  45808. }
  45809. // SetInterval sets the Interval field's value.
  45810. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  45811. s.Interval = &v
  45812. return s
  45813. }
  45814. // SetOccurrenceDays sets the OccurrenceDays field's value.
  45815. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  45816. s.OccurrenceDays = v
  45817. return s
  45818. }
  45819. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  45820. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  45821. s.OccurrenceRelativeToEnd = &v
  45822. return s
  45823. }
  45824. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  45825. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  45826. s.OccurrenceUnit = &v
  45827. return s
  45828. }
  45829. // Describes a block device mapping for a Scheduled Instance.
  45830. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesBlockDeviceMapping
  45831. type ScheduledInstancesBlockDeviceMapping struct {
  45832. _ struct{} `type:"structure"`
  45833. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  45834. DeviceName *string `type:"string"`
  45835. // Parameters used to set up EBS volumes automatically when the instance is
  45836. // launched.
  45837. Ebs *ScheduledInstancesEbs `type:"structure"`
  45838. // Suppresses the specified device included in the block device mapping of the
  45839. // AMI.
  45840. NoDevice *string `type:"string"`
  45841. // The virtual device name (ephemeralN). Instance store volumes are numbered
  45842. // starting from 0. An instance type with two available instance store volumes
  45843. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  45844. // instance store volumes depends on the instance type. After you connect to
  45845. // the instance, you must mount the volume.
  45846. //
  45847. // Constraints: For M3 instances, you must specify instance store volumes in
  45848. // the block device mapping for the instance. When you launch an M3 instance,
  45849. // we ignore any instance store volumes specified in the block device mapping
  45850. // for the AMI.
  45851. VirtualName *string `type:"string"`
  45852. }
  45853. // String returns the string representation
  45854. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  45855. return awsutil.Prettify(s)
  45856. }
  45857. // GoString returns the string representation
  45858. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  45859. return s.String()
  45860. }
  45861. // SetDeviceName sets the DeviceName field's value.
  45862. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  45863. s.DeviceName = &v
  45864. return s
  45865. }
  45866. // SetEbs sets the Ebs field's value.
  45867. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  45868. s.Ebs = v
  45869. return s
  45870. }
  45871. // SetNoDevice sets the NoDevice field's value.
  45872. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  45873. s.NoDevice = &v
  45874. return s
  45875. }
  45876. // SetVirtualName sets the VirtualName field's value.
  45877. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  45878. s.VirtualName = &v
  45879. return s
  45880. }
  45881. // Describes an EBS volume for a Scheduled Instance.
  45882. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesEbs
  45883. type ScheduledInstancesEbs struct {
  45884. _ struct{} `type:"structure"`
  45885. // Indicates whether the volume is deleted on instance termination.
  45886. DeleteOnTermination *bool `type:"boolean"`
  45887. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  45888. // only to instances that support them.
  45889. Encrypted *bool `type:"boolean"`
  45890. // The number of I/O operations per second (IOPS) that the volume supports.
  45891. // For io1 volumes, this represents the number of IOPS that are provisioned
  45892. // for the volume. For gp2 volumes, this represents the baseline performance
  45893. // of the volume and the rate at which the volume accumulates I/O credits for
  45894. // bursting. For more information about gp2 baseline performance, I/O credits,
  45895. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  45896. // in the Amazon Elastic Compute Cloud User Guide.
  45897. //
  45898. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  45899. // gp2 volumes.
  45900. //
  45901. // Condition: This parameter is required for requests to create io1volumes;
  45902. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  45903. Iops *int64 `type:"integer"`
  45904. // The ID of the snapshot.
  45905. SnapshotId *string `type:"string"`
  45906. // The size of the volume, in GiB.
  45907. //
  45908. // Default: If you're creating the volume from a snapshot and don't specify
  45909. // a volume size, the default is the snapshot size.
  45910. VolumeSize *int64 `type:"integer"`
  45911. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  45912. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  45913. //
  45914. // Default: standard
  45915. VolumeType *string `type:"string"`
  45916. }
  45917. // String returns the string representation
  45918. func (s ScheduledInstancesEbs) String() string {
  45919. return awsutil.Prettify(s)
  45920. }
  45921. // GoString returns the string representation
  45922. func (s ScheduledInstancesEbs) GoString() string {
  45923. return s.String()
  45924. }
  45925. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  45926. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  45927. s.DeleteOnTermination = &v
  45928. return s
  45929. }
  45930. // SetEncrypted sets the Encrypted field's value.
  45931. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  45932. s.Encrypted = &v
  45933. return s
  45934. }
  45935. // SetIops sets the Iops field's value.
  45936. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  45937. s.Iops = &v
  45938. return s
  45939. }
  45940. // SetSnapshotId sets the SnapshotId field's value.
  45941. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  45942. s.SnapshotId = &v
  45943. return s
  45944. }
  45945. // SetVolumeSize sets the VolumeSize field's value.
  45946. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  45947. s.VolumeSize = &v
  45948. return s
  45949. }
  45950. // SetVolumeType sets the VolumeType field's value.
  45951. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  45952. s.VolumeType = &v
  45953. return s
  45954. }
  45955. // Describes an IAM instance profile for a Scheduled Instance.
  45956. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIamInstanceProfile
  45957. type ScheduledInstancesIamInstanceProfile struct {
  45958. _ struct{} `type:"structure"`
  45959. // The Amazon Resource Name (ARN).
  45960. Arn *string `type:"string"`
  45961. // The name.
  45962. Name *string `type:"string"`
  45963. }
  45964. // String returns the string representation
  45965. func (s ScheduledInstancesIamInstanceProfile) String() string {
  45966. return awsutil.Prettify(s)
  45967. }
  45968. // GoString returns the string representation
  45969. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  45970. return s.String()
  45971. }
  45972. // SetArn sets the Arn field's value.
  45973. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  45974. s.Arn = &v
  45975. return s
  45976. }
  45977. // SetName sets the Name field's value.
  45978. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  45979. s.Name = &v
  45980. return s
  45981. }
  45982. // Describes an IPv6 address.
  45983. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIpv6Address
  45984. type ScheduledInstancesIpv6Address struct {
  45985. _ struct{} `type:"structure"`
  45986. // The IPv6 address.
  45987. Ipv6Address *string `type:"string"`
  45988. }
  45989. // String returns the string representation
  45990. func (s ScheduledInstancesIpv6Address) String() string {
  45991. return awsutil.Prettify(s)
  45992. }
  45993. // GoString returns the string representation
  45994. func (s ScheduledInstancesIpv6Address) GoString() string {
  45995. return s.String()
  45996. }
  45997. // SetIpv6Address sets the Ipv6Address field's value.
  45998. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  45999. s.Ipv6Address = &v
  46000. return s
  46001. }
  46002. // Describes the launch specification for a Scheduled Instance.
  46003. //
  46004. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  46005. // the ID of the subnet. You can specify the subnet using either SubnetId or
  46006. // NetworkInterface.
  46007. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesLaunchSpecification
  46008. type ScheduledInstancesLaunchSpecification struct {
  46009. _ struct{} `type:"structure"`
  46010. // One or more block device mapping entries.
  46011. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  46012. // Indicates whether the instances are optimized for EBS I/O. This optimization
  46013. // provides dedicated throughput to Amazon EBS and an optimized configuration
  46014. // stack to provide optimal EBS I/O performance. This optimization isn't available
  46015. // with all instance types. Additional usage charges apply when using an EBS-optimized
  46016. // instance.
  46017. //
  46018. // Default: false
  46019. EbsOptimized *bool `type:"boolean"`
  46020. // The IAM instance profile.
  46021. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  46022. // The ID of the Amazon Machine Image (AMI).
  46023. //
  46024. // ImageId is a required field
  46025. ImageId *string `type:"string" required:"true"`
  46026. // The instance type.
  46027. InstanceType *string `type:"string"`
  46028. // The ID of the kernel.
  46029. KernelId *string `type:"string"`
  46030. // The name of the key pair.
  46031. KeyName *string `type:"string"`
  46032. // Enable or disable monitoring for the instances.
  46033. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  46034. // One or more network interfaces.
  46035. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  46036. // The placement information.
  46037. Placement *ScheduledInstancesPlacement `type:"structure"`
  46038. // The ID of the RAM disk.
  46039. RamdiskId *string `type:"string"`
  46040. // The IDs of one or more security groups.
  46041. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  46042. // The ID of the subnet in which to launch the instances.
  46043. SubnetId *string `type:"string"`
  46044. // The base64-encoded MIME user data.
  46045. UserData *string `type:"string"`
  46046. }
  46047. // String returns the string representation
  46048. func (s ScheduledInstancesLaunchSpecification) String() string {
  46049. return awsutil.Prettify(s)
  46050. }
  46051. // GoString returns the string representation
  46052. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  46053. return s.String()
  46054. }
  46055. // Validate inspects the fields of the type to determine if they are valid.
  46056. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  46057. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  46058. if s.ImageId == nil {
  46059. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  46060. }
  46061. if invalidParams.Len() > 0 {
  46062. return invalidParams
  46063. }
  46064. return nil
  46065. }
  46066. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  46067. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  46068. s.BlockDeviceMappings = v
  46069. return s
  46070. }
  46071. // SetEbsOptimized sets the EbsOptimized field's value.
  46072. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  46073. s.EbsOptimized = &v
  46074. return s
  46075. }
  46076. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  46077. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  46078. s.IamInstanceProfile = v
  46079. return s
  46080. }
  46081. // SetImageId sets the ImageId field's value.
  46082. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  46083. s.ImageId = &v
  46084. return s
  46085. }
  46086. // SetInstanceType sets the InstanceType field's value.
  46087. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  46088. s.InstanceType = &v
  46089. return s
  46090. }
  46091. // SetKernelId sets the KernelId field's value.
  46092. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  46093. s.KernelId = &v
  46094. return s
  46095. }
  46096. // SetKeyName sets the KeyName field's value.
  46097. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  46098. s.KeyName = &v
  46099. return s
  46100. }
  46101. // SetMonitoring sets the Monitoring field's value.
  46102. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  46103. s.Monitoring = v
  46104. return s
  46105. }
  46106. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  46107. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  46108. s.NetworkInterfaces = v
  46109. return s
  46110. }
  46111. // SetPlacement sets the Placement field's value.
  46112. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  46113. s.Placement = v
  46114. return s
  46115. }
  46116. // SetRamdiskId sets the RamdiskId field's value.
  46117. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  46118. s.RamdiskId = &v
  46119. return s
  46120. }
  46121. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  46122. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  46123. s.SecurityGroupIds = v
  46124. return s
  46125. }
  46126. // SetSubnetId sets the SubnetId field's value.
  46127. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  46128. s.SubnetId = &v
  46129. return s
  46130. }
  46131. // SetUserData sets the UserData field's value.
  46132. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  46133. s.UserData = &v
  46134. return s
  46135. }
  46136. // Describes whether monitoring is enabled for a Scheduled Instance.
  46137. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesMonitoring
  46138. type ScheduledInstancesMonitoring struct {
  46139. _ struct{} `type:"structure"`
  46140. // Indicates whether monitoring is enabled.
  46141. Enabled *bool `type:"boolean"`
  46142. }
  46143. // String returns the string representation
  46144. func (s ScheduledInstancesMonitoring) String() string {
  46145. return awsutil.Prettify(s)
  46146. }
  46147. // GoString returns the string representation
  46148. func (s ScheduledInstancesMonitoring) GoString() string {
  46149. return s.String()
  46150. }
  46151. // SetEnabled sets the Enabled field's value.
  46152. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  46153. s.Enabled = &v
  46154. return s
  46155. }
  46156. // Describes a network interface for a Scheduled Instance.
  46157. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesNetworkInterface
  46158. type ScheduledInstancesNetworkInterface struct {
  46159. _ struct{} `type:"structure"`
  46160. // Indicates whether to assign a public IPv4 address to instances launched in
  46161. // a VPC. The public IPv4 address can only be assigned to a network interface
  46162. // for eth0, and can only be assigned to a new network interface, not an existing
  46163. // one. You cannot specify more than one network interface in the request. If
  46164. // launching into a default subnet, the default value is true.
  46165. AssociatePublicIpAddress *bool `type:"boolean"`
  46166. // Indicates whether to delete the interface when the instance is terminated.
  46167. DeleteOnTermination *bool `type:"boolean"`
  46168. // The description.
  46169. Description *string `type:"string"`
  46170. // The index of the device for the network interface attachment.
  46171. DeviceIndex *int64 `type:"integer"`
  46172. // The IDs of one or more security groups.
  46173. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  46174. // The number of IPv6 addresses to assign to the network interface. The IPv6
  46175. // addresses are automatically selected from the subnet range.
  46176. Ipv6AddressCount *int64 `type:"integer"`
  46177. // One or more specific IPv6 addresses from the subnet range.
  46178. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  46179. // The ID of the network interface.
  46180. NetworkInterfaceId *string `type:"string"`
  46181. // The IPv4 address of the network interface within the subnet.
  46182. PrivateIpAddress *string `type:"string"`
  46183. // The private IPv4 addresses.
  46184. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  46185. // The number of secondary private IPv4 addresses.
  46186. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  46187. // The ID of the subnet.
  46188. SubnetId *string `type:"string"`
  46189. }
  46190. // String returns the string representation
  46191. func (s ScheduledInstancesNetworkInterface) String() string {
  46192. return awsutil.Prettify(s)
  46193. }
  46194. // GoString returns the string representation
  46195. func (s ScheduledInstancesNetworkInterface) GoString() string {
  46196. return s.String()
  46197. }
  46198. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  46199. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  46200. s.AssociatePublicIpAddress = &v
  46201. return s
  46202. }
  46203. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  46204. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  46205. s.DeleteOnTermination = &v
  46206. return s
  46207. }
  46208. // SetDescription sets the Description field's value.
  46209. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  46210. s.Description = &v
  46211. return s
  46212. }
  46213. // SetDeviceIndex sets the DeviceIndex field's value.
  46214. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  46215. s.DeviceIndex = &v
  46216. return s
  46217. }
  46218. // SetGroups sets the Groups field's value.
  46219. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  46220. s.Groups = v
  46221. return s
  46222. }
  46223. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  46224. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  46225. s.Ipv6AddressCount = &v
  46226. return s
  46227. }
  46228. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  46229. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  46230. s.Ipv6Addresses = v
  46231. return s
  46232. }
  46233. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  46234. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  46235. s.NetworkInterfaceId = &v
  46236. return s
  46237. }
  46238. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  46239. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  46240. s.PrivateIpAddress = &v
  46241. return s
  46242. }
  46243. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  46244. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  46245. s.PrivateIpAddressConfigs = v
  46246. return s
  46247. }
  46248. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  46249. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  46250. s.SecondaryPrivateIpAddressCount = &v
  46251. return s
  46252. }
  46253. // SetSubnetId sets the SubnetId field's value.
  46254. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  46255. s.SubnetId = &v
  46256. return s
  46257. }
  46258. // Describes the placement for a Scheduled Instance.
  46259. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPlacement
  46260. type ScheduledInstancesPlacement struct {
  46261. _ struct{} `type:"structure"`
  46262. // The Availability Zone.
  46263. AvailabilityZone *string `type:"string"`
  46264. // The name of the placement group.
  46265. GroupName *string `type:"string"`
  46266. }
  46267. // String returns the string representation
  46268. func (s ScheduledInstancesPlacement) String() string {
  46269. return awsutil.Prettify(s)
  46270. }
  46271. // GoString returns the string representation
  46272. func (s ScheduledInstancesPlacement) GoString() string {
  46273. return s.String()
  46274. }
  46275. // SetAvailabilityZone sets the AvailabilityZone field's value.
  46276. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  46277. s.AvailabilityZone = &v
  46278. return s
  46279. }
  46280. // SetGroupName sets the GroupName field's value.
  46281. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  46282. s.GroupName = &v
  46283. return s
  46284. }
  46285. // Describes a private IPv4 address for a Scheduled Instance.
  46286. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPrivateIpAddressConfig
  46287. type ScheduledInstancesPrivateIpAddressConfig struct {
  46288. _ struct{} `type:"structure"`
  46289. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  46290. // IPv4 address.
  46291. Primary *bool `type:"boolean"`
  46292. // The IPv4 address.
  46293. PrivateIpAddress *string `type:"string"`
  46294. }
  46295. // String returns the string representation
  46296. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  46297. return awsutil.Prettify(s)
  46298. }
  46299. // GoString returns the string representation
  46300. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  46301. return s.String()
  46302. }
  46303. // SetPrimary sets the Primary field's value.
  46304. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  46305. s.Primary = &v
  46306. return s
  46307. }
  46308. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  46309. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  46310. s.PrivateIpAddress = &v
  46311. return s
  46312. }
  46313. // Describes a security group
  46314. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroup
  46315. type SecurityGroup struct {
  46316. _ struct{} `type:"structure"`
  46317. // A description of the security group.
  46318. Description *string `locationName:"groupDescription" type:"string"`
  46319. // The ID of the security group.
  46320. GroupId *string `locationName:"groupId" type:"string"`
  46321. // The name of the security group.
  46322. GroupName *string `locationName:"groupName" type:"string"`
  46323. // One or more inbound rules associated with the security group.
  46324. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  46325. // [EC2-VPC] One or more outbound rules associated with the security group.
  46326. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  46327. // The AWS account ID of the owner of the security group.
  46328. OwnerId *string `locationName:"ownerId" type:"string"`
  46329. // Any tags assigned to the security group.
  46330. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  46331. // [EC2-VPC] The ID of the VPC for the security group.
  46332. VpcId *string `locationName:"vpcId" type:"string"`
  46333. }
  46334. // String returns the string representation
  46335. func (s SecurityGroup) String() string {
  46336. return awsutil.Prettify(s)
  46337. }
  46338. // GoString returns the string representation
  46339. func (s SecurityGroup) GoString() string {
  46340. return s.String()
  46341. }
  46342. // SetDescription sets the Description field's value.
  46343. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  46344. s.Description = &v
  46345. return s
  46346. }
  46347. // SetGroupId sets the GroupId field's value.
  46348. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  46349. s.GroupId = &v
  46350. return s
  46351. }
  46352. // SetGroupName sets the GroupName field's value.
  46353. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  46354. s.GroupName = &v
  46355. return s
  46356. }
  46357. // SetIpPermissions sets the IpPermissions field's value.
  46358. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  46359. s.IpPermissions = v
  46360. return s
  46361. }
  46362. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  46363. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  46364. s.IpPermissionsEgress = v
  46365. return s
  46366. }
  46367. // SetOwnerId sets the OwnerId field's value.
  46368. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  46369. s.OwnerId = &v
  46370. return s
  46371. }
  46372. // SetTags sets the Tags field's value.
  46373. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  46374. s.Tags = v
  46375. return s
  46376. }
  46377. // SetVpcId sets the VpcId field's value.
  46378. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  46379. s.VpcId = &v
  46380. return s
  46381. }
  46382. // Describes a VPC with a security group that references your security group.
  46383. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupReference
  46384. type SecurityGroupReference struct {
  46385. _ struct{} `type:"structure"`
  46386. // The ID of your security group.
  46387. //
  46388. // GroupId is a required field
  46389. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  46390. // The ID of the VPC with the referencing security group.
  46391. //
  46392. // ReferencingVpcId is a required field
  46393. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  46394. // The ID of the VPC peering connection.
  46395. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  46396. }
  46397. // String returns the string representation
  46398. func (s SecurityGroupReference) String() string {
  46399. return awsutil.Prettify(s)
  46400. }
  46401. // GoString returns the string representation
  46402. func (s SecurityGroupReference) GoString() string {
  46403. return s.String()
  46404. }
  46405. // SetGroupId sets the GroupId field's value.
  46406. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  46407. s.GroupId = &v
  46408. return s
  46409. }
  46410. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  46411. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  46412. s.ReferencingVpcId = &v
  46413. return s
  46414. }
  46415. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  46416. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  46417. s.VpcPeeringConnectionId = &v
  46418. return s
  46419. }
  46420. // Describes the time period for a Scheduled Instance to start its first schedule.
  46421. // The time period must span less than one day.
  46422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotDateTimeRangeRequest
  46423. type SlotDateTimeRangeRequest struct {
  46424. _ struct{} `type:"structure"`
  46425. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  46426. //
  46427. // EarliestTime is a required field
  46428. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  46429. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  46430. // value must be later than or equal to the earliest date and at most three
  46431. // months in the future.
  46432. //
  46433. // LatestTime is a required field
  46434. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  46435. }
  46436. // String returns the string representation
  46437. func (s SlotDateTimeRangeRequest) String() string {
  46438. return awsutil.Prettify(s)
  46439. }
  46440. // GoString returns the string representation
  46441. func (s SlotDateTimeRangeRequest) GoString() string {
  46442. return s.String()
  46443. }
  46444. // Validate inspects the fields of the type to determine if they are valid.
  46445. func (s *SlotDateTimeRangeRequest) Validate() error {
  46446. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  46447. if s.EarliestTime == nil {
  46448. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  46449. }
  46450. if s.LatestTime == nil {
  46451. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  46452. }
  46453. if invalidParams.Len() > 0 {
  46454. return invalidParams
  46455. }
  46456. return nil
  46457. }
  46458. // SetEarliestTime sets the EarliestTime field's value.
  46459. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  46460. s.EarliestTime = &v
  46461. return s
  46462. }
  46463. // SetLatestTime sets the LatestTime field's value.
  46464. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  46465. s.LatestTime = &v
  46466. return s
  46467. }
  46468. // Describes the time period for a Scheduled Instance to start its first schedule.
  46469. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotStartTimeRangeRequest
  46470. type SlotStartTimeRangeRequest struct {
  46471. _ struct{} `type:"structure"`
  46472. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  46473. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  46474. // The latest date and time, in UTC, for the Scheduled Instance to start.
  46475. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  46476. }
  46477. // String returns the string representation
  46478. func (s SlotStartTimeRangeRequest) String() string {
  46479. return awsutil.Prettify(s)
  46480. }
  46481. // GoString returns the string representation
  46482. func (s SlotStartTimeRangeRequest) GoString() string {
  46483. return s.String()
  46484. }
  46485. // SetEarliestTime sets the EarliestTime field's value.
  46486. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  46487. s.EarliestTime = &v
  46488. return s
  46489. }
  46490. // SetLatestTime sets the LatestTime field's value.
  46491. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  46492. s.LatestTime = &v
  46493. return s
  46494. }
  46495. // Describes a snapshot.
  46496. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Snapshot
  46497. type Snapshot struct {
  46498. _ struct{} `type:"structure"`
  46499. // The data encryption key identifier for the snapshot. This value is a unique
  46500. // identifier that corresponds to the data encryption key that was used to encrypt
  46501. // the original volume or snapshot copy. Because data encryption keys are inherited
  46502. // by volumes created from snapshots, and vice versa, if snapshots share the
  46503. // same data encryption key identifier, then they belong to the same volume/snapshot
  46504. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  46505. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  46506. // The description for the snapshot.
  46507. Description *string `locationName:"description" type:"string"`
  46508. // Indicates whether the snapshot is encrypted.
  46509. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  46510. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  46511. // key (CMK) that was used to protect the volume encryption key for the parent
  46512. // volume.
  46513. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  46514. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  46515. // of snapshot owners. Not to be confused with the user-configured AWS account
  46516. // alias, which is set from the IAM console.
  46517. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  46518. // The AWS account ID of the EBS snapshot owner.
  46519. OwnerId *string `locationName:"ownerId" type:"string"`
  46520. // The progress of the snapshot, as a percentage.
  46521. Progress *string `locationName:"progress" type:"string"`
  46522. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  46523. // is created.
  46524. SnapshotId *string `locationName:"snapshotId" type:"string"`
  46525. // The time stamp when the snapshot was initiated.
  46526. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  46527. // The snapshot state.
  46528. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  46529. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  46530. // operation fails (for example, if the proper AWS Key Management Service (AWS
  46531. // KMS) permissions are not obtained) this field displays error state details
  46532. // to help you diagnose why the error occurred. This parameter is only returned
  46533. // by the DescribeSnapshots API operation.
  46534. StateMessage *string `locationName:"statusMessage" type:"string"`
  46535. // Any tags assigned to the snapshot.
  46536. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  46537. // The ID of the volume that was used to create the snapshot. Snapshots created
  46538. // by the CopySnapshot action have an arbitrary volume ID that should not be
  46539. // used for any purpose.
  46540. VolumeId *string `locationName:"volumeId" type:"string"`
  46541. // The size of the volume, in GiB.
  46542. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  46543. }
  46544. // String returns the string representation
  46545. func (s Snapshot) String() string {
  46546. return awsutil.Prettify(s)
  46547. }
  46548. // GoString returns the string representation
  46549. func (s Snapshot) GoString() string {
  46550. return s.String()
  46551. }
  46552. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  46553. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  46554. s.DataEncryptionKeyId = &v
  46555. return s
  46556. }
  46557. // SetDescription sets the Description field's value.
  46558. func (s *Snapshot) SetDescription(v string) *Snapshot {
  46559. s.Description = &v
  46560. return s
  46561. }
  46562. // SetEncrypted sets the Encrypted field's value.
  46563. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  46564. s.Encrypted = &v
  46565. return s
  46566. }
  46567. // SetKmsKeyId sets the KmsKeyId field's value.
  46568. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  46569. s.KmsKeyId = &v
  46570. return s
  46571. }
  46572. // SetOwnerAlias sets the OwnerAlias field's value.
  46573. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  46574. s.OwnerAlias = &v
  46575. return s
  46576. }
  46577. // SetOwnerId sets the OwnerId field's value.
  46578. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  46579. s.OwnerId = &v
  46580. return s
  46581. }
  46582. // SetProgress sets the Progress field's value.
  46583. func (s *Snapshot) SetProgress(v string) *Snapshot {
  46584. s.Progress = &v
  46585. return s
  46586. }
  46587. // SetSnapshotId sets the SnapshotId field's value.
  46588. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  46589. s.SnapshotId = &v
  46590. return s
  46591. }
  46592. // SetStartTime sets the StartTime field's value.
  46593. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  46594. s.StartTime = &v
  46595. return s
  46596. }
  46597. // SetState sets the State field's value.
  46598. func (s *Snapshot) SetState(v string) *Snapshot {
  46599. s.State = &v
  46600. return s
  46601. }
  46602. // SetStateMessage sets the StateMessage field's value.
  46603. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  46604. s.StateMessage = &v
  46605. return s
  46606. }
  46607. // SetTags sets the Tags field's value.
  46608. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  46609. s.Tags = v
  46610. return s
  46611. }
  46612. // SetVolumeId sets the VolumeId field's value.
  46613. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  46614. s.VolumeId = &v
  46615. return s
  46616. }
  46617. // SetVolumeSize sets the VolumeSize field's value.
  46618. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  46619. s.VolumeSize = &v
  46620. return s
  46621. }
  46622. // Describes the snapshot created from the imported disk.
  46623. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDetail
  46624. type SnapshotDetail struct {
  46625. _ struct{} `type:"structure"`
  46626. // A description for the snapshot.
  46627. Description *string `locationName:"description" type:"string"`
  46628. // The block device mapping for the snapshot.
  46629. DeviceName *string `locationName:"deviceName" type:"string"`
  46630. // The size of the disk in the snapshot, in GiB.
  46631. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  46632. // The format of the disk image from which the snapshot is created.
  46633. Format *string `locationName:"format" type:"string"`
  46634. // The percentage of progress for the task.
  46635. Progress *string `locationName:"progress" type:"string"`
  46636. // The snapshot ID of the disk being imported.
  46637. SnapshotId *string `locationName:"snapshotId" type:"string"`
  46638. // A brief status of the snapshot creation.
  46639. Status *string `locationName:"status" type:"string"`
  46640. // A detailed status message for the snapshot creation.
  46641. StatusMessage *string `locationName:"statusMessage" type:"string"`
  46642. // The URL used to access the disk image.
  46643. Url *string `locationName:"url" type:"string"`
  46644. // The S3 bucket for the disk image.
  46645. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  46646. }
  46647. // String returns the string representation
  46648. func (s SnapshotDetail) String() string {
  46649. return awsutil.Prettify(s)
  46650. }
  46651. // GoString returns the string representation
  46652. func (s SnapshotDetail) GoString() string {
  46653. return s.String()
  46654. }
  46655. // SetDescription sets the Description field's value.
  46656. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  46657. s.Description = &v
  46658. return s
  46659. }
  46660. // SetDeviceName sets the DeviceName field's value.
  46661. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  46662. s.DeviceName = &v
  46663. return s
  46664. }
  46665. // SetDiskImageSize sets the DiskImageSize field's value.
  46666. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  46667. s.DiskImageSize = &v
  46668. return s
  46669. }
  46670. // SetFormat sets the Format field's value.
  46671. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  46672. s.Format = &v
  46673. return s
  46674. }
  46675. // SetProgress sets the Progress field's value.
  46676. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  46677. s.Progress = &v
  46678. return s
  46679. }
  46680. // SetSnapshotId sets the SnapshotId field's value.
  46681. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  46682. s.SnapshotId = &v
  46683. return s
  46684. }
  46685. // SetStatus sets the Status field's value.
  46686. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  46687. s.Status = &v
  46688. return s
  46689. }
  46690. // SetStatusMessage sets the StatusMessage field's value.
  46691. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  46692. s.StatusMessage = &v
  46693. return s
  46694. }
  46695. // SetUrl sets the Url field's value.
  46696. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  46697. s.Url = &v
  46698. return s
  46699. }
  46700. // SetUserBucket sets the UserBucket field's value.
  46701. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  46702. s.UserBucket = v
  46703. return s
  46704. }
  46705. // The disk container object for the import snapshot request.
  46706. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDiskContainer
  46707. type SnapshotDiskContainer struct {
  46708. _ struct{} `type:"structure"`
  46709. // The description of the disk image being imported.
  46710. Description *string `type:"string"`
  46711. // The format of the disk image being imported.
  46712. //
  46713. // Valid values: RAW | VHD | VMDK | OVA
  46714. Format *string `type:"string"`
  46715. // The URL to the Amazon S3-based disk image being imported. It can either be
  46716. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  46717. Url *string `type:"string"`
  46718. // The S3 bucket for the disk image.
  46719. UserBucket *UserBucket `type:"structure"`
  46720. }
  46721. // String returns the string representation
  46722. func (s SnapshotDiskContainer) String() string {
  46723. return awsutil.Prettify(s)
  46724. }
  46725. // GoString returns the string representation
  46726. func (s SnapshotDiskContainer) GoString() string {
  46727. return s.String()
  46728. }
  46729. // SetDescription sets the Description field's value.
  46730. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  46731. s.Description = &v
  46732. return s
  46733. }
  46734. // SetFormat sets the Format field's value.
  46735. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  46736. s.Format = &v
  46737. return s
  46738. }
  46739. // SetUrl sets the Url field's value.
  46740. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  46741. s.Url = &v
  46742. return s
  46743. }
  46744. // SetUserBucket sets the UserBucket field's value.
  46745. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  46746. s.UserBucket = v
  46747. return s
  46748. }
  46749. // Details about the import snapshot task.
  46750. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotTaskDetail
  46751. type SnapshotTaskDetail struct {
  46752. _ struct{} `type:"structure"`
  46753. // The description of the snapshot.
  46754. Description *string `locationName:"description" type:"string"`
  46755. // The size of the disk in the snapshot, in GiB.
  46756. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  46757. // The format of the disk image from which the snapshot is created.
  46758. Format *string `locationName:"format" type:"string"`
  46759. // The percentage of completion for the import snapshot task.
  46760. Progress *string `locationName:"progress" type:"string"`
  46761. // The snapshot ID of the disk being imported.
  46762. SnapshotId *string `locationName:"snapshotId" type:"string"`
  46763. // A brief status for the import snapshot task.
  46764. Status *string `locationName:"status" type:"string"`
  46765. // A detailed status message for the import snapshot task.
  46766. StatusMessage *string `locationName:"statusMessage" type:"string"`
  46767. // The URL of the disk image from which the snapshot is created.
  46768. Url *string `locationName:"url" type:"string"`
  46769. // The S3 bucket for the disk image.
  46770. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  46771. }
  46772. // String returns the string representation
  46773. func (s SnapshotTaskDetail) String() string {
  46774. return awsutil.Prettify(s)
  46775. }
  46776. // GoString returns the string representation
  46777. func (s SnapshotTaskDetail) GoString() string {
  46778. return s.String()
  46779. }
  46780. // SetDescription sets the Description field's value.
  46781. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  46782. s.Description = &v
  46783. return s
  46784. }
  46785. // SetDiskImageSize sets the DiskImageSize field's value.
  46786. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  46787. s.DiskImageSize = &v
  46788. return s
  46789. }
  46790. // SetFormat sets the Format field's value.
  46791. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  46792. s.Format = &v
  46793. return s
  46794. }
  46795. // SetProgress sets the Progress field's value.
  46796. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  46797. s.Progress = &v
  46798. return s
  46799. }
  46800. // SetSnapshotId sets the SnapshotId field's value.
  46801. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  46802. s.SnapshotId = &v
  46803. return s
  46804. }
  46805. // SetStatus sets the Status field's value.
  46806. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  46807. s.Status = &v
  46808. return s
  46809. }
  46810. // SetStatusMessage sets the StatusMessage field's value.
  46811. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  46812. s.StatusMessage = &v
  46813. return s
  46814. }
  46815. // SetUrl sets the Url field's value.
  46816. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  46817. s.Url = &v
  46818. return s
  46819. }
  46820. // SetUserBucket sets the UserBucket field's value.
  46821. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  46822. s.UserBucket = v
  46823. return s
  46824. }
  46825. // Describes the data feed for a Spot instance.
  46826. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotDatafeedSubscription
  46827. type SpotDatafeedSubscription struct {
  46828. _ struct{} `type:"structure"`
  46829. // The Amazon S3 bucket where the Spot instance data feed is located.
  46830. Bucket *string `locationName:"bucket" type:"string"`
  46831. // The fault codes for the Spot instance request, if any.
  46832. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  46833. // The AWS account ID of the account.
  46834. OwnerId *string `locationName:"ownerId" type:"string"`
  46835. // The prefix that is prepended to data feed files.
  46836. Prefix *string `locationName:"prefix" type:"string"`
  46837. // The state of the Spot instance data feed subscription.
  46838. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  46839. }
  46840. // String returns the string representation
  46841. func (s SpotDatafeedSubscription) String() string {
  46842. return awsutil.Prettify(s)
  46843. }
  46844. // GoString returns the string representation
  46845. func (s SpotDatafeedSubscription) GoString() string {
  46846. return s.String()
  46847. }
  46848. // SetBucket sets the Bucket field's value.
  46849. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  46850. s.Bucket = &v
  46851. return s
  46852. }
  46853. // SetFault sets the Fault field's value.
  46854. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  46855. s.Fault = v
  46856. return s
  46857. }
  46858. // SetOwnerId sets the OwnerId field's value.
  46859. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  46860. s.OwnerId = &v
  46861. return s
  46862. }
  46863. // SetPrefix sets the Prefix field's value.
  46864. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  46865. s.Prefix = &v
  46866. return s
  46867. }
  46868. // SetState sets the State field's value.
  46869. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  46870. s.State = &v
  46871. return s
  46872. }
  46873. // Describes the launch specification for one or more Spot instances.
  46874. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetLaunchSpecification
  46875. type SpotFleetLaunchSpecification struct {
  46876. _ struct{} `type:"structure"`
  46877. // Deprecated.
  46878. AddressingType *string `locationName:"addressingType" type:"string"`
  46879. // One or more block device mapping entries.
  46880. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  46881. // Indicates whether the instances are optimized for EBS I/O. This optimization
  46882. // provides dedicated throughput to Amazon EBS and an optimized configuration
  46883. // stack to provide optimal EBS I/O performance. This optimization isn't available
  46884. // with all instance types. Additional usage charges apply when using an EBS
  46885. // Optimized instance.
  46886. //
  46887. // Default: false
  46888. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  46889. // The IAM instance profile.
  46890. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  46891. // The ID of the AMI.
  46892. ImageId *string `locationName:"imageId" type:"string"`
  46893. // The instance type. Note that T2 and HS1 instance types are not supported.
  46894. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  46895. // The ID of the kernel.
  46896. KernelId *string `locationName:"kernelId" type:"string"`
  46897. // The name of the key pair.
  46898. KeyName *string `locationName:"keyName" type:"string"`
  46899. // Enable or disable monitoring for the instances.
  46900. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  46901. // One or more network interfaces. If you specify a network interface, you must
  46902. // specify subnet IDs and security group IDs using the network interface.
  46903. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  46904. // The placement information.
  46905. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  46906. // The ID of the RAM disk.
  46907. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  46908. // One or more security groups. When requesting instances in a VPC, you must
  46909. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  46910. // you can specify the names or the IDs of the security groups.
  46911. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  46912. // The bid price per unit hour for the specified instance type. If this value
  46913. // is not specified, the default is the Spot bid price specified for the fleet.
  46914. // To determine the bid price per unit hour, divide the Spot bid price by the
  46915. // value of WeightedCapacity.
  46916. SpotPrice *string `locationName:"spotPrice" type:"string"`
  46917. // The ID of the subnet in which to launch the instances. To specify multiple
  46918. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  46919. SubnetId *string `locationName:"subnetId" type:"string"`
  46920. // The tags to apply during creation.
  46921. TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
  46922. // The user data to make available to the instances. If you are using an AWS
  46923. // SDK or command line tool, Base64-encoding is performed for you, and you can
  46924. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  46925. UserData *string `locationName:"userData" type:"string"`
  46926. // The number of units provided by the specified instance type. These are the
  46927. // same units that you chose to set the target capacity in terms (instances
  46928. // or a performance characteristic such as vCPUs, memory, or I/O).
  46929. //
  46930. // If the target capacity divided by this value is not a whole number, we round
  46931. // the number of instances to the next whole number. If this value is not specified,
  46932. // the default is 1.
  46933. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  46934. }
  46935. // String returns the string representation
  46936. func (s SpotFleetLaunchSpecification) String() string {
  46937. return awsutil.Prettify(s)
  46938. }
  46939. // GoString returns the string representation
  46940. func (s SpotFleetLaunchSpecification) GoString() string {
  46941. return s.String()
  46942. }
  46943. // Validate inspects the fields of the type to determine if they are valid.
  46944. func (s *SpotFleetLaunchSpecification) Validate() error {
  46945. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  46946. if s.NetworkInterfaces != nil {
  46947. for i, v := range s.NetworkInterfaces {
  46948. if v == nil {
  46949. continue
  46950. }
  46951. if err := v.Validate(); err != nil {
  46952. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  46953. }
  46954. }
  46955. }
  46956. if invalidParams.Len() > 0 {
  46957. return invalidParams
  46958. }
  46959. return nil
  46960. }
  46961. // SetAddressingType sets the AddressingType field's value.
  46962. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  46963. s.AddressingType = &v
  46964. return s
  46965. }
  46966. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  46967. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  46968. s.BlockDeviceMappings = v
  46969. return s
  46970. }
  46971. // SetEbsOptimized sets the EbsOptimized field's value.
  46972. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  46973. s.EbsOptimized = &v
  46974. return s
  46975. }
  46976. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  46977. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  46978. s.IamInstanceProfile = v
  46979. return s
  46980. }
  46981. // SetImageId sets the ImageId field's value.
  46982. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  46983. s.ImageId = &v
  46984. return s
  46985. }
  46986. // SetInstanceType sets the InstanceType field's value.
  46987. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  46988. s.InstanceType = &v
  46989. return s
  46990. }
  46991. // SetKernelId sets the KernelId field's value.
  46992. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  46993. s.KernelId = &v
  46994. return s
  46995. }
  46996. // SetKeyName sets the KeyName field's value.
  46997. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  46998. s.KeyName = &v
  46999. return s
  47000. }
  47001. // SetMonitoring sets the Monitoring field's value.
  47002. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  47003. s.Monitoring = v
  47004. return s
  47005. }
  47006. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  47007. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  47008. s.NetworkInterfaces = v
  47009. return s
  47010. }
  47011. // SetPlacement sets the Placement field's value.
  47012. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  47013. s.Placement = v
  47014. return s
  47015. }
  47016. // SetRamdiskId sets the RamdiskId field's value.
  47017. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  47018. s.RamdiskId = &v
  47019. return s
  47020. }
  47021. // SetSecurityGroups sets the SecurityGroups field's value.
  47022. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  47023. s.SecurityGroups = v
  47024. return s
  47025. }
  47026. // SetSpotPrice sets the SpotPrice field's value.
  47027. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  47028. s.SpotPrice = &v
  47029. return s
  47030. }
  47031. // SetSubnetId sets the SubnetId field's value.
  47032. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  47033. s.SubnetId = &v
  47034. return s
  47035. }
  47036. // SetTagSpecifications sets the TagSpecifications field's value.
  47037. func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
  47038. s.TagSpecifications = v
  47039. return s
  47040. }
  47041. // SetUserData sets the UserData field's value.
  47042. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  47043. s.UserData = &v
  47044. return s
  47045. }
  47046. // SetWeightedCapacity sets the WeightedCapacity field's value.
  47047. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  47048. s.WeightedCapacity = &v
  47049. return s
  47050. }
  47051. // Describes whether monitoring is enabled.
  47052. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetMonitoring
  47053. type SpotFleetMonitoring struct {
  47054. _ struct{} `type:"structure"`
  47055. // Enables monitoring for the instance.
  47056. //
  47057. // Default: false
  47058. Enabled *bool `locationName:"enabled" type:"boolean"`
  47059. }
  47060. // String returns the string representation
  47061. func (s SpotFleetMonitoring) String() string {
  47062. return awsutil.Prettify(s)
  47063. }
  47064. // GoString returns the string representation
  47065. func (s SpotFleetMonitoring) GoString() string {
  47066. return s.String()
  47067. }
  47068. // SetEnabled sets the Enabled field's value.
  47069. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  47070. s.Enabled = &v
  47071. return s
  47072. }
  47073. // Describes a Spot fleet request.
  47074. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfig
  47075. type SpotFleetRequestConfig struct {
  47076. _ struct{} `type:"structure"`
  47077. // The progress of the Spot fleet request. If there is an error, the status
  47078. // is error. After all bids are placed, the status is pending_fulfillment. If
  47079. // the size of the fleet is equal to or greater than its target capacity, the
  47080. // status is fulfilled. If the size of the fleet is decreased, the status is
  47081. // pending_termination while Spot instances are terminating.
  47082. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  47083. // The creation date and time of the request.
  47084. //
  47085. // CreateTime is a required field
  47086. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  47087. // Information about the configuration of the Spot fleet request.
  47088. //
  47089. // SpotFleetRequestConfig is a required field
  47090. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  47091. // The ID of the Spot fleet request.
  47092. //
  47093. // SpotFleetRequestId is a required field
  47094. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  47095. // The state of the Spot fleet request.
  47096. //
  47097. // SpotFleetRequestState is a required field
  47098. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  47099. }
  47100. // String returns the string representation
  47101. func (s SpotFleetRequestConfig) String() string {
  47102. return awsutil.Prettify(s)
  47103. }
  47104. // GoString returns the string representation
  47105. func (s SpotFleetRequestConfig) GoString() string {
  47106. return s.String()
  47107. }
  47108. // SetActivityStatus sets the ActivityStatus field's value.
  47109. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  47110. s.ActivityStatus = &v
  47111. return s
  47112. }
  47113. // SetCreateTime sets the CreateTime field's value.
  47114. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  47115. s.CreateTime = &v
  47116. return s
  47117. }
  47118. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  47119. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  47120. s.SpotFleetRequestConfig = v
  47121. return s
  47122. }
  47123. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  47124. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  47125. s.SpotFleetRequestId = &v
  47126. return s
  47127. }
  47128. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  47129. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  47130. s.SpotFleetRequestState = &v
  47131. return s
  47132. }
  47133. // Describes the configuration of a Spot fleet request.
  47134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfigData
  47135. type SpotFleetRequestConfigData struct {
  47136. _ struct{} `type:"structure"`
  47137. // Indicates how to allocate the target capacity across the Spot pools specified
  47138. // by the Spot fleet request. The default is lowestPrice.
  47139. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  47140. // A unique, case-sensitive identifier you provide to ensure idempotency of
  47141. // your listings. This helps avoid duplicate listings. For more information,
  47142. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  47143. ClientToken *string `locationName:"clientToken" type:"string"`
  47144. // Indicates whether running Spot instances should be terminated if the target
  47145. // capacity of the Spot fleet request is decreased below the current size of
  47146. // the Spot fleet.
  47147. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  47148. // The number of units fulfilled by this request compared to the set target
  47149. // capacity.
  47150. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  47151. // Grants the Spot fleet permission to terminate Spot instances on your behalf
  47152. // when you cancel its Spot fleet request using CancelSpotFleetRequests or when
  47153. // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
  47154. //
  47155. // IamFleetRole is a required field
  47156. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  47157. // Information about the launch specifications for the Spot fleet request.
  47158. //
  47159. // LaunchSpecifications is a required field
  47160. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"`
  47161. // Indicates whether Spot fleet should replace unhealthy instances.
  47162. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  47163. // The bid price per unit hour.
  47164. //
  47165. // SpotPrice is a required field
  47166. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  47167. // The number of units to request. You can choose to set the target capacity
  47168. // in terms of instances or a performance characteristic that is important to
  47169. // your application workload, such as vCPUs, memory, or I/O.
  47170. //
  47171. // TargetCapacity is a required field
  47172. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  47173. // Indicates whether running Spot instances should be terminated when the Spot
  47174. // fleet request expires.
  47175. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  47176. // The type of request. Indicates whether the fleet will only request the target
  47177. // capacity or also attempt to maintain it. When you request a certain target
  47178. // capacity, the fleet will only place the required bids. It will not attempt
  47179. // to replenish Spot instances if capacity is diminished, nor will it submit
  47180. // bids in alternative Spot pools if capacity is not available. When you want
  47181. // to maintain a certain target capacity, fleet will place the required bids
  47182. // to meet this target capacity. It will also automatically replenish any interrupted
  47183. // instances. Default: maintain.
  47184. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  47185. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  47186. // The default is to start fulfilling the request immediately.
  47187. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  47188. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  47189. // At this point, no new Spot instance requests are placed or enabled to fulfill
  47190. // the request.
  47191. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  47192. }
  47193. // String returns the string representation
  47194. func (s SpotFleetRequestConfigData) String() string {
  47195. return awsutil.Prettify(s)
  47196. }
  47197. // GoString returns the string representation
  47198. func (s SpotFleetRequestConfigData) GoString() string {
  47199. return s.String()
  47200. }
  47201. // Validate inspects the fields of the type to determine if they are valid.
  47202. func (s *SpotFleetRequestConfigData) Validate() error {
  47203. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  47204. if s.IamFleetRole == nil {
  47205. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  47206. }
  47207. if s.LaunchSpecifications == nil {
  47208. invalidParams.Add(request.NewErrParamRequired("LaunchSpecifications"))
  47209. }
  47210. if s.LaunchSpecifications != nil && len(s.LaunchSpecifications) < 1 {
  47211. invalidParams.Add(request.NewErrParamMinLen("LaunchSpecifications", 1))
  47212. }
  47213. if s.SpotPrice == nil {
  47214. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  47215. }
  47216. if s.TargetCapacity == nil {
  47217. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  47218. }
  47219. if s.LaunchSpecifications != nil {
  47220. for i, v := range s.LaunchSpecifications {
  47221. if v == nil {
  47222. continue
  47223. }
  47224. if err := v.Validate(); err != nil {
  47225. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  47226. }
  47227. }
  47228. }
  47229. if invalidParams.Len() > 0 {
  47230. return invalidParams
  47231. }
  47232. return nil
  47233. }
  47234. // SetAllocationStrategy sets the AllocationStrategy field's value.
  47235. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  47236. s.AllocationStrategy = &v
  47237. return s
  47238. }
  47239. // SetClientToken sets the ClientToken field's value.
  47240. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  47241. s.ClientToken = &v
  47242. return s
  47243. }
  47244. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  47245. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  47246. s.ExcessCapacityTerminationPolicy = &v
  47247. return s
  47248. }
  47249. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  47250. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  47251. s.FulfilledCapacity = &v
  47252. return s
  47253. }
  47254. // SetIamFleetRole sets the IamFleetRole field's value.
  47255. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  47256. s.IamFleetRole = &v
  47257. return s
  47258. }
  47259. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  47260. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  47261. s.LaunchSpecifications = v
  47262. return s
  47263. }
  47264. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  47265. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  47266. s.ReplaceUnhealthyInstances = &v
  47267. return s
  47268. }
  47269. // SetSpotPrice sets the SpotPrice field's value.
  47270. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  47271. s.SpotPrice = &v
  47272. return s
  47273. }
  47274. // SetTargetCapacity sets the TargetCapacity field's value.
  47275. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  47276. s.TargetCapacity = &v
  47277. return s
  47278. }
  47279. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  47280. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  47281. s.TerminateInstancesWithExpiration = &v
  47282. return s
  47283. }
  47284. // SetType sets the Type field's value.
  47285. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  47286. s.Type = &v
  47287. return s
  47288. }
  47289. // SetValidFrom sets the ValidFrom field's value.
  47290. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  47291. s.ValidFrom = &v
  47292. return s
  47293. }
  47294. // SetValidUntil sets the ValidUntil field's value.
  47295. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  47296. s.ValidUntil = &v
  47297. return s
  47298. }
  47299. // The tags for a Spot fleet resource.
  47300. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetTagSpecification
  47301. type SpotFleetTagSpecification struct {
  47302. _ struct{} `type:"structure"`
  47303. // The type of resource. Currently, the only resource type that is supported
  47304. // is instance.
  47305. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  47306. // The tags.
  47307. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  47308. }
  47309. // String returns the string representation
  47310. func (s SpotFleetTagSpecification) String() string {
  47311. return awsutil.Prettify(s)
  47312. }
  47313. // GoString returns the string representation
  47314. func (s SpotFleetTagSpecification) GoString() string {
  47315. return s.String()
  47316. }
  47317. // SetResourceType sets the ResourceType field's value.
  47318. func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
  47319. s.ResourceType = &v
  47320. return s
  47321. }
  47322. // SetTags sets the Tags field's value.
  47323. func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
  47324. s.Tags = v
  47325. return s
  47326. }
  47327. // Describes a Spot instance request.
  47328. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceRequest
  47329. type SpotInstanceRequest struct {
  47330. _ struct{} `type:"structure"`
  47331. // If you specified a duration and your Spot instance request was fulfilled,
  47332. // this is the fixed hourly price in effect for the Spot instance while it runs.
  47333. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  47334. // The Availability Zone group. If you specify the same Availability Zone group
  47335. // for all Spot instance requests, all Spot instances are launched in the same
  47336. // Availability Zone.
  47337. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  47338. // The duration for the Spot instance, in minutes.
  47339. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  47340. // The date and time when the Spot instance request was created, in UTC format
  47341. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  47342. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  47343. // The fault codes for the Spot instance request, if any.
  47344. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  47345. // The instance ID, if an instance has been launched to fulfill the Spot instance
  47346. // request.
  47347. InstanceId *string `locationName:"instanceId" type:"string"`
  47348. // The instance launch group. Launch groups are Spot instances that launch together
  47349. // and terminate together.
  47350. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  47351. // Additional information for launching instances.
  47352. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  47353. // The Availability Zone in which the bid is launched.
  47354. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  47355. // The product description associated with the Spot instance.
  47356. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  47357. // The ID of the Spot instance request.
  47358. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  47359. // The maximum hourly price (bid) for the Spot instance launched to fulfill
  47360. // the request.
  47361. SpotPrice *string `locationName:"spotPrice" type:"string"`
  47362. // The state of the Spot instance request. Spot bid status information can help
  47363. // you track your Spot instance requests. For more information, see Spot Bid
  47364. // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  47365. // in the Amazon Elastic Compute Cloud User Guide.
  47366. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  47367. // The status code and status message describing the Spot instance request.
  47368. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  47369. // Any tags assigned to the resource.
  47370. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47371. // The Spot instance request type.
  47372. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  47373. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  47374. // The request becomes active at this date and time.
  47375. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  47376. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  47377. // If this is a one-time request, it remains active until all instances launch,
  47378. // the request is canceled, or this date is reached. If the request is persistent,
  47379. // it remains active until it is canceled or this date is reached.
  47380. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  47381. }
  47382. // String returns the string representation
  47383. func (s SpotInstanceRequest) String() string {
  47384. return awsutil.Prettify(s)
  47385. }
  47386. // GoString returns the string representation
  47387. func (s SpotInstanceRequest) GoString() string {
  47388. return s.String()
  47389. }
  47390. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  47391. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  47392. s.ActualBlockHourlyPrice = &v
  47393. return s
  47394. }
  47395. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  47396. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  47397. s.AvailabilityZoneGroup = &v
  47398. return s
  47399. }
  47400. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  47401. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  47402. s.BlockDurationMinutes = &v
  47403. return s
  47404. }
  47405. // SetCreateTime sets the CreateTime field's value.
  47406. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  47407. s.CreateTime = &v
  47408. return s
  47409. }
  47410. // SetFault sets the Fault field's value.
  47411. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  47412. s.Fault = v
  47413. return s
  47414. }
  47415. // SetInstanceId sets the InstanceId field's value.
  47416. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  47417. s.InstanceId = &v
  47418. return s
  47419. }
  47420. // SetLaunchGroup sets the LaunchGroup field's value.
  47421. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  47422. s.LaunchGroup = &v
  47423. return s
  47424. }
  47425. // SetLaunchSpecification sets the LaunchSpecification field's value.
  47426. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  47427. s.LaunchSpecification = v
  47428. return s
  47429. }
  47430. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  47431. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  47432. s.LaunchedAvailabilityZone = &v
  47433. return s
  47434. }
  47435. // SetProductDescription sets the ProductDescription field's value.
  47436. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  47437. s.ProductDescription = &v
  47438. return s
  47439. }
  47440. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  47441. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  47442. s.SpotInstanceRequestId = &v
  47443. return s
  47444. }
  47445. // SetSpotPrice sets the SpotPrice field's value.
  47446. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  47447. s.SpotPrice = &v
  47448. return s
  47449. }
  47450. // SetState sets the State field's value.
  47451. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  47452. s.State = &v
  47453. return s
  47454. }
  47455. // SetStatus sets the Status field's value.
  47456. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  47457. s.Status = v
  47458. return s
  47459. }
  47460. // SetTags sets the Tags field's value.
  47461. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  47462. s.Tags = v
  47463. return s
  47464. }
  47465. // SetType sets the Type field's value.
  47466. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  47467. s.Type = &v
  47468. return s
  47469. }
  47470. // SetValidFrom sets the ValidFrom field's value.
  47471. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  47472. s.ValidFrom = &v
  47473. return s
  47474. }
  47475. // SetValidUntil sets the ValidUntil field's value.
  47476. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  47477. s.ValidUntil = &v
  47478. return s
  47479. }
  47480. // Describes a Spot instance state change.
  47481. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStateFault
  47482. type SpotInstanceStateFault struct {
  47483. _ struct{} `type:"structure"`
  47484. // The reason code for the Spot instance state change.
  47485. Code *string `locationName:"code" type:"string"`
  47486. // The message for the Spot instance state change.
  47487. Message *string `locationName:"message" type:"string"`
  47488. }
  47489. // String returns the string representation
  47490. func (s SpotInstanceStateFault) String() string {
  47491. return awsutil.Prettify(s)
  47492. }
  47493. // GoString returns the string representation
  47494. func (s SpotInstanceStateFault) GoString() string {
  47495. return s.String()
  47496. }
  47497. // SetCode sets the Code field's value.
  47498. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  47499. s.Code = &v
  47500. return s
  47501. }
  47502. // SetMessage sets the Message field's value.
  47503. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  47504. s.Message = &v
  47505. return s
  47506. }
  47507. // Describes the status of a Spot instance request.
  47508. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStatus
  47509. type SpotInstanceStatus struct {
  47510. _ struct{} `type:"structure"`
  47511. // The status code. For a list of status codes, see Spot Bid Status Codes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html#spot-instance-bid-status-understand)
  47512. // in the Amazon Elastic Compute Cloud User Guide.
  47513. Code *string `locationName:"code" type:"string"`
  47514. // The description for the status code.
  47515. Message *string `locationName:"message" type:"string"`
  47516. // The date and time of the most recent status update, in UTC format (for example,
  47517. // YYYY-MM-DDTHH:MM:SSZ).
  47518. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  47519. }
  47520. // String returns the string representation
  47521. func (s SpotInstanceStatus) String() string {
  47522. return awsutil.Prettify(s)
  47523. }
  47524. // GoString returns the string representation
  47525. func (s SpotInstanceStatus) GoString() string {
  47526. return s.String()
  47527. }
  47528. // SetCode sets the Code field's value.
  47529. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  47530. s.Code = &v
  47531. return s
  47532. }
  47533. // SetMessage sets the Message field's value.
  47534. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  47535. s.Message = &v
  47536. return s
  47537. }
  47538. // SetUpdateTime sets the UpdateTime field's value.
  47539. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  47540. s.UpdateTime = &v
  47541. return s
  47542. }
  47543. // Describes Spot instance placement.
  47544. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPlacement
  47545. type SpotPlacement struct {
  47546. _ struct{} `type:"structure"`
  47547. // The Availability Zone.
  47548. //
  47549. // [Spot fleet only] To specify multiple Availability Zones, separate them using
  47550. // commas; for example, "us-west-2a, us-west-2b".
  47551. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47552. // The name of the placement group (for cluster instances).
  47553. GroupName *string `locationName:"groupName" type:"string"`
  47554. // The tenancy of the instance (if the instance is running in a VPC). An instance
  47555. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  47556. // is not supported for Spot instances.
  47557. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  47558. }
  47559. // String returns the string representation
  47560. func (s SpotPlacement) String() string {
  47561. return awsutil.Prettify(s)
  47562. }
  47563. // GoString returns the string representation
  47564. func (s SpotPlacement) GoString() string {
  47565. return s.String()
  47566. }
  47567. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47568. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  47569. s.AvailabilityZone = &v
  47570. return s
  47571. }
  47572. // SetGroupName sets the GroupName field's value.
  47573. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  47574. s.GroupName = &v
  47575. return s
  47576. }
  47577. // SetTenancy sets the Tenancy field's value.
  47578. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  47579. s.Tenancy = &v
  47580. return s
  47581. }
  47582. // Describes the maximum hourly price (bid) for any Spot instance launched to
  47583. // fulfill the request.
  47584. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPrice
  47585. type SpotPrice struct {
  47586. _ struct{} `type:"structure"`
  47587. // The Availability Zone.
  47588. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47589. // The instance type. Note that T2 and HS1 instance types are not supported.
  47590. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  47591. // A general description of the AMI.
  47592. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  47593. // The maximum price (bid) that you are willing to pay for a Spot instance.
  47594. SpotPrice *string `locationName:"spotPrice" type:"string"`
  47595. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  47596. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  47597. }
  47598. // String returns the string representation
  47599. func (s SpotPrice) String() string {
  47600. return awsutil.Prettify(s)
  47601. }
  47602. // GoString returns the string representation
  47603. func (s SpotPrice) GoString() string {
  47604. return s.String()
  47605. }
  47606. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47607. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  47608. s.AvailabilityZone = &v
  47609. return s
  47610. }
  47611. // SetInstanceType sets the InstanceType field's value.
  47612. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  47613. s.InstanceType = &v
  47614. return s
  47615. }
  47616. // SetProductDescription sets the ProductDescription field's value.
  47617. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  47618. s.ProductDescription = &v
  47619. return s
  47620. }
  47621. // SetSpotPrice sets the SpotPrice field's value.
  47622. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  47623. s.SpotPrice = &v
  47624. return s
  47625. }
  47626. // SetTimestamp sets the Timestamp field's value.
  47627. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  47628. s.Timestamp = &v
  47629. return s
  47630. }
  47631. // Describes a stale rule in a security group.
  47632. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleIpPermission
  47633. type StaleIpPermission struct {
  47634. _ struct{} `type:"structure"`
  47635. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  47636. // number. A value of -1 indicates all ICMP types.
  47637. FromPort *int64 `locationName:"fromPort" type:"integer"`
  47638. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  47639. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  47640. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  47641. // One or more IP ranges. Not applicable for stale security group rules.
  47642. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  47643. // One or more prefix list IDs for an AWS service. Not applicable for stale
  47644. // security group rules.
  47645. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  47646. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  47647. // number. A value of -1 indicates all ICMP types.
  47648. ToPort *int64 `locationName:"toPort" type:"integer"`
  47649. // One or more security group pairs. Returns the ID of the referenced security
  47650. // group and VPC, and the ID and status of the VPC peering connection.
  47651. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  47652. }
  47653. // String returns the string representation
  47654. func (s StaleIpPermission) String() string {
  47655. return awsutil.Prettify(s)
  47656. }
  47657. // GoString returns the string representation
  47658. func (s StaleIpPermission) GoString() string {
  47659. return s.String()
  47660. }
  47661. // SetFromPort sets the FromPort field's value.
  47662. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  47663. s.FromPort = &v
  47664. return s
  47665. }
  47666. // SetIpProtocol sets the IpProtocol field's value.
  47667. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  47668. s.IpProtocol = &v
  47669. return s
  47670. }
  47671. // SetIpRanges sets the IpRanges field's value.
  47672. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  47673. s.IpRanges = v
  47674. return s
  47675. }
  47676. // SetPrefixListIds sets the PrefixListIds field's value.
  47677. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  47678. s.PrefixListIds = v
  47679. return s
  47680. }
  47681. // SetToPort sets the ToPort field's value.
  47682. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  47683. s.ToPort = &v
  47684. return s
  47685. }
  47686. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  47687. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  47688. s.UserIdGroupPairs = v
  47689. return s
  47690. }
  47691. // Describes a stale security group (a security group that contains stale rules).
  47692. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleSecurityGroup
  47693. type StaleSecurityGroup struct {
  47694. _ struct{} `type:"structure"`
  47695. // The description of the security group.
  47696. Description *string `locationName:"description" type:"string"`
  47697. // The ID of the security group.
  47698. //
  47699. // GroupId is a required field
  47700. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  47701. // The name of the security group.
  47702. GroupName *string `locationName:"groupName" type:"string"`
  47703. // Information about the stale inbound rules in the security group.
  47704. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  47705. // Information about the stale outbound rules in the security group.
  47706. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  47707. // The ID of the VPC for the security group.
  47708. VpcId *string `locationName:"vpcId" type:"string"`
  47709. }
  47710. // String returns the string representation
  47711. func (s StaleSecurityGroup) String() string {
  47712. return awsutil.Prettify(s)
  47713. }
  47714. // GoString returns the string representation
  47715. func (s StaleSecurityGroup) GoString() string {
  47716. return s.String()
  47717. }
  47718. // SetDescription sets the Description field's value.
  47719. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  47720. s.Description = &v
  47721. return s
  47722. }
  47723. // SetGroupId sets the GroupId field's value.
  47724. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  47725. s.GroupId = &v
  47726. return s
  47727. }
  47728. // SetGroupName sets the GroupName field's value.
  47729. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  47730. s.GroupName = &v
  47731. return s
  47732. }
  47733. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  47734. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  47735. s.StaleIpPermissions = v
  47736. return s
  47737. }
  47738. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  47739. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  47740. s.StaleIpPermissionsEgress = v
  47741. return s
  47742. }
  47743. // SetVpcId sets the VpcId field's value.
  47744. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  47745. s.VpcId = &v
  47746. return s
  47747. }
  47748. // Contains the parameters for StartInstances.
  47749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesRequest
  47750. type StartInstancesInput struct {
  47751. _ struct{} `type:"structure"`
  47752. // Reserved.
  47753. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  47754. // Checks whether you have the required permissions for the action, without
  47755. // actually making the request, and provides an error response. If you have
  47756. // the required permissions, the error response is DryRunOperation. Otherwise,
  47757. // it is UnauthorizedOperation.
  47758. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47759. // One or more instance IDs.
  47760. //
  47761. // InstanceIds is a required field
  47762. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  47763. }
  47764. // String returns the string representation
  47765. func (s StartInstancesInput) String() string {
  47766. return awsutil.Prettify(s)
  47767. }
  47768. // GoString returns the string representation
  47769. func (s StartInstancesInput) GoString() string {
  47770. return s.String()
  47771. }
  47772. // Validate inspects the fields of the type to determine if they are valid.
  47773. func (s *StartInstancesInput) Validate() error {
  47774. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  47775. if s.InstanceIds == nil {
  47776. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  47777. }
  47778. if invalidParams.Len() > 0 {
  47779. return invalidParams
  47780. }
  47781. return nil
  47782. }
  47783. // SetAdditionalInfo sets the AdditionalInfo field's value.
  47784. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  47785. s.AdditionalInfo = &v
  47786. return s
  47787. }
  47788. // SetDryRun sets the DryRun field's value.
  47789. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  47790. s.DryRun = &v
  47791. return s
  47792. }
  47793. // SetInstanceIds sets the InstanceIds field's value.
  47794. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  47795. s.InstanceIds = v
  47796. return s
  47797. }
  47798. // Contains the output of StartInstances.
  47799. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesResult
  47800. type StartInstancesOutput struct {
  47801. _ struct{} `type:"structure"`
  47802. // Information about one or more started instances.
  47803. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  47804. }
  47805. // String returns the string representation
  47806. func (s StartInstancesOutput) String() string {
  47807. return awsutil.Prettify(s)
  47808. }
  47809. // GoString returns the string representation
  47810. func (s StartInstancesOutput) GoString() string {
  47811. return s.String()
  47812. }
  47813. // SetStartingInstances sets the StartingInstances field's value.
  47814. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  47815. s.StartingInstances = v
  47816. return s
  47817. }
  47818. // Describes a state change.
  47819. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StateReason
  47820. type StateReason struct {
  47821. _ struct{} `type:"structure"`
  47822. // The reason code for the state change.
  47823. Code *string `locationName:"code" type:"string"`
  47824. // The message for the state change.
  47825. //
  47826. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  47827. // capacity to satisfy the launch request.
  47828. //
  47829. // * Server.InternalError: An internal error occurred during instance launch,
  47830. // resulting in termination.
  47831. //
  47832. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  47833. //
  47834. // * Server.SpotInstanceTermination: A Spot instance was terminated due to
  47835. // an increase in the market price.
  47836. //
  47837. // * Client.InternalError: A client error caused the instance to terminate
  47838. // on launch.
  47839. //
  47840. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  47841. // shutdown -h command from the instance.
  47842. //
  47843. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  47844. // EC2 API.
  47845. //
  47846. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  47847. // total storage was exceeded. Decrease usage or request an increase in your
  47848. // limits.
  47849. //
  47850. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  47851. Message *string `locationName:"message" type:"string"`
  47852. }
  47853. // String returns the string representation
  47854. func (s StateReason) String() string {
  47855. return awsutil.Prettify(s)
  47856. }
  47857. // GoString returns the string representation
  47858. func (s StateReason) GoString() string {
  47859. return s.String()
  47860. }
  47861. // SetCode sets the Code field's value.
  47862. func (s *StateReason) SetCode(v string) *StateReason {
  47863. s.Code = &v
  47864. return s
  47865. }
  47866. // SetMessage sets the Message field's value.
  47867. func (s *StateReason) SetMessage(v string) *StateReason {
  47868. s.Message = &v
  47869. return s
  47870. }
  47871. // Contains the parameters for StopInstances.
  47872. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesRequest
  47873. type StopInstancesInput struct {
  47874. _ struct{} `type:"structure"`
  47875. // Checks whether you have the required permissions for the action, without
  47876. // actually making the request, and provides an error response. If you have
  47877. // the required permissions, the error response is DryRunOperation. Otherwise,
  47878. // it is UnauthorizedOperation.
  47879. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47880. // Forces the instances to stop. The instances do not have an opportunity to
  47881. // flush file system caches or file system metadata. If you use this option,
  47882. // you must perform file system check and repair procedures. This option is
  47883. // not recommended for Windows instances.
  47884. //
  47885. // Default: false
  47886. Force *bool `locationName:"force" type:"boolean"`
  47887. // One or more instance IDs.
  47888. //
  47889. // InstanceIds is a required field
  47890. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  47891. }
  47892. // String returns the string representation
  47893. func (s StopInstancesInput) String() string {
  47894. return awsutil.Prettify(s)
  47895. }
  47896. // GoString returns the string representation
  47897. func (s StopInstancesInput) GoString() string {
  47898. return s.String()
  47899. }
  47900. // Validate inspects the fields of the type to determine if they are valid.
  47901. func (s *StopInstancesInput) Validate() error {
  47902. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  47903. if s.InstanceIds == nil {
  47904. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  47905. }
  47906. if invalidParams.Len() > 0 {
  47907. return invalidParams
  47908. }
  47909. return nil
  47910. }
  47911. // SetDryRun sets the DryRun field's value.
  47912. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  47913. s.DryRun = &v
  47914. return s
  47915. }
  47916. // SetForce sets the Force field's value.
  47917. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  47918. s.Force = &v
  47919. return s
  47920. }
  47921. // SetInstanceIds sets the InstanceIds field's value.
  47922. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  47923. s.InstanceIds = v
  47924. return s
  47925. }
  47926. // Contains the output of StopInstances.
  47927. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesResult
  47928. type StopInstancesOutput struct {
  47929. _ struct{} `type:"structure"`
  47930. // Information about one or more stopped instances.
  47931. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  47932. }
  47933. // String returns the string representation
  47934. func (s StopInstancesOutput) String() string {
  47935. return awsutil.Prettify(s)
  47936. }
  47937. // GoString returns the string representation
  47938. func (s StopInstancesOutput) GoString() string {
  47939. return s.String()
  47940. }
  47941. // SetStoppingInstances sets the StoppingInstances field's value.
  47942. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  47943. s.StoppingInstances = v
  47944. return s
  47945. }
  47946. // Describes the storage location for an instance store-backed AMI.
  47947. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Storage
  47948. type Storage struct {
  47949. _ struct{} `type:"structure"`
  47950. // An Amazon S3 storage location.
  47951. S3 *S3Storage `type:"structure"`
  47952. }
  47953. // String returns the string representation
  47954. func (s Storage) String() string {
  47955. return awsutil.Prettify(s)
  47956. }
  47957. // GoString returns the string representation
  47958. func (s Storage) GoString() string {
  47959. return s.String()
  47960. }
  47961. // SetS3 sets the S3 field's value.
  47962. func (s *Storage) SetS3(v *S3Storage) *Storage {
  47963. s.S3 = v
  47964. return s
  47965. }
  47966. // Describes a storage location in Amazon S3.
  47967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StorageLocation
  47968. type StorageLocation struct {
  47969. _ struct{} `type:"structure"`
  47970. // The name of the S3 bucket.
  47971. Bucket *string `type:"string"`
  47972. // The key.
  47973. Key *string `type:"string"`
  47974. }
  47975. // String returns the string representation
  47976. func (s StorageLocation) String() string {
  47977. return awsutil.Prettify(s)
  47978. }
  47979. // GoString returns the string representation
  47980. func (s StorageLocation) GoString() string {
  47981. return s.String()
  47982. }
  47983. // SetBucket sets the Bucket field's value.
  47984. func (s *StorageLocation) SetBucket(v string) *StorageLocation {
  47985. s.Bucket = &v
  47986. return s
  47987. }
  47988. // SetKey sets the Key field's value.
  47989. func (s *StorageLocation) SetKey(v string) *StorageLocation {
  47990. s.Key = &v
  47991. return s
  47992. }
  47993. // Describes a subnet.
  47994. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Subnet
  47995. type Subnet struct {
  47996. _ struct{} `type:"structure"`
  47997. // Indicates whether a network interface created in this subnet (including a
  47998. // network interface created by RunInstances) receives an IPv6 address.
  47999. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  48000. // The Availability Zone of the subnet.
  48001. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  48002. // The number of unused private IPv4 addresses in the subnet. Note that the
  48003. // IPv4 addresses for any stopped instances are considered unavailable.
  48004. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  48005. // The IPv4 CIDR block assigned to the subnet.
  48006. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  48007. // Indicates whether this is the default subnet for the Availability Zone.
  48008. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  48009. // Information about the IPv6 CIDR blocks associated with the subnet.
  48010. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  48011. // Indicates whether instances launched in this subnet receive a public IPv4
  48012. // address.
  48013. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  48014. // The current state of the subnet.
  48015. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  48016. // The ID of the subnet.
  48017. SubnetId *string `locationName:"subnetId" type:"string"`
  48018. // Any tags assigned to the subnet.
  48019. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48020. // The ID of the VPC the subnet is in.
  48021. VpcId *string `locationName:"vpcId" type:"string"`
  48022. }
  48023. // String returns the string representation
  48024. func (s Subnet) String() string {
  48025. return awsutil.Prettify(s)
  48026. }
  48027. // GoString returns the string representation
  48028. func (s Subnet) GoString() string {
  48029. return s.String()
  48030. }
  48031. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  48032. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  48033. s.AssignIpv6AddressOnCreation = &v
  48034. return s
  48035. }
  48036. // SetAvailabilityZone sets the AvailabilityZone field's value.
  48037. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  48038. s.AvailabilityZone = &v
  48039. return s
  48040. }
  48041. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  48042. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  48043. s.AvailableIpAddressCount = &v
  48044. return s
  48045. }
  48046. // SetCidrBlock sets the CidrBlock field's value.
  48047. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  48048. s.CidrBlock = &v
  48049. return s
  48050. }
  48051. // SetDefaultForAz sets the DefaultForAz field's value.
  48052. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  48053. s.DefaultForAz = &v
  48054. return s
  48055. }
  48056. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  48057. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  48058. s.Ipv6CidrBlockAssociationSet = v
  48059. return s
  48060. }
  48061. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  48062. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  48063. s.MapPublicIpOnLaunch = &v
  48064. return s
  48065. }
  48066. // SetState sets the State field's value.
  48067. func (s *Subnet) SetState(v string) *Subnet {
  48068. s.State = &v
  48069. return s
  48070. }
  48071. // SetSubnetId sets the SubnetId field's value.
  48072. func (s *Subnet) SetSubnetId(v string) *Subnet {
  48073. s.SubnetId = &v
  48074. return s
  48075. }
  48076. // SetTags sets the Tags field's value.
  48077. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  48078. s.Tags = v
  48079. return s
  48080. }
  48081. // SetVpcId sets the VpcId field's value.
  48082. func (s *Subnet) SetVpcId(v string) *Subnet {
  48083. s.VpcId = &v
  48084. return s
  48085. }
  48086. // Describes the state of a CIDR block.
  48087. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetCidrBlockState
  48088. type SubnetCidrBlockState struct {
  48089. _ struct{} `type:"structure"`
  48090. // The state of a CIDR block.
  48091. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  48092. // A message about the status of the CIDR block, if applicable.
  48093. StatusMessage *string `locationName:"statusMessage" type:"string"`
  48094. }
  48095. // String returns the string representation
  48096. func (s SubnetCidrBlockState) String() string {
  48097. return awsutil.Prettify(s)
  48098. }
  48099. // GoString returns the string representation
  48100. func (s SubnetCidrBlockState) GoString() string {
  48101. return s.String()
  48102. }
  48103. // SetState sets the State field's value.
  48104. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  48105. s.State = &v
  48106. return s
  48107. }
  48108. // SetStatusMessage sets the StatusMessage field's value.
  48109. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  48110. s.StatusMessage = &v
  48111. return s
  48112. }
  48113. // Describes an IPv6 CIDR block associated with a subnet.
  48114. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetIpv6CidrBlockAssociation
  48115. type SubnetIpv6CidrBlockAssociation struct {
  48116. _ struct{} `type:"structure"`
  48117. // The association ID for the CIDR block.
  48118. AssociationId *string `locationName:"associationId" type:"string"`
  48119. // The IPv6 CIDR block.
  48120. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  48121. // Information about the state of the CIDR block.
  48122. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  48123. }
  48124. // String returns the string representation
  48125. func (s SubnetIpv6CidrBlockAssociation) String() string {
  48126. return awsutil.Prettify(s)
  48127. }
  48128. // GoString returns the string representation
  48129. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  48130. return s.String()
  48131. }
  48132. // SetAssociationId sets the AssociationId field's value.
  48133. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  48134. s.AssociationId = &v
  48135. return s
  48136. }
  48137. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  48138. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  48139. s.Ipv6CidrBlock = &v
  48140. return s
  48141. }
  48142. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  48143. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  48144. s.Ipv6CidrBlockState = v
  48145. return s
  48146. }
  48147. // Describes a tag.
  48148. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Tag
  48149. type Tag struct {
  48150. _ struct{} `type:"structure"`
  48151. // The key of the tag.
  48152. //
  48153. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  48154. // characters. May not begin with aws:
  48155. Key *string `locationName:"key" type:"string"`
  48156. // The value of the tag.
  48157. //
  48158. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  48159. // characters.
  48160. Value *string `locationName:"value" type:"string"`
  48161. }
  48162. // String returns the string representation
  48163. func (s Tag) String() string {
  48164. return awsutil.Prettify(s)
  48165. }
  48166. // GoString returns the string representation
  48167. func (s Tag) GoString() string {
  48168. return s.String()
  48169. }
  48170. // SetKey sets the Key field's value.
  48171. func (s *Tag) SetKey(v string) *Tag {
  48172. s.Key = &v
  48173. return s
  48174. }
  48175. // SetValue sets the Value field's value.
  48176. func (s *Tag) SetValue(v string) *Tag {
  48177. s.Value = &v
  48178. return s
  48179. }
  48180. // Describes a tag.
  48181. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagDescription
  48182. type TagDescription struct {
  48183. _ struct{} `type:"structure"`
  48184. // The tag key.
  48185. Key *string `locationName:"key" type:"string"`
  48186. // The ID of the resource. For example, ami-1a2b3c4d.
  48187. ResourceId *string `locationName:"resourceId" type:"string"`
  48188. // The resource type.
  48189. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  48190. // The tag value.
  48191. Value *string `locationName:"value" type:"string"`
  48192. }
  48193. // String returns the string representation
  48194. func (s TagDescription) String() string {
  48195. return awsutil.Prettify(s)
  48196. }
  48197. // GoString returns the string representation
  48198. func (s TagDescription) GoString() string {
  48199. return s.String()
  48200. }
  48201. // SetKey sets the Key field's value.
  48202. func (s *TagDescription) SetKey(v string) *TagDescription {
  48203. s.Key = &v
  48204. return s
  48205. }
  48206. // SetResourceId sets the ResourceId field's value.
  48207. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  48208. s.ResourceId = &v
  48209. return s
  48210. }
  48211. // SetResourceType sets the ResourceType field's value.
  48212. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  48213. s.ResourceType = &v
  48214. return s
  48215. }
  48216. // SetValue sets the Value field's value.
  48217. func (s *TagDescription) SetValue(v string) *TagDescription {
  48218. s.Value = &v
  48219. return s
  48220. }
  48221. // The tags to apply to a resource when the resource is being created.
  48222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagSpecification
  48223. type TagSpecification struct {
  48224. _ struct{} `type:"structure"`
  48225. // The type of resource to tag. Currently, the resource types that support tagging
  48226. // on creation are instance and volume.
  48227. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  48228. // The tags to apply to the resource.
  48229. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  48230. }
  48231. // String returns the string representation
  48232. func (s TagSpecification) String() string {
  48233. return awsutil.Prettify(s)
  48234. }
  48235. // GoString returns the string representation
  48236. func (s TagSpecification) GoString() string {
  48237. return s.String()
  48238. }
  48239. // SetResourceType sets the ResourceType field's value.
  48240. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  48241. s.ResourceType = &v
  48242. return s
  48243. }
  48244. // SetTags sets the Tags field's value.
  48245. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  48246. s.Tags = v
  48247. return s
  48248. }
  48249. // Information about the Convertible Reserved Instance offering.
  48250. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfiguration
  48251. type TargetConfiguration struct {
  48252. _ struct{} `type:"structure"`
  48253. // The number of instances the Convertible Reserved Instance offering can be
  48254. // applied to. This parameter is reserved and cannot be specified in a request
  48255. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  48256. // The ID of the Convertible Reserved Instance offering.
  48257. OfferingId *string `locationName:"offeringId" type:"string"`
  48258. }
  48259. // String returns the string representation
  48260. func (s TargetConfiguration) String() string {
  48261. return awsutil.Prettify(s)
  48262. }
  48263. // GoString returns the string representation
  48264. func (s TargetConfiguration) GoString() string {
  48265. return s.String()
  48266. }
  48267. // SetInstanceCount sets the InstanceCount field's value.
  48268. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  48269. s.InstanceCount = &v
  48270. return s
  48271. }
  48272. // SetOfferingId sets the OfferingId field's value.
  48273. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  48274. s.OfferingId = &v
  48275. return s
  48276. }
  48277. // Details about the target configuration.
  48278. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfigurationRequest
  48279. type TargetConfigurationRequest struct {
  48280. _ struct{} `type:"structure"`
  48281. // The number of instances the Covertible Reserved Instance offering can be
  48282. // applied to. This parameter is reserved and cannot be specified in a request
  48283. InstanceCount *int64 `type:"integer"`
  48284. // The Convertible Reserved Instance offering ID.
  48285. //
  48286. // OfferingId is a required field
  48287. OfferingId *string `type:"string" required:"true"`
  48288. }
  48289. // String returns the string representation
  48290. func (s TargetConfigurationRequest) String() string {
  48291. return awsutil.Prettify(s)
  48292. }
  48293. // GoString returns the string representation
  48294. func (s TargetConfigurationRequest) GoString() string {
  48295. return s.String()
  48296. }
  48297. // Validate inspects the fields of the type to determine if they are valid.
  48298. func (s *TargetConfigurationRequest) Validate() error {
  48299. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  48300. if s.OfferingId == nil {
  48301. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  48302. }
  48303. if invalidParams.Len() > 0 {
  48304. return invalidParams
  48305. }
  48306. return nil
  48307. }
  48308. // SetInstanceCount sets the InstanceCount field's value.
  48309. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  48310. s.InstanceCount = &v
  48311. return s
  48312. }
  48313. // SetOfferingId sets the OfferingId field's value.
  48314. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  48315. s.OfferingId = &v
  48316. return s
  48317. }
  48318. // The total value of the new Convertible Reserved Instances.
  48319. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetReservationValue
  48320. type TargetReservationValue struct {
  48321. _ struct{} `type:"structure"`
  48322. // The total value of the Convertible Reserved Instances that make up the exchange.
  48323. // This is the sum of the list value, remaining upfront price, and additional
  48324. // upfront cost of the exchange.
  48325. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  48326. // The configuration of the Convertible Reserved Instances that make up the
  48327. // exchange.
  48328. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  48329. }
  48330. // String returns the string representation
  48331. func (s TargetReservationValue) String() string {
  48332. return awsutil.Prettify(s)
  48333. }
  48334. // GoString returns the string representation
  48335. func (s TargetReservationValue) GoString() string {
  48336. return s.String()
  48337. }
  48338. // SetReservationValue sets the ReservationValue field's value.
  48339. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  48340. s.ReservationValue = v
  48341. return s
  48342. }
  48343. // SetTargetConfiguration sets the TargetConfiguration field's value.
  48344. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  48345. s.TargetConfiguration = v
  48346. return s
  48347. }
  48348. // Contains the parameters for TerminateInstances.
  48349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesRequest
  48350. type TerminateInstancesInput struct {
  48351. _ struct{} `type:"structure"`
  48352. // Checks whether you have the required permissions for the action, without
  48353. // actually making the request, and provides an error response. If you have
  48354. // the required permissions, the error response is DryRunOperation. Otherwise,
  48355. // it is UnauthorizedOperation.
  48356. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48357. // One or more instance IDs.
  48358. //
  48359. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  48360. // into smaller batches.
  48361. //
  48362. // InstanceIds is a required field
  48363. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  48364. }
  48365. // String returns the string representation
  48366. func (s TerminateInstancesInput) String() string {
  48367. return awsutil.Prettify(s)
  48368. }
  48369. // GoString returns the string representation
  48370. func (s TerminateInstancesInput) GoString() string {
  48371. return s.String()
  48372. }
  48373. // Validate inspects the fields of the type to determine if they are valid.
  48374. func (s *TerminateInstancesInput) Validate() error {
  48375. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  48376. if s.InstanceIds == nil {
  48377. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  48378. }
  48379. if invalidParams.Len() > 0 {
  48380. return invalidParams
  48381. }
  48382. return nil
  48383. }
  48384. // SetDryRun sets the DryRun field's value.
  48385. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  48386. s.DryRun = &v
  48387. return s
  48388. }
  48389. // SetInstanceIds sets the InstanceIds field's value.
  48390. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  48391. s.InstanceIds = v
  48392. return s
  48393. }
  48394. // Contains the output of TerminateInstances.
  48395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesResult
  48396. type TerminateInstancesOutput struct {
  48397. _ struct{} `type:"structure"`
  48398. // Information about one or more terminated instances.
  48399. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  48400. }
  48401. // String returns the string representation
  48402. func (s TerminateInstancesOutput) String() string {
  48403. return awsutil.Prettify(s)
  48404. }
  48405. // GoString returns the string representation
  48406. func (s TerminateInstancesOutput) GoString() string {
  48407. return s.String()
  48408. }
  48409. // SetTerminatingInstances sets the TerminatingInstances field's value.
  48410. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  48411. s.TerminatingInstances = v
  48412. return s
  48413. }
  48414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesRequest
  48415. type UnassignIpv6AddressesInput struct {
  48416. _ struct{} `type:"structure"`
  48417. // The IPv6 addresses to unassign from the network interface.
  48418. //
  48419. // Ipv6Addresses is a required field
  48420. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  48421. // The ID of the network interface.
  48422. //
  48423. // NetworkInterfaceId is a required field
  48424. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  48425. }
  48426. // String returns the string representation
  48427. func (s UnassignIpv6AddressesInput) String() string {
  48428. return awsutil.Prettify(s)
  48429. }
  48430. // GoString returns the string representation
  48431. func (s UnassignIpv6AddressesInput) GoString() string {
  48432. return s.String()
  48433. }
  48434. // Validate inspects the fields of the type to determine if they are valid.
  48435. func (s *UnassignIpv6AddressesInput) Validate() error {
  48436. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  48437. if s.Ipv6Addresses == nil {
  48438. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  48439. }
  48440. if s.NetworkInterfaceId == nil {
  48441. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  48442. }
  48443. if invalidParams.Len() > 0 {
  48444. return invalidParams
  48445. }
  48446. return nil
  48447. }
  48448. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  48449. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  48450. s.Ipv6Addresses = v
  48451. return s
  48452. }
  48453. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  48454. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  48455. s.NetworkInterfaceId = &v
  48456. return s
  48457. }
  48458. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesResult
  48459. type UnassignIpv6AddressesOutput struct {
  48460. _ struct{} `type:"structure"`
  48461. // The ID of the network interface.
  48462. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  48463. // The IPv6 addresses that have been unassigned from the network interface.
  48464. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  48465. }
  48466. // String returns the string representation
  48467. func (s UnassignIpv6AddressesOutput) String() string {
  48468. return awsutil.Prettify(s)
  48469. }
  48470. // GoString returns the string representation
  48471. func (s UnassignIpv6AddressesOutput) GoString() string {
  48472. return s.String()
  48473. }
  48474. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  48475. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  48476. s.NetworkInterfaceId = &v
  48477. return s
  48478. }
  48479. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  48480. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  48481. s.UnassignedIpv6Addresses = v
  48482. return s
  48483. }
  48484. // Contains the parameters for UnassignPrivateIpAddresses.
  48485. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesRequest
  48486. type UnassignPrivateIpAddressesInput struct {
  48487. _ struct{} `type:"structure"`
  48488. // The ID of the network interface.
  48489. //
  48490. // NetworkInterfaceId is a required field
  48491. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  48492. // The secondary private IP addresses to unassign from the network interface.
  48493. // You can specify this option multiple times to unassign more than one IP address.
  48494. //
  48495. // PrivateIpAddresses is a required field
  48496. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  48497. }
  48498. // String returns the string representation
  48499. func (s UnassignPrivateIpAddressesInput) String() string {
  48500. return awsutil.Prettify(s)
  48501. }
  48502. // GoString returns the string representation
  48503. func (s UnassignPrivateIpAddressesInput) GoString() string {
  48504. return s.String()
  48505. }
  48506. // Validate inspects the fields of the type to determine if they are valid.
  48507. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  48508. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  48509. if s.NetworkInterfaceId == nil {
  48510. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  48511. }
  48512. if s.PrivateIpAddresses == nil {
  48513. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  48514. }
  48515. if invalidParams.Len() > 0 {
  48516. return invalidParams
  48517. }
  48518. return nil
  48519. }
  48520. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  48521. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  48522. s.NetworkInterfaceId = &v
  48523. return s
  48524. }
  48525. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  48526. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  48527. s.PrivateIpAddresses = v
  48528. return s
  48529. }
  48530. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesOutput
  48531. type UnassignPrivateIpAddressesOutput struct {
  48532. _ struct{} `type:"structure"`
  48533. }
  48534. // String returns the string representation
  48535. func (s UnassignPrivateIpAddressesOutput) String() string {
  48536. return awsutil.Prettify(s)
  48537. }
  48538. // GoString returns the string representation
  48539. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  48540. return s.String()
  48541. }
  48542. // Contains the parameters for UnmonitorInstances.
  48543. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesRequest
  48544. type UnmonitorInstancesInput struct {
  48545. _ struct{} `type:"structure"`
  48546. // Checks whether you have the required permissions for the action, without
  48547. // actually making the request, and provides an error response. If you have
  48548. // the required permissions, the error response is DryRunOperation. Otherwise,
  48549. // it is UnauthorizedOperation.
  48550. DryRun *bool `locationName:"dryRun" type:"boolean"`
  48551. // One or more instance IDs.
  48552. //
  48553. // InstanceIds is a required field
  48554. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  48555. }
  48556. // String returns the string representation
  48557. func (s UnmonitorInstancesInput) String() string {
  48558. return awsutil.Prettify(s)
  48559. }
  48560. // GoString returns the string representation
  48561. func (s UnmonitorInstancesInput) GoString() string {
  48562. return s.String()
  48563. }
  48564. // Validate inspects the fields of the type to determine if they are valid.
  48565. func (s *UnmonitorInstancesInput) Validate() error {
  48566. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  48567. if s.InstanceIds == nil {
  48568. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  48569. }
  48570. if invalidParams.Len() > 0 {
  48571. return invalidParams
  48572. }
  48573. return nil
  48574. }
  48575. // SetDryRun sets the DryRun field's value.
  48576. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  48577. s.DryRun = &v
  48578. return s
  48579. }
  48580. // SetInstanceIds sets the InstanceIds field's value.
  48581. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  48582. s.InstanceIds = v
  48583. return s
  48584. }
  48585. // Contains the output of UnmonitorInstances.
  48586. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesResult
  48587. type UnmonitorInstancesOutput struct {
  48588. _ struct{} `type:"structure"`
  48589. // The monitoring information.
  48590. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  48591. }
  48592. // String returns the string representation
  48593. func (s UnmonitorInstancesOutput) String() string {
  48594. return awsutil.Prettify(s)
  48595. }
  48596. // GoString returns the string representation
  48597. func (s UnmonitorInstancesOutput) GoString() string {
  48598. return s.String()
  48599. }
  48600. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  48601. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  48602. s.InstanceMonitorings = v
  48603. return s
  48604. }
  48605. // Information about items that were not successfully processed in a batch call.
  48606. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItem
  48607. type UnsuccessfulItem struct {
  48608. _ struct{} `type:"structure"`
  48609. // Information about the error.
  48610. //
  48611. // Error is a required field
  48612. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  48613. // The ID of the resource.
  48614. ResourceId *string `locationName:"resourceId" type:"string"`
  48615. }
  48616. // String returns the string representation
  48617. func (s UnsuccessfulItem) String() string {
  48618. return awsutil.Prettify(s)
  48619. }
  48620. // GoString returns the string representation
  48621. func (s UnsuccessfulItem) GoString() string {
  48622. return s.String()
  48623. }
  48624. // SetError sets the Error field's value.
  48625. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  48626. s.Error = v
  48627. return s
  48628. }
  48629. // SetResourceId sets the ResourceId field's value.
  48630. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  48631. s.ResourceId = &v
  48632. return s
  48633. }
  48634. // Information about the error that occurred. For more information about errors,
  48635. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  48636. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItemError
  48637. type UnsuccessfulItemError struct {
  48638. _ struct{} `type:"structure"`
  48639. // The error code.
  48640. //
  48641. // Code is a required field
  48642. Code *string `locationName:"code" type:"string" required:"true"`
  48643. // The error message accompanying the error code.
  48644. //
  48645. // Message is a required field
  48646. Message *string `locationName:"message" type:"string" required:"true"`
  48647. }
  48648. // String returns the string representation
  48649. func (s UnsuccessfulItemError) String() string {
  48650. return awsutil.Prettify(s)
  48651. }
  48652. // GoString returns the string representation
  48653. func (s UnsuccessfulItemError) GoString() string {
  48654. return s.String()
  48655. }
  48656. // SetCode sets the Code field's value.
  48657. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  48658. s.Code = &v
  48659. return s
  48660. }
  48661. // SetMessage sets the Message field's value.
  48662. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  48663. s.Message = &v
  48664. return s
  48665. }
  48666. // Describes the S3 bucket for the disk image.
  48667. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucket
  48668. type UserBucket struct {
  48669. _ struct{} `type:"structure"`
  48670. // The name of the S3 bucket where the disk image is located.
  48671. S3Bucket *string `type:"string"`
  48672. // The file name of the disk image.
  48673. S3Key *string `type:"string"`
  48674. }
  48675. // String returns the string representation
  48676. func (s UserBucket) String() string {
  48677. return awsutil.Prettify(s)
  48678. }
  48679. // GoString returns the string representation
  48680. func (s UserBucket) GoString() string {
  48681. return s.String()
  48682. }
  48683. // SetS3Bucket sets the S3Bucket field's value.
  48684. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  48685. s.S3Bucket = &v
  48686. return s
  48687. }
  48688. // SetS3Key sets the S3Key field's value.
  48689. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  48690. s.S3Key = &v
  48691. return s
  48692. }
  48693. // Describes the S3 bucket for the disk image.
  48694. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucketDetails
  48695. type UserBucketDetails struct {
  48696. _ struct{} `type:"structure"`
  48697. // The S3 bucket from which the disk image was created.
  48698. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  48699. // The file name of the disk image.
  48700. S3Key *string `locationName:"s3Key" type:"string"`
  48701. }
  48702. // String returns the string representation
  48703. func (s UserBucketDetails) String() string {
  48704. return awsutil.Prettify(s)
  48705. }
  48706. // GoString returns the string representation
  48707. func (s UserBucketDetails) GoString() string {
  48708. return s.String()
  48709. }
  48710. // SetS3Bucket sets the S3Bucket field's value.
  48711. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  48712. s.S3Bucket = &v
  48713. return s
  48714. }
  48715. // SetS3Key sets the S3Key field's value.
  48716. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  48717. s.S3Key = &v
  48718. return s
  48719. }
  48720. // Describes the user data for an instance.
  48721. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserData
  48722. type UserData struct {
  48723. _ struct{} `type:"structure"`
  48724. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  48725. // is performed for you, and you can load the text from a file. Otherwise, you
  48726. // must provide Base64-encoded text.
  48727. Data *string `locationName:"data" type:"string"`
  48728. }
  48729. // String returns the string representation
  48730. func (s UserData) String() string {
  48731. return awsutil.Prettify(s)
  48732. }
  48733. // GoString returns the string representation
  48734. func (s UserData) GoString() string {
  48735. return s.String()
  48736. }
  48737. // SetData sets the Data field's value.
  48738. func (s *UserData) SetData(v string) *UserData {
  48739. s.Data = &v
  48740. return s
  48741. }
  48742. // Describes a security group and AWS account ID pair.
  48743. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserIdGroupPair
  48744. type UserIdGroupPair struct {
  48745. _ struct{} `type:"structure"`
  48746. // The ID of the security group.
  48747. GroupId *string `locationName:"groupId" type:"string"`
  48748. // The name of the security group. In a request, use this parameter for a security
  48749. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  48750. // VPC, use the security group ID.
  48751. GroupName *string `locationName:"groupName" type:"string"`
  48752. // The status of a VPC peering connection, if applicable.
  48753. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  48754. // The ID of an AWS account. For a referenced security group in another VPC,
  48755. // the account ID of the referenced security group is returned.
  48756. //
  48757. // [EC2-Classic] Required when adding or removing rules that reference a security
  48758. // group in another AWS account.
  48759. UserId *string `locationName:"userId" type:"string"`
  48760. // The ID of the VPC for the referenced security group, if applicable.
  48761. VpcId *string `locationName:"vpcId" type:"string"`
  48762. // The ID of the VPC peering connection, if applicable.
  48763. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  48764. }
  48765. // String returns the string representation
  48766. func (s UserIdGroupPair) String() string {
  48767. return awsutil.Prettify(s)
  48768. }
  48769. // GoString returns the string representation
  48770. func (s UserIdGroupPair) GoString() string {
  48771. return s.String()
  48772. }
  48773. // SetGroupId sets the GroupId field's value.
  48774. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  48775. s.GroupId = &v
  48776. return s
  48777. }
  48778. // SetGroupName sets the GroupName field's value.
  48779. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  48780. s.GroupName = &v
  48781. return s
  48782. }
  48783. // SetPeeringStatus sets the PeeringStatus field's value.
  48784. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  48785. s.PeeringStatus = &v
  48786. return s
  48787. }
  48788. // SetUserId sets the UserId field's value.
  48789. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  48790. s.UserId = &v
  48791. return s
  48792. }
  48793. // SetVpcId sets the VpcId field's value.
  48794. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  48795. s.VpcId = &v
  48796. return s
  48797. }
  48798. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  48799. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  48800. s.VpcPeeringConnectionId = &v
  48801. return s
  48802. }
  48803. // Describes telemetry for a VPN tunnel.
  48804. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VgwTelemetry
  48805. type VgwTelemetry struct {
  48806. _ struct{} `type:"structure"`
  48807. // The number of accepted routes.
  48808. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  48809. // The date and time of the last change in status.
  48810. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  48811. // The Internet-routable IP address of the virtual private gateway's outside
  48812. // interface.
  48813. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  48814. // The status of the VPN tunnel.
  48815. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  48816. // If an error occurs, a description of the error.
  48817. StatusMessage *string `locationName:"statusMessage" type:"string"`
  48818. }
  48819. // String returns the string representation
  48820. func (s VgwTelemetry) String() string {
  48821. return awsutil.Prettify(s)
  48822. }
  48823. // GoString returns the string representation
  48824. func (s VgwTelemetry) GoString() string {
  48825. return s.String()
  48826. }
  48827. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  48828. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  48829. s.AcceptedRouteCount = &v
  48830. return s
  48831. }
  48832. // SetLastStatusChange sets the LastStatusChange field's value.
  48833. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  48834. s.LastStatusChange = &v
  48835. return s
  48836. }
  48837. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  48838. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  48839. s.OutsideIpAddress = &v
  48840. return s
  48841. }
  48842. // SetStatus sets the Status field's value.
  48843. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  48844. s.Status = &v
  48845. return s
  48846. }
  48847. // SetStatusMessage sets the StatusMessage field's value.
  48848. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  48849. s.StatusMessage = &v
  48850. return s
  48851. }
  48852. // Describes a volume.
  48853. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Volume
  48854. type Volume struct {
  48855. _ struct{} `type:"structure"`
  48856. // Information about the volume attachments.
  48857. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  48858. // The Availability Zone for the volume.
  48859. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  48860. // The time stamp when volume creation was initiated.
  48861. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  48862. // Indicates whether the volume will be encrypted.
  48863. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  48864. // The number of I/O operations per second (IOPS) that the volume supports.
  48865. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  48866. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  48867. // the baseline performance of the volume and the rate at which the volume accumulates
  48868. // I/O credits for bursting. For more information on General Purpose SSD baseline
  48869. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  48870. // in the Amazon Elastic Compute Cloud User Guide.
  48871. //
  48872. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  48873. // gp2 volumes.
  48874. //
  48875. // Condition: This parameter is required for requests to create io1 volumes;
  48876. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  48877. Iops *int64 `locationName:"iops" type:"integer"`
  48878. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  48879. // key (CMK) that was used to protect the volume encryption key for the volume.
  48880. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  48881. // The size of the volume, in GiBs.
  48882. Size *int64 `locationName:"size" type:"integer"`
  48883. // The snapshot from which the volume was created, if applicable.
  48884. SnapshotId *string `locationName:"snapshotId" type:"string"`
  48885. // The volume state.
  48886. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  48887. // Any tags assigned to the volume.
  48888. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48889. // The ID of the volume.
  48890. VolumeId *string `locationName:"volumeId" type:"string"`
  48891. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  48892. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  48893. // for Magnetic volumes.
  48894. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  48895. }
  48896. // String returns the string representation
  48897. func (s Volume) String() string {
  48898. return awsutil.Prettify(s)
  48899. }
  48900. // GoString returns the string representation
  48901. func (s Volume) GoString() string {
  48902. return s.String()
  48903. }
  48904. // SetAttachments sets the Attachments field's value.
  48905. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  48906. s.Attachments = v
  48907. return s
  48908. }
  48909. // SetAvailabilityZone sets the AvailabilityZone field's value.
  48910. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  48911. s.AvailabilityZone = &v
  48912. return s
  48913. }
  48914. // SetCreateTime sets the CreateTime field's value.
  48915. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  48916. s.CreateTime = &v
  48917. return s
  48918. }
  48919. // SetEncrypted sets the Encrypted field's value.
  48920. func (s *Volume) SetEncrypted(v bool) *Volume {
  48921. s.Encrypted = &v
  48922. return s
  48923. }
  48924. // SetIops sets the Iops field's value.
  48925. func (s *Volume) SetIops(v int64) *Volume {
  48926. s.Iops = &v
  48927. return s
  48928. }
  48929. // SetKmsKeyId sets the KmsKeyId field's value.
  48930. func (s *Volume) SetKmsKeyId(v string) *Volume {
  48931. s.KmsKeyId = &v
  48932. return s
  48933. }
  48934. // SetSize sets the Size field's value.
  48935. func (s *Volume) SetSize(v int64) *Volume {
  48936. s.Size = &v
  48937. return s
  48938. }
  48939. // SetSnapshotId sets the SnapshotId field's value.
  48940. func (s *Volume) SetSnapshotId(v string) *Volume {
  48941. s.SnapshotId = &v
  48942. return s
  48943. }
  48944. // SetState sets the State field's value.
  48945. func (s *Volume) SetState(v string) *Volume {
  48946. s.State = &v
  48947. return s
  48948. }
  48949. // SetTags sets the Tags field's value.
  48950. func (s *Volume) SetTags(v []*Tag) *Volume {
  48951. s.Tags = v
  48952. return s
  48953. }
  48954. // SetVolumeId sets the VolumeId field's value.
  48955. func (s *Volume) SetVolumeId(v string) *Volume {
  48956. s.VolumeId = &v
  48957. return s
  48958. }
  48959. // SetVolumeType sets the VolumeType field's value.
  48960. func (s *Volume) SetVolumeType(v string) *Volume {
  48961. s.VolumeType = &v
  48962. return s
  48963. }
  48964. // Describes volume attachment details.
  48965. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeAttachment
  48966. type VolumeAttachment struct {
  48967. _ struct{} `type:"structure"`
  48968. // The time stamp when the attachment initiated.
  48969. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  48970. // Indicates whether the EBS volume is deleted on instance termination.
  48971. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  48972. // The device name.
  48973. Device *string `locationName:"device" type:"string"`
  48974. // The ID of the instance.
  48975. InstanceId *string `locationName:"instanceId" type:"string"`
  48976. // The attachment state of the volume.
  48977. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  48978. // The ID of the volume.
  48979. VolumeId *string `locationName:"volumeId" type:"string"`
  48980. }
  48981. // String returns the string representation
  48982. func (s VolumeAttachment) String() string {
  48983. return awsutil.Prettify(s)
  48984. }
  48985. // GoString returns the string representation
  48986. func (s VolumeAttachment) GoString() string {
  48987. return s.String()
  48988. }
  48989. // SetAttachTime sets the AttachTime field's value.
  48990. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  48991. s.AttachTime = &v
  48992. return s
  48993. }
  48994. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  48995. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  48996. s.DeleteOnTermination = &v
  48997. return s
  48998. }
  48999. // SetDevice sets the Device field's value.
  49000. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  49001. s.Device = &v
  49002. return s
  49003. }
  49004. // SetInstanceId sets the InstanceId field's value.
  49005. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  49006. s.InstanceId = &v
  49007. return s
  49008. }
  49009. // SetState sets the State field's value.
  49010. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  49011. s.State = &v
  49012. return s
  49013. }
  49014. // SetVolumeId sets the VolumeId field's value.
  49015. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  49016. s.VolumeId = &v
  49017. return s
  49018. }
  49019. // Describes an EBS volume.
  49020. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeDetail
  49021. type VolumeDetail struct {
  49022. _ struct{} `type:"structure"`
  49023. // The size of the volume, in GiB.
  49024. //
  49025. // Size is a required field
  49026. Size *int64 `locationName:"size" type:"long" required:"true"`
  49027. }
  49028. // String returns the string representation
  49029. func (s VolumeDetail) String() string {
  49030. return awsutil.Prettify(s)
  49031. }
  49032. // GoString returns the string representation
  49033. func (s VolumeDetail) GoString() string {
  49034. return s.String()
  49035. }
  49036. // Validate inspects the fields of the type to determine if they are valid.
  49037. func (s *VolumeDetail) Validate() error {
  49038. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  49039. if s.Size == nil {
  49040. invalidParams.Add(request.NewErrParamRequired("Size"))
  49041. }
  49042. if invalidParams.Len() > 0 {
  49043. return invalidParams
  49044. }
  49045. return nil
  49046. }
  49047. // SetSize sets the Size field's value.
  49048. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  49049. s.Size = &v
  49050. return s
  49051. }
  49052. // Describes the modification status of an EBS volume.
  49053. //
  49054. // If the volume has never been modified, some element values will be null.
  49055. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeModification
  49056. type VolumeModification struct {
  49057. _ struct{} `type:"structure"`
  49058. // Modification completion or failure time.
  49059. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  49060. // Current state of modification. Modification state is null for unmodified
  49061. // volumes.
  49062. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  49063. // Original IOPS rate of the volume being modified.
  49064. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  49065. // Original size of the volume being modified.
  49066. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  49067. // Original EBS volume type of the volume being modified.
  49068. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  49069. // Modification progress from 0 to 100%.
  49070. Progress *int64 `locationName:"progress" type:"long"`
  49071. // Modification start time
  49072. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  49073. // Generic status message on modification progress or failure.
  49074. StatusMessage *string `locationName:"statusMessage" type:"string"`
  49075. // Target IOPS rate of the volume being modified.
  49076. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  49077. // Target size of the volume being modified.
  49078. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  49079. // Target EBS volume type of the volume being modified.
  49080. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  49081. // ID of the volume being modified.
  49082. VolumeId *string `locationName:"volumeId" type:"string"`
  49083. }
  49084. // String returns the string representation
  49085. func (s VolumeModification) String() string {
  49086. return awsutil.Prettify(s)
  49087. }
  49088. // GoString returns the string representation
  49089. func (s VolumeModification) GoString() string {
  49090. return s.String()
  49091. }
  49092. // SetEndTime sets the EndTime field's value.
  49093. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  49094. s.EndTime = &v
  49095. return s
  49096. }
  49097. // SetModificationState sets the ModificationState field's value.
  49098. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  49099. s.ModificationState = &v
  49100. return s
  49101. }
  49102. // SetOriginalIops sets the OriginalIops field's value.
  49103. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  49104. s.OriginalIops = &v
  49105. return s
  49106. }
  49107. // SetOriginalSize sets the OriginalSize field's value.
  49108. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  49109. s.OriginalSize = &v
  49110. return s
  49111. }
  49112. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  49113. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  49114. s.OriginalVolumeType = &v
  49115. return s
  49116. }
  49117. // SetProgress sets the Progress field's value.
  49118. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  49119. s.Progress = &v
  49120. return s
  49121. }
  49122. // SetStartTime sets the StartTime field's value.
  49123. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  49124. s.StartTime = &v
  49125. return s
  49126. }
  49127. // SetStatusMessage sets the StatusMessage field's value.
  49128. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  49129. s.StatusMessage = &v
  49130. return s
  49131. }
  49132. // SetTargetIops sets the TargetIops field's value.
  49133. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  49134. s.TargetIops = &v
  49135. return s
  49136. }
  49137. // SetTargetSize sets the TargetSize field's value.
  49138. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  49139. s.TargetSize = &v
  49140. return s
  49141. }
  49142. // SetTargetVolumeType sets the TargetVolumeType field's value.
  49143. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  49144. s.TargetVolumeType = &v
  49145. return s
  49146. }
  49147. // SetVolumeId sets the VolumeId field's value.
  49148. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  49149. s.VolumeId = &v
  49150. return s
  49151. }
  49152. // Describes a volume status operation code.
  49153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusAction
  49154. type VolumeStatusAction struct {
  49155. _ struct{} `type:"structure"`
  49156. // The code identifying the operation, for example, enable-volume-io.
  49157. Code *string `locationName:"code" type:"string"`
  49158. // A description of the operation.
  49159. Description *string `locationName:"description" type:"string"`
  49160. // The ID of the event associated with this operation.
  49161. EventId *string `locationName:"eventId" type:"string"`
  49162. // The event type associated with this operation.
  49163. EventType *string `locationName:"eventType" type:"string"`
  49164. }
  49165. // String returns the string representation
  49166. func (s VolumeStatusAction) String() string {
  49167. return awsutil.Prettify(s)
  49168. }
  49169. // GoString returns the string representation
  49170. func (s VolumeStatusAction) GoString() string {
  49171. return s.String()
  49172. }
  49173. // SetCode sets the Code field's value.
  49174. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  49175. s.Code = &v
  49176. return s
  49177. }
  49178. // SetDescription sets the Description field's value.
  49179. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  49180. s.Description = &v
  49181. return s
  49182. }
  49183. // SetEventId sets the EventId field's value.
  49184. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  49185. s.EventId = &v
  49186. return s
  49187. }
  49188. // SetEventType sets the EventType field's value.
  49189. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  49190. s.EventType = &v
  49191. return s
  49192. }
  49193. // Describes a volume status.
  49194. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusDetails
  49195. type VolumeStatusDetails struct {
  49196. _ struct{} `type:"structure"`
  49197. // The name of the volume status.
  49198. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  49199. // The intended status of the volume status.
  49200. Status *string `locationName:"status" type:"string"`
  49201. }
  49202. // String returns the string representation
  49203. func (s VolumeStatusDetails) String() string {
  49204. return awsutil.Prettify(s)
  49205. }
  49206. // GoString returns the string representation
  49207. func (s VolumeStatusDetails) GoString() string {
  49208. return s.String()
  49209. }
  49210. // SetName sets the Name field's value.
  49211. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  49212. s.Name = &v
  49213. return s
  49214. }
  49215. // SetStatus sets the Status field's value.
  49216. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  49217. s.Status = &v
  49218. return s
  49219. }
  49220. // Describes a volume status event.
  49221. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusEvent
  49222. type VolumeStatusEvent struct {
  49223. _ struct{} `type:"structure"`
  49224. // A description of the event.
  49225. Description *string `locationName:"description" type:"string"`
  49226. // The ID of this event.
  49227. EventId *string `locationName:"eventId" type:"string"`
  49228. // The type of this event.
  49229. EventType *string `locationName:"eventType" type:"string"`
  49230. // The latest end time of the event.
  49231. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  49232. // The earliest start time of the event.
  49233. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  49234. }
  49235. // String returns the string representation
  49236. func (s VolumeStatusEvent) String() string {
  49237. return awsutil.Prettify(s)
  49238. }
  49239. // GoString returns the string representation
  49240. func (s VolumeStatusEvent) GoString() string {
  49241. return s.String()
  49242. }
  49243. // SetDescription sets the Description field's value.
  49244. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  49245. s.Description = &v
  49246. return s
  49247. }
  49248. // SetEventId sets the EventId field's value.
  49249. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  49250. s.EventId = &v
  49251. return s
  49252. }
  49253. // SetEventType sets the EventType field's value.
  49254. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  49255. s.EventType = &v
  49256. return s
  49257. }
  49258. // SetNotAfter sets the NotAfter field's value.
  49259. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  49260. s.NotAfter = &v
  49261. return s
  49262. }
  49263. // SetNotBefore sets the NotBefore field's value.
  49264. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  49265. s.NotBefore = &v
  49266. return s
  49267. }
  49268. // Describes the status of a volume.
  49269. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusInfo
  49270. type VolumeStatusInfo struct {
  49271. _ struct{} `type:"structure"`
  49272. // The details of the volume status.
  49273. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  49274. // The status of the volume.
  49275. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  49276. }
  49277. // String returns the string representation
  49278. func (s VolumeStatusInfo) String() string {
  49279. return awsutil.Prettify(s)
  49280. }
  49281. // GoString returns the string representation
  49282. func (s VolumeStatusInfo) GoString() string {
  49283. return s.String()
  49284. }
  49285. // SetDetails sets the Details field's value.
  49286. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  49287. s.Details = v
  49288. return s
  49289. }
  49290. // SetStatus sets the Status field's value.
  49291. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  49292. s.Status = &v
  49293. return s
  49294. }
  49295. // Describes the volume status.
  49296. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusItem
  49297. type VolumeStatusItem struct {
  49298. _ struct{} `type:"structure"`
  49299. // The details of the operation.
  49300. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  49301. // The Availability Zone of the volume.
  49302. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  49303. // A list of events associated with the volume.
  49304. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  49305. // The volume ID.
  49306. VolumeId *string `locationName:"volumeId" type:"string"`
  49307. // The volume status.
  49308. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  49309. }
  49310. // String returns the string representation
  49311. func (s VolumeStatusItem) String() string {
  49312. return awsutil.Prettify(s)
  49313. }
  49314. // GoString returns the string representation
  49315. func (s VolumeStatusItem) GoString() string {
  49316. return s.String()
  49317. }
  49318. // SetActions sets the Actions field's value.
  49319. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  49320. s.Actions = v
  49321. return s
  49322. }
  49323. // SetAvailabilityZone sets the AvailabilityZone field's value.
  49324. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  49325. s.AvailabilityZone = &v
  49326. return s
  49327. }
  49328. // SetEvents sets the Events field's value.
  49329. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  49330. s.Events = v
  49331. return s
  49332. }
  49333. // SetVolumeId sets the VolumeId field's value.
  49334. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  49335. s.VolumeId = &v
  49336. return s
  49337. }
  49338. // SetVolumeStatus sets the VolumeStatus field's value.
  49339. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  49340. s.VolumeStatus = v
  49341. return s
  49342. }
  49343. // Describes a VPC.
  49344. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Vpc
  49345. type Vpc struct {
  49346. _ struct{} `type:"structure"`
  49347. // The IPv4 CIDR block for the VPC.
  49348. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  49349. // The ID of the set of DHCP options you've associated with the VPC (or default
  49350. // if the default options are associated with the VPC).
  49351. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  49352. // The allowed tenancy of instances launched into the VPC.
  49353. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  49354. // Information about the IPv6 CIDR blocks associated with the VPC.
  49355. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  49356. // Indicates whether the VPC is the default VPC.
  49357. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  49358. // The current state of the VPC.
  49359. State *string `locationName:"state" type:"string" enum:"VpcState"`
  49360. // Any tags assigned to the VPC.
  49361. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  49362. // The ID of the VPC.
  49363. VpcId *string `locationName:"vpcId" type:"string"`
  49364. }
  49365. // String returns the string representation
  49366. func (s Vpc) String() string {
  49367. return awsutil.Prettify(s)
  49368. }
  49369. // GoString returns the string representation
  49370. func (s Vpc) GoString() string {
  49371. return s.String()
  49372. }
  49373. // SetCidrBlock sets the CidrBlock field's value.
  49374. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  49375. s.CidrBlock = &v
  49376. return s
  49377. }
  49378. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  49379. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  49380. s.DhcpOptionsId = &v
  49381. return s
  49382. }
  49383. // SetInstanceTenancy sets the InstanceTenancy field's value.
  49384. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  49385. s.InstanceTenancy = &v
  49386. return s
  49387. }
  49388. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  49389. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  49390. s.Ipv6CidrBlockAssociationSet = v
  49391. return s
  49392. }
  49393. // SetIsDefault sets the IsDefault field's value.
  49394. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  49395. s.IsDefault = &v
  49396. return s
  49397. }
  49398. // SetState sets the State field's value.
  49399. func (s *Vpc) SetState(v string) *Vpc {
  49400. s.State = &v
  49401. return s
  49402. }
  49403. // SetTags sets the Tags field's value.
  49404. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  49405. s.Tags = v
  49406. return s
  49407. }
  49408. // SetVpcId sets the VpcId field's value.
  49409. func (s *Vpc) SetVpcId(v string) *Vpc {
  49410. s.VpcId = &v
  49411. return s
  49412. }
  49413. // Describes an attachment between a virtual private gateway and a VPC.
  49414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcAttachment
  49415. type VpcAttachment struct {
  49416. _ struct{} `type:"structure"`
  49417. // The current state of the attachment.
  49418. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  49419. // The ID of the VPC.
  49420. VpcId *string `locationName:"vpcId" type:"string"`
  49421. }
  49422. // String returns the string representation
  49423. func (s VpcAttachment) String() string {
  49424. return awsutil.Prettify(s)
  49425. }
  49426. // GoString returns the string representation
  49427. func (s VpcAttachment) GoString() string {
  49428. return s.String()
  49429. }
  49430. // SetState sets the State field's value.
  49431. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  49432. s.State = &v
  49433. return s
  49434. }
  49435. // SetVpcId sets the VpcId field's value.
  49436. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  49437. s.VpcId = &v
  49438. return s
  49439. }
  49440. // Describes the state of a CIDR block.
  49441. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockState
  49442. type VpcCidrBlockState struct {
  49443. _ struct{} `type:"structure"`
  49444. // The state of the CIDR block.
  49445. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  49446. // A message about the status of the CIDR block, if applicable.
  49447. StatusMessage *string `locationName:"statusMessage" type:"string"`
  49448. }
  49449. // String returns the string representation
  49450. func (s VpcCidrBlockState) String() string {
  49451. return awsutil.Prettify(s)
  49452. }
  49453. // GoString returns the string representation
  49454. func (s VpcCidrBlockState) GoString() string {
  49455. return s.String()
  49456. }
  49457. // SetState sets the State field's value.
  49458. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  49459. s.State = &v
  49460. return s
  49461. }
  49462. // SetStatusMessage sets the StatusMessage field's value.
  49463. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  49464. s.StatusMessage = &v
  49465. return s
  49466. }
  49467. // Describes whether a VPC is enabled for ClassicLink.
  49468. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcClassicLink
  49469. type VpcClassicLink struct {
  49470. _ struct{} `type:"structure"`
  49471. // Indicates whether the VPC is enabled for ClassicLink.
  49472. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  49473. // Any tags assigned to the VPC.
  49474. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  49475. // The ID of the VPC.
  49476. VpcId *string `locationName:"vpcId" type:"string"`
  49477. }
  49478. // String returns the string representation
  49479. func (s VpcClassicLink) String() string {
  49480. return awsutil.Prettify(s)
  49481. }
  49482. // GoString returns the string representation
  49483. func (s VpcClassicLink) GoString() string {
  49484. return s.String()
  49485. }
  49486. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  49487. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  49488. s.ClassicLinkEnabled = &v
  49489. return s
  49490. }
  49491. // SetTags sets the Tags field's value.
  49492. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  49493. s.Tags = v
  49494. return s
  49495. }
  49496. // SetVpcId sets the VpcId field's value.
  49497. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  49498. s.VpcId = &v
  49499. return s
  49500. }
  49501. // Describes a VPC endpoint.
  49502. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpoint
  49503. type VpcEndpoint struct {
  49504. _ struct{} `type:"structure"`
  49505. // The date and time the VPC endpoint was created.
  49506. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  49507. // The policy document associated with the endpoint.
  49508. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  49509. // One or more route tables associated with the endpoint.
  49510. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  49511. // The name of the AWS service to which the endpoint is associated.
  49512. ServiceName *string `locationName:"serviceName" type:"string"`
  49513. // The state of the VPC endpoint.
  49514. State *string `locationName:"state" type:"string" enum:"State"`
  49515. // The ID of the VPC endpoint.
  49516. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  49517. // The ID of the VPC to which the endpoint is associated.
  49518. VpcId *string `locationName:"vpcId" type:"string"`
  49519. }
  49520. // String returns the string representation
  49521. func (s VpcEndpoint) String() string {
  49522. return awsutil.Prettify(s)
  49523. }
  49524. // GoString returns the string representation
  49525. func (s VpcEndpoint) GoString() string {
  49526. return s.String()
  49527. }
  49528. // SetCreationTimestamp sets the CreationTimestamp field's value.
  49529. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  49530. s.CreationTimestamp = &v
  49531. return s
  49532. }
  49533. // SetPolicyDocument sets the PolicyDocument field's value.
  49534. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  49535. s.PolicyDocument = &v
  49536. return s
  49537. }
  49538. // SetRouteTableIds sets the RouteTableIds field's value.
  49539. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  49540. s.RouteTableIds = v
  49541. return s
  49542. }
  49543. // SetServiceName sets the ServiceName field's value.
  49544. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  49545. s.ServiceName = &v
  49546. return s
  49547. }
  49548. // SetState sets the State field's value.
  49549. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  49550. s.State = &v
  49551. return s
  49552. }
  49553. // SetVpcEndpointId sets the VpcEndpointId field's value.
  49554. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  49555. s.VpcEndpointId = &v
  49556. return s
  49557. }
  49558. // SetVpcId sets the VpcId field's value.
  49559. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  49560. s.VpcId = &v
  49561. return s
  49562. }
  49563. // Describes an IPv6 CIDR block associated with a VPC.
  49564. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcIpv6CidrBlockAssociation
  49565. type VpcIpv6CidrBlockAssociation struct {
  49566. _ struct{} `type:"structure"`
  49567. // The association ID for the IPv6 CIDR block.
  49568. AssociationId *string `locationName:"associationId" type:"string"`
  49569. // The IPv6 CIDR block.
  49570. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  49571. // Information about the state of the CIDR block.
  49572. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  49573. }
  49574. // String returns the string representation
  49575. func (s VpcIpv6CidrBlockAssociation) String() string {
  49576. return awsutil.Prettify(s)
  49577. }
  49578. // GoString returns the string representation
  49579. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  49580. return s.String()
  49581. }
  49582. // SetAssociationId sets the AssociationId field's value.
  49583. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  49584. s.AssociationId = &v
  49585. return s
  49586. }
  49587. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  49588. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  49589. s.Ipv6CidrBlock = &v
  49590. return s
  49591. }
  49592. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  49593. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  49594. s.Ipv6CidrBlockState = v
  49595. return s
  49596. }
  49597. // Describes a VPC peering connection.
  49598. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnection
  49599. type VpcPeeringConnection struct {
  49600. _ struct{} `type:"structure"`
  49601. // Information about the accepter VPC. CIDR block information is only returned
  49602. // when describing an active VPC peering connection.
  49603. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  49604. // The time that an unaccepted VPC peering connection will expire.
  49605. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  49606. // Information about the requester VPC. CIDR block information is only returned
  49607. // when describing an active VPC peering connection.
  49608. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  49609. // The status of the VPC peering connection.
  49610. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  49611. // Any tags assigned to the resource.
  49612. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  49613. // The ID of the VPC peering connection.
  49614. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  49615. }
  49616. // String returns the string representation
  49617. func (s VpcPeeringConnection) String() string {
  49618. return awsutil.Prettify(s)
  49619. }
  49620. // GoString returns the string representation
  49621. func (s VpcPeeringConnection) GoString() string {
  49622. return s.String()
  49623. }
  49624. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  49625. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  49626. s.AccepterVpcInfo = v
  49627. return s
  49628. }
  49629. // SetExpirationTime sets the ExpirationTime field's value.
  49630. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  49631. s.ExpirationTime = &v
  49632. return s
  49633. }
  49634. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  49635. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  49636. s.RequesterVpcInfo = v
  49637. return s
  49638. }
  49639. // SetStatus sets the Status field's value.
  49640. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  49641. s.Status = v
  49642. return s
  49643. }
  49644. // SetTags sets the Tags field's value.
  49645. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  49646. s.Tags = v
  49647. return s
  49648. }
  49649. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  49650. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  49651. s.VpcPeeringConnectionId = &v
  49652. return s
  49653. }
  49654. // Describes the VPC peering connection options.
  49655. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionOptionsDescription
  49656. type VpcPeeringConnectionOptionsDescription struct {
  49657. _ struct{} `type:"structure"`
  49658. // Indicates whether a local VPC can resolve public DNS hostnames to private
  49659. // IP addresses when queried from instances in a peer VPC.
  49660. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  49661. // Indicates whether a local ClassicLink connection can communicate with the
  49662. // peer VPC over the VPC peering connection.
  49663. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  49664. // Indicates whether a local VPC can communicate with a ClassicLink connection
  49665. // in the peer VPC over the VPC peering connection.
  49666. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  49667. }
  49668. // String returns the string representation
  49669. func (s VpcPeeringConnectionOptionsDescription) String() string {
  49670. return awsutil.Prettify(s)
  49671. }
  49672. // GoString returns the string representation
  49673. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  49674. return s.String()
  49675. }
  49676. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  49677. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  49678. s.AllowDnsResolutionFromRemoteVpc = &v
  49679. return s
  49680. }
  49681. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  49682. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  49683. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  49684. return s
  49685. }
  49686. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  49687. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  49688. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  49689. return s
  49690. }
  49691. // Describes the status of a VPC peering connection.
  49692. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionStateReason
  49693. type VpcPeeringConnectionStateReason struct {
  49694. _ struct{} `type:"structure"`
  49695. // The status of the VPC peering connection.
  49696. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  49697. // A message that provides more information about the status, if applicable.
  49698. Message *string `locationName:"message" type:"string"`
  49699. }
  49700. // String returns the string representation
  49701. func (s VpcPeeringConnectionStateReason) String() string {
  49702. return awsutil.Prettify(s)
  49703. }
  49704. // GoString returns the string representation
  49705. func (s VpcPeeringConnectionStateReason) GoString() string {
  49706. return s.String()
  49707. }
  49708. // SetCode sets the Code field's value.
  49709. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  49710. s.Code = &v
  49711. return s
  49712. }
  49713. // SetMessage sets the Message field's value.
  49714. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  49715. s.Message = &v
  49716. return s
  49717. }
  49718. // Describes a VPC in a VPC peering connection.
  49719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionVpcInfo
  49720. type VpcPeeringConnectionVpcInfo struct {
  49721. _ struct{} `type:"structure"`
  49722. // The IPv4 CIDR block for the VPC.
  49723. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  49724. // The IPv6 CIDR block for the VPC.
  49725. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  49726. // The AWS account ID of the VPC owner.
  49727. OwnerId *string `locationName:"ownerId" type:"string"`
  49728. // Information about the VPC peering connection options for the accepter or
  49729. // requester VPC.
  49730. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  49731. // The ID of the VPC.
  49732. VpcId *string `locationName:"vpcId" type:"string"`
  49733. }
  49734. // String returns the string representation
  49735. func (s VpcPeeringConnectionVpcInfo) String() string {
  49736. return awsutil.Prettify(s)
  49737. }
  49738. // GoString returns the string representation
  49739. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  49740. return s.String()
  49741. }
  49742. // SetCidrBlock sets the CidrBlock field's value.
  49743. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  49744. s.CidrBlock = &v
  49745. return s
  49746. }
  49747. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  49748. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  49749. s.Ipv6CidrBlockSet = v
  49750. return s
  49751. }
  49752. // SetOwnerId sets the OwnerId field's value.
  49753. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  49754. s.OwnerId = &v
  49755. return s
  49756. }
  49757. // SetPeeringOptions sets the PeeringOptions field's value.
  49758. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  49759. s.PeeringOptions = v
  49760. return s
  49761. }
  49762. // SetVpcId sets the VpcId field's value.
  49763. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  49764. s.VpcId = &v
  49765. return s
  49766. }
  49767. // Describes a VPN connection.
  49768. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnection
  49769. type VpnConnection struct {
  49770. _ struct{} `type:"structure"`
  49771. // The configuration information for the VPN connection's customer gateway (in
  49772. // the native XML format). This element is always present in the CreateVpnConnection
  49773. // response; however, it's present in the DescribeVpnConnections response only
  49774. // if the VPN connection is in the pending or available state.
  49775. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  49776. // The ID of the customer gateway at your end of the VPN connection.
  49777. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  49778. // The VPN connection options.
  49779. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  49780. // The static routes associated with the VPN connection.
  49781. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  49782. // The current state of the VPN connection.
  49783. State *string `locationName:"state" type:"string" enum:"VpnState"`
  49784. // Any tags assigned to the VPN connection.
  49785. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  49786. // The type of VPN connection.
  49787. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  49788. // Information about the VPN tunnel.
  49789. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  49790. // The ID of the VPN connection.
  49791. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  49792. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  49793. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  49794. }
  49795. // String returns the string representation
  49796. func (s VpnConnection) String() string {
  49797. return awsutil.Prettify(s)
  49798. }
  49799. // GoString returns the string representation
  49800. func (s VpnConnection) GoString() string {
  49801. return s.String()
  49802. }
  49803. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  49804. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  49805. s.CustomerGatewayConfiguration = &v
  49806. return s
  49807. }
  49808. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  49809. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  49810. s.CustomerGatewayId = &v
  49811. return s
  49812. }
  49813. // SetOptions sets the Options field's value.
  49814. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  49815. s.Options = v
  49816. return s
  49817. }
  49818. // SetRoutes sets the Routes field's value.
  49819. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  49820. s.Routes = v
  49821. return s
  49822. }
  49823. // SetState sets the State field's value.
  49824. func (s *VpnConnection) SetState(v string) *VpnConnection {
  49825. s.State = &v
  49826. return s
  49827. }
  49828. // SetTags sets the Tags field's value.
  49829. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  49830. s.Tags = v
  49831. return s
  49832. }
  49833. // SetType sets the Type field's value.
  49834. func (s *VpnConnection) SetType(v string) *VpnConnection {
  49835. s.Type = &v
  49836. return s
  49837. }
  49838. // SetVgwTelemetry sets the VgwTelemetry field's value.
  49839. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  49840. s.VgwTelemetry = v
  49841. return s
  49842. }
  49843. // SetVpnConnectionId sets the VpnConnectionId field's value.
  49844. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  49845. s.VpnConnectionId = &v
  49846. return s
  49847. }
  49848. // SetVpnGatewayId sets the VpnGatewayId field's value.
  49849. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  49850. s.VpnGatewayId = &v
  49851. return s
  49852. }
  49853. // Describes VPN connection options.
  49854. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptions
  49855. type VpnConnectionOptions struct {
  49856. _ struct{} `type:"structure"`
  49857. // Indicates whether the VPN connection uses static routes only. Static routes
  49858. // must be used for devices that don't support BGP.
  49859. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  49860. }
  49861. // String returns the string representation
  49862. func (s VpnConnectionOptions) String() string {
  49863. return awsutil.Prettify(s)
  49864. }
  49865. // GoString returns the string representation
  49866. func (s VpnConnectionOptions) GoString() string {
  49867. return s.String()
  49868. }
  49869. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  49870. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  49871. s.StaticRoutesOnly = &v
  49872. return s
  49873. }
  49874. // Describes VPN connection options.
  49875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptionsSpecification
  49876. type VpnConnectionOptionsSpecification struct {
  49877. _ struct{} `type:"structure"`
  49878. // Indicates whether the VPN connection uses static routes only. Static routes
  49879. // must be used for devices that don't support BGP.
  49880. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  49881. }
  49882. // String returns the string representation
  49883. func (s VpnConnectionOptionsSpecification) String() string {
  49884. return awsutil.Prettify(s)
  49885. }
  49886. // GoString returns the string representation
  49887. func (s VpnConnectionOptionsSpecification) GoString() string {
  49888. return s.String()
  49889. }
  49890. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  49891. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  49892. s.StaticRoutesOnly = &v
  49893. return s
  49894. }
  49895. // Describes a virtual private gateway.
  49896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnGateway
  49897. type VpnGateway struct {
  49898. _ struct{} `type:"structure"`
  49899. // The Availability Zone where the virtual private gateway was created, if applicable.
  49900. // This field may be empty or not returned.
  49901. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  49902. // The current state of the virtual private gateway.
  49903. State *string `locationName:"state" type:"string" enum:"VpnState"`
  49904. // Any tags assigned to the virtual private gateway.
  49905. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  49906. // The type of VPN connection the virtual private gateway supports.
  49907. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  49908. // Any VPCs attached to the virtual private gateway.
  49909. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  49910. // The ID of the virtual private gateway.
  49911. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  49912. }
  49913. // String returns the string representation
  49914. func (s VpnGateway) String() string {
  49915. return awsutil.Prettify(s)
  49916. }
  49917. // GoString returns the string representation
  49918. func (s VpnGateway) GoString() string {
  49919. return s.String()
  49920. }
  49921. // SetAvailabilityZone sets the AvailabilityZone field's value.
  49922. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  49923. s.AvailabilityZone = &v
  49924. return s
  49925. }
  49926. // SetState sets the State field's value.
  49927. func (s *VpnGateway) SetState(v string) *VpnGateway {
  49928. s.State = &v
  49929. return s
  49930. }
  49931. // SetTags sets the Tags field's value.
  49932. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  49933. s.Tags = v
  49934. return s
  49935. }
  49936. // SetType sets the Type field's value.
  49937. func (s *VpnGateway) SetType(v string) *VpnGateway {
  49938. s.Type = &v
  49939. return s
  49940. }
  49941. // SetVpcAttachments sets the VpcAttachments field's value.
  49942. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  49943. s.VpcAttachments = v
  49944. return s
  49945. }
  49946. // SetVpnGatewayId sets the VpnGatewayId field's value.
  49947. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  49948. s.VpnGatewayId = &v
  49949. return s
  49950. }
  49951. // Describes a static route for a VPN connection.
  49952. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnStaticRoute
  49953. type VpnStaticRoute struct {
  49954. _ struct{} `type:"structure"`
  49955. // The CIDR block associated with the local subnet of the customer data center.
  49956. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  49957. // Indicates how the routes were provided.
  49958. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  49959. // The current state of the static route.
  49960. State *string `locationName:"state" type:"string" enum:"VpnState"`
  49961. }
  49962. // String returns the string representation
  49963. func (s VpnStaticRoute) String() string {
  49964. return awsutil.Prettify(s)
  49965. }
  49966. // GoString returns the string representation
  49967. func (s VpnStaticRoute) GoString() string {
  49968. return s.String()
  49969. }
  49970. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  49971. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  49972. s.DestinationCidrBlock = &v
  49973. return s
  49974. }
  49975. // SetSource sets the Source field's value.
  49976. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  49977. s.Source = &v
  49978. return s
  49979. }
  49980. // SetState sets the State field's value.
  49981. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  49982. s.State = &v
  49983. return s
  49984. }
  49985. const (
  49986. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  49987. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  49988. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  49989. AccountAttributeNameDefaultVpc = "default-vpc"
  49990. )
  49991. const (
  49992. // ActivityStatusError is a ActivityStatus enum value
  49993. ActivityStatusError = "error"
  49994. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  49995. ActivityStatusPendingFulfillment = "pending_fulfillment"
  49996. // ActivityStatusPendingTermination is a ActivityStatus enum value
  49997. ActivityStatusPendingTermination = "pending_termination"
  49998. // ActivityStatusFulfilled is a ActivityStatus enum value
  49999. ActivityStatusFulfilled = "fulfilled"
  50000. )
  50001. const (
  50002. // AffinityDefault is a Affinity enum value
  50003. AffinityDefault = "default"
  50004. // AffinityHost is a Affinity enum value
  50005. AffinityHost = "host"
  50006. )
  50007. const (
  50008. // AllocationStateAvailable is a AllocationState enum value
  50009. AllocationStateAvailable = "available"
  50010. // AllocationStateUnderAssessment is a AllocationState enum value
  50011. AllocationStateUnderAssessment = "under-assessment"
  50012. // AllocationStatePermanentFailure is a AllocationState enum value
  50013. AllocationStatePermanentFailure = "permanent-failure"
  50014. // AllocationStateReleased is a AllocationState enum value
  50015. AllocationStateReleased = "released"
  50016. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  50017. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  50018. )
  50019. const (
  50020. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  50021. AllocationStrategyLowestPrice = "lowestPrice"
  50022. // AllocationStrategyDiversified is a AllocationStrategy enum value
  50023. AllocationStrategyDiversified = "diversified"
  50024. )
  50025. const (
  50026. // ArchitectureValuesI386 is a ArchitectureValues enum value
  50027. ArchitectureValuesI386 = "i386"
  50028. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  50029. ArchitectureValuesX8664 = "x86_64"
  50030. )
  50031. const (
  50032. // AttachmentStatusAttaching is a AttachmentStatus enum value
  50033. AttachmentStatusAttaching = "attaching"
  50034. // AttachmentStatusAttached is a AttachmentStatus enum value
  50035. AttachmentStatusAttached = "attached"
  50036. // AttachmentStatusDetaching is a AttachmentStatus enum value
  50037. AttachmentStatusDetaching = "detaching"
  50038. // AttachmentStatusDetached is a AttachmentStatus enum value
  50039. AttachmentStatusDetached = "detached"
  50040. )
  50041. const (
  50042. // AutoPlacementOn is a AutoPlacement enum value
  50043. AutoPlacementOn = "on"
  50044. // AutoPlacementOff is a AutoPlacement enum value
  50045. AutoPlacementOff = "off"
  50046. )
  50047. const (
  50048. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  50049. AvailabilityZoneStateAvailable = "available"
  50050. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  50051. AvailabilityZoneStateInformation = "information"
  50052. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  50053. AvailabilityZoneStateImpaired = "impaired"
  50054. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  50055. AvailabilityZoneStateUnavailable = "unavailable"
  50056. )
  50057. const (
  50058. // BatchStateSubmitted is a BatchState enum value
  50059. BatchStateSubmitted = "submitted"
  50060. // BatchStateActive is a BatchState enum value
  50061. BatchStateActive = "active"
  50062. // BatchStateCancelled is a BatchState enum value
  50063. BatchStateCancelled = "cancelled"
  50064. // BatchStateFailed is a BatchState enum value
  50065. BatchStateFailed = "failed"
  50066. // BatchStateCancelledRunning is a BatchState enum value
  50067. BatchStateCancelledRunning = "cancelled_running"
  50068. // BatchStateCancelledTerminating is a BatchState enum value
  50069. BatchStateCancelledTerminating = "cancelled_terminating"
  50070. // BatchStateModifying is a BatchState enum value
  50071. BatchStateModifying = "modifying"
  50072. )
  50073. const (
  50074. // BundleTaskStatePending is a BundleTaskState enum value
  50075. BundleTaskStatePending = "pending"
  50076. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  50077. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  50078. // BundleTaskStateBundling is a BundleTaskState enum value
  50079. BundleTaskStateBundling = "bundling"
  50080. // BundleTaskStateStoring is a BundleTaskState enum value
  50081. BundleTaskStateStoring = "storing"
  50082. // BundleTaskStateCancelling is a BundleTaskState enum value
  50083. BundleTaskStateCancelling = "cancelling"
  50084. // BundleTaskStateComplete is a BundleTaskState enum value
  50085. BundleTaskStateComplete = "complete"
  50086. // BundleTaskStateFailed is a BundleTaskState enum value
  50087. BundleTaskStateFailed = "failed"
  50088. )
  50089. const (
  50090. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  50091. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  50092. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  50093. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  50094. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  50095. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  50096. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  50097. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  50098. )
  50099. const (
  50100. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  50101. CancelSpotInstanceRequestStateActive = "active"
  50102. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  50103. CancelSpotInstanceRequestStateOpen = "open"
  50104. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  50105. CancelSpotInstanceRequestStateClosed = "closed"
  50106. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  50107. CancelSpotInstanceRequestStateCancelled = "cancelled"
  50108. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  50109. CancelSpotInstanceRequestStateCompleted = "completed"
  50110. )
  50111. const (
  50112. // ContainerFormatOva is a ContainerFormat enum value
  50113. ContainerFormatOva = "ova"
  50114. )
  50115. const (
  50116. // ConversionTaskStateActive is a ConversionTaskState enum value
  50117. ConversionTaskStateActive = "active"
  50118. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  50119. ConversionTaskStateCancelling = "cancelling"
  50120. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  50121. ConversionTaskStateCancelled = "cancelled"
  50122. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  50123. ConversionTaskStateCompleted = "completed"
  50124. )
  50125. const (
  50126. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  50127. CurrencyCodeValuesUsd = "USD"
  50128. )
  50129. const (
  50130. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  50131. DatafeedSubscriptionStateActive = "Active"
  50132. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  50133. DatafeedSubscriptionStateInactive = "Inactive"
  50134. )
  50135. const (
  50136. // DeviceTypeEbs is a DeviceType enum value
  50137. DeviceTypeEbs = "ebs"
  50138. // DeviceTypeInstanceStore is a DeviceType enum value
  50139. DeviceTypeInstanceStore = "instance-store"
  50140. )
  50141. const (
  50142. // DiskImageFormatVmdk is a DiskImageFormat enum value
  50143. DiskImageFormatVmdk = "VMDK"
  50144. // DiskImageFormatRaw is a DiskImageFormat enum value
  50145. DiskImageFormatRaw = "RAW"
  50146. // DiskImageFormatVhd is a DiskImageFormat enum value
  50147. DiskImageFormatVhd = "VHD"
  50148. )
  50149. const (
  50150. // DomainTypeVpc is a DomainType enum value
  50151. DomainTypeVpc = "vpc"
  50152. // DomainTypeStandard is a DomainType enum value
  50153. DomainTypeStandard = "standard"
  50154. )
  50155. const (
  50156. // ElasticGpuStateAttached is a ElasticGpuState enum value
  50157. ElasticGpuStateAttached = "ATTACHED"
  50158. )
  50159. const (
  50160. // ElasticGpuStatusOk is a ElasticGpuStatus enum value
  50161. ElasticGpuStatusOk = "OK"
  50162. // ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
  50163. ElasticGpuStatusImpaired = "IMPAIRED"
  50164. )
  50165. const (
  50166. // EventCodeInstanceReboot is a EventCode enum value
  50167. EventCodeInstanceReboot = "instance-reboot"
  50168. // EventCodeSystemReboot is a EventCode enum value
  50169. EventCodeSystemReboot = "system-reboot"
  50170. // EventCodeSystemMaintenance is a EventCode enum value
  50171. EventCodeSystemMaintenance = "system-maintenance"
  50172. // EventCodeInstanceRetirement is a EventCode enum value
  50173. EventCodeInstanceRetirement = "instance-retirement"
  50174. // EventCodeInstanceStop is a EventCode enum value
  50175. EventCodeInstanceStop = "instance-stop"
  50176. )
  50177. const (
  50178. // EventTypeInstanceChange is a EventType enum value
  50179. EventTypeInstanceChange = "instanceChange"
  50180. // EventTypeFleetRequestChange is a EventType enum value
  50181. EventTypeFleetRequestChange = "fleetRequestChange"
  50182. // EventTypeError is a EventType enum value
  50183. EventTypeError = "error"
  50184. )
  50185. const (
  50186. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  50187. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  50188. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  50189. ExcessCapacityTerminationPolicyDefault = "default"
  50190. )
  50191. const (
  50192. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  50193. ExportEnvironmentCitrix = "citrix"
  50194. // ExportEnvironmentVmware is a ExportEnvironment enum value
  50195. ExportEnvironmentVmware = "vmware"
  50196. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  50197. ExportEnvironmentMicrosoft = "microsoft"
  50198. )
  50199. const (
  50200. // ExportTaskStateActive is a ExportTaskState enum value
  50201. ExportTaskStateActive = "active"
  50202. // ExportTaskStateCancelling is a ExportTaskState enum value
  50203. ExportTaskStateCancelling = "cancelling"
  50204. // ExportTaskStateCancelled is a ExportTaskState enum value
  50205. ExportTaskStateCancelled = "cancelled"
  50206. // ExportTaskStateCompleted is a ExportTaskState enum value
  50207. ExportTaskStateCompleted = "completed"
  50208. )
  50209. const (
  50210. // FleetTypeRequest is a FleetType enum value
  50211. FleetTypeRequest = "request"
  50212. // FleetTypeMaintain is a FleetType enum value
  50213. FleetTypeMaintain = "maintain"
  50214. )
  50215. const (
  50216. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  50217. FlowLogsResourceTypeVpc = "VPC"
  50218. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  50219. FlowLogsResourceTypeSubnet = "Subnet"
  50220. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  50221. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  50222. )
  50223. const (
  50224. // FpgaImageStateCodePending is a FpgaImageStateCode enum value
  50225. FpgaImageStateCodePending = "pending"
  50226. // FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
  50227. FpgaImageStateCodeFailed = "failed"
  50228. // FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
  50229. FpgaImageStateCodeAvailable = "available"
  50230. // FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
  50231. FpgaImageStateCodeUnavailable = "unavailable"
  50232. )
  50233. const (
  50234. // GatewayTypeIpsec1 is a GatewayType enum value
  50235. GatewayTypeIpsec1 = "ipsec.1"
  50236. )
  50237. const (
  50238. // HostTenancyDedicated is a HostTenancy enum value
  50239. HostTenancyDedicated = "dedicated"
  50240. // HostTenancyHost is a HostTenancy enum value
  50241. HostTenancyHost = "host"
  50242. )
  50243. const (
  50244. // HypervisorTypeOvm is a HypervisorType enum value
  50245. HypervisorTypeOvm = "ovm"
  50246. // HypervisorTypeXen is a HypervisorType enum value
  50247. HypervisorTypeXen = "xen"
  50248. )
  50249. const (
  50250. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  50251. IamInstanceProfileAssociationStateAssociating = "associating"
  50252. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  50253. IamInstanceProfileAssociationStateAssociated = "associated"
  50254. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  50255. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  50256. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  50257. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  50258. )
  50259. const (
  50260. // ImageAttributeNameDescription is a ImageAttributeName enum value
  50261. ImageAttributeNameDescription = "description"
  50262. // ImageAttributeNameKernel is a ImageAttributeName enum value
  50263. ImageAttributeNameKernel = "kernel"
  50264. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  50265. ImageAttributeNameRamdisk = "ramdisk"
  50266. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  50267. ImageAttributeNameLaunchPermission = "launchPermission"
  50268. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  50269. ImageAttributeNameProductCodes = "productCodes"
  50270. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  50271. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  50272. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  50273. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  50274. )
  50275. const (
  50276. // ImageStatePending is a ImageState enum value
  50277. ImageStatePending = "pending"
  50278. // ImageStateAvailable is a ImageState enum value
  50279. ImageStateAvailable = "available"
  50280. // ImageStateInvalid is a ImageState enum value
  50281. ImageStateInvalid = "invalid"
  50282. // ImageStateDeregistered is a ImageState enum value
  50283. ImageStateDeregistered = "deregistered"
  50284. // ImageStateTransient is a ImageState enum value
  50285. ImageStateTransient = "transient"
  50286. // ImageStateFailed is a ImageState enum value
  50287. ImageStateFailed = "failed"
  50288. // ImageStateError is a ImageState enum value
  50289. ImageStateError = "error"
  50290. )
  50291. const (
  50292. // ImageTypeValuesMachine is a ImageTypeValues enum value
  50293. ImageTypeValuesMachine = "machine"
  50294. // ImageTypeValuesKernel is a ImageTypeValues enum value
  50295. ImageTypeValuesKernel = "kernel"
  50296. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  50297. ImageTypeValuesRamdisk = "ramdisk"
  50298. )
  50299. const (
  50300. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  50301. InstanceAttributeNameInstanceType = "instanceType"
  50302. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  50303. InstanceAttributeNameKernel = "kernel"
  50304. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  50305. InstanceAttributeNameRamdisk = "ramdisk"
  50306. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  50307. InstanceAttributeNameUserData = "userData"
  50308. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  50309. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  50310. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  50311. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  50312. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  50313. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  50314. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  50315. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  50316. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  50317. InstanceAttributeNameProductCodes = "productCodes"
  50318. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  50319. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  50320. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  50321. InstanceAttributeNameGroupSet = "groupSet"
  50322. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  50323. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  50324. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  50325. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  50326. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  50327. InstanceAttributeNameEnaSupport = "enaSupport"
  50328. )
  50329. const (
  50330. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  50331. InstanceHealthStatusHealthy = "healthy"
  50332. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  50333. InstanceHealthStatusUnhealthy = "unhealthy"
  50334. )
  50335. const (
  50336. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  50337. InstanceLifecycleTypeSpot = "spot"
  50338. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  50339. InstanceLifecycleTypeScheduled = "scheduled"
  50340. )
  50341. const (
  50342. // InstanceStateNamePending is a InstanceStateName enum value
  50343. InstanceStateNamePending = "pending"
  50344. // InstanceStateNameRunning is a InstanceStateName enum value
  50345. InstanceStateNameRunning = "running"
  50346. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  50347. InstanceStateNameShuttingDown = "shutting-down"
  50348. // InstanceStateNameTerminated is a InstanceStateName enum value
  50349. InstanceStateNameTerminated = "terminated"
  50350. // InstanceStateNameStopping is a InstanceStateName enum value
  50351. InstanceStateNameStopping = "stopping"
  50352. // InstanceStateNameStopped is a InstanceStateName enum value
  50353. InstanceStateNameStopped = "stopped"
  50354. )
  50355. const (
  50356. // InstanceTypeT1Micro is a InstanceType enum value
  50357. InstanceTypeT1Micro = "t1.micro"
  50358. // InstanceTypeT2Nano is a InstanceType enum value
  50359. InstanceTypeT2Nano = "t2.nano"
  50360. // InstanceTypeT2Micro is a InstanceType enum value
  50361. InstanceTypeT2Micro = "t2.micro"
  50362. // InstanceTypeT2Small is a InstanceType enum value
  50363. InstanceTypeT2Small = "t2.small"
  50364. // InstanceTypeT2Medium is a InstanceType enum value
  50365. InstanceTypeT2Medium = "t2.medium"
  50366. // InstanceTypeT2Large is a InstanceType enum value
  50367. InstanceTypeT2Large = "t2.large"
  50368. // InstanceTypeT2Xlarge is a InstanceType enum value
  50369. InstanceTypeT2Xlarge = "t2.xlarge"
  50370. // InstanceTypeT22xlarge is a InstanceType enum value
  50371. InstanceTypeT22xlarge = "t2.2xlarge"
  50372. // InstanceTypeM1Small is a InstanceType enum value
  50373. InstanceTypeM1Small = "m1.small"
  50374. // InstanceTypeM1Medium is a InstanceType enum value
  50375. InstanceTypeM1Medium = "m1.medium"
  50376. // InstanceTypeM1Large is a InstanceType enum value
  50377. InstanceTypeM1Large = "m1.large"
  50378. // InstanceTypeM1Xlarge is a InstanceType enum value
  50379. InstanceTypeM1Xlarge = "m1.xlarge"
  50380. // InstanceTypeM3Medium is a InstanceType enum value
  50381. InstanceTypeM3Medium = "m3.medium"
  50382. // InstanceTypeM3Large is a InstanceType enum value
  50383. InstanceTypeM3Large = "m3.large"
  50384. // InstanceTypeM3Xlarge is a InstanceType enum value
  50385. InstanceTypeM3Xlarge = "m3.xlarge"
  50386. // InstanceTypeM32xlarge is a InstanceType enum value
  50387. InstanceTypeM32xlarge = "m3.2xlarge"
  50388. // InstanceTypeM4Large is a InstanceType enum value
  50389. InstanceTypeM4Large = "m4.large"
  50390. // InstanceTypeM4Xlarge is a InstanceType enum value
  50391. InstanceTypeM4Xlarge = "m4.xlarge"
  50392. // InstanceTypeM42xlarge is a InstanceType enum value
  50393. InstanceTypeM42xlarge = "m4.2xlarge"
  50394. // InstanceTypeM44xlarge is a InstanceType enum value
  50395. InstanceTypeM44xlarge = "m4.4xlarge"
  50396. // InstanceTypeM410xlarge is a InstanceType enum value
  50397. InstanceTypeM410xlarge = "m4.10xlarge"
  50398. // InstanceTypeM416xlarge is a InstanceType enum value
  50399. InstanceTypeM416xlarge = "m4.16xlarge"
  50400. // InstanceTypeM2Xlarge is a InstanceType enum value
  50401. InstanceTypeM2Xlarge = "m2.xlarge"
  50402. // InstanceTypeM22xlarge is a InstanceType enum value
  50403. InstanceTypeM22xlarge = "m2.2xlarge"
  50404. // InstanceTypeM24xlarge is a InstanceType enum value
  50405. InstanceTypeM24xlarge = "m2.4xlarge"
  50406. // InstanceTypeCr18xlarge is a InstanceType enum value
  50407. InstanceTypeCr18xlarge = "cr1.8xlarge"
  50408. // InstanceTypeR3Large is a InstanceType enum value
  50409. InstanceTypeR3Large = "r3.large"
  50410. // InstanceTypeR3Xlarge is a InstanceType enum value
  50411. InstanceTypeR3Xlarge = "r3.xlarge"
  50412. // InstanceTypeR32xlarge is a InstanceType enum value
  50413. InstanceTypeR32xlarge = "r3.2xlarge"
  50414. // InstanceTypeR34xlarge is a InstanceType enum value
  50415. InstanceTypeR34xlarge = "r3.4xlarge"
  50416. // InstanceTypeR38xlarge is a InstanceType enum value
  50417. InstanceTypeR38xlarge = "r3.8xlarge"
  50418. // InstanceTypeR4Large is a InstanceType enum value
  50419. InstanceTypeR4Large = "r4.large"
  50420. // InstanceTypeR4Xlarge is a InstanceType enum value
  50421. InstanceTypeR4Xlarge = "r4.xlarge"
  50422. // InstanceTypeR42xlarge is a InstanceType enum value
  50423. InstanceTypeR42xlarge = "r4.2xlarge"
  50424. // InstanceTypeR44xlarge is a InstanceType enum value
  50425. InstanceTypeR44xlarge = "r4.4xlarge"
  50426. // InstanceTypeR48xlarge is a InstanceType enum value
  50427. InstanceTypeR48xlarge = "r4.8xlarge"
  50428. // InstanceTypeR416xlarge is a InstanceType enum value
  50429. InstanceTypeR416xlarge = "r4.16xlarge"
  50430. // InstanceTypeX116xlarge is a InstanceType enum value
  50431. InstanceTypeX116xlarge = "x1.16xlarge"
  50432. // InstanceTypeX132xlarge is a InstanceType enum value
  50433. InstanceTypeX132xlarge = "x1.32xlarge"
  50434. // InstanceTypeI2Xlarge is a InstanceType enum value
  50435. InstanceTypeI2Xlarge = "i2.xlarge"
  50436. // InstanceTypeI22xlarge is a InstanceType enum value
  50437. InstanceTypeI22xlarge = "i2.2xlarge"
  50438. // InstanceTypeI24xlarge is a InstanceType enum value
  50439. InstanceTypeI24xlarge = "i2.4xlarge"
  50440. // InstanceTypeI28xlarge is a InstanceType enum value
  50441. InstanceTypeI28xlarge = "i2.8xlarge"
  50442. // InstanceTypeI3Large is a InstanceType enum value
  50443. InstanceTypeI3Large = "i3.large"
  50444. // InstanceTypeI3Xlarge is a InstanceType enum value
  50445. InstanceTypeI3Xlarge = "i3.xlarge"
  50446. // InstanceTypeI32xlarge is a InstanceType enum value
  50447. InstanceTypeI32xlarge = "i3.2xlarge"
  50448. // InstanceTypeI34xlarge is a InstanceType enum value
  50449. InstanceTypeI34xlarge = "i3.4xlarge"
  50450. // InstanceTypeI38xlarge is a InstanceType enum value
  50451. InstanceTypeI38xlarge = "i3.8xlarge"
  50452. // InstanceTypeI316xlarge is a InstanceType enum value
  50453. InstanceTypeI316xlarge = "i3.16xlarge"
  50454. // InstanceTypeHi14xlarge is a InstanceType enum value
  50455. InstanceTypeHi14xlarge = "hi1.4xlarge"
  50456. // InstanceTypeHs18xlarge is a InstanceType enum value
  50457. InstanceTypeHs18xlarge = "hs1.8xlarge"
  50458. // InstanceTypeC1Medium is a InstanceType enum value
  50459. InstanceTypeC1Medium = "c1.medium"
  50460. // InstanceTypeC1Xlarge is a InstanceType enum value
  50461. InstanceTypeC1Xlarge = "c1.xlarge"
  50462. // InstanceTypeC3Large is a InstanceType enum value
  50463. InstanceTypeC3Large = "c3.large"
  50464. // InstanceTypeC3Xlarge is a InstanceType enum value
  50465. InstanceTypeC3Xlarge = "c3.xlarge"
  50466. // InstanceTypeC32xlarge is a InstanceType enum value
  50467. InstanceTypeC32xlarge = "c3.2xlarge"
  50468. // InstanceTypeC34xlarge is a InstanceType enum value
  50469. InstanceTypeC34xlarge = "c3.4xlarge"
  50470. // InstanceTypeC38xlarge is a InstanceType enum value
  50471. InstanceTypeC38xlarge = "c3.8xlarge"
  50472. // InstanceTypeC4Large is a InstanceType enum value
  50473. InstanceTypeC4Large = "c4.large"
  50474. // InstanceTypeC4Xlarge is a InstanceType enum value
  50475. InstanceTypeC4Xlarge = "c4.xlarge"
  50476. // InstanceTypeC42xlarge is a InstanceType enum value
  50477. InstanceTypeC42xlarge = "c4.2xlarge"
  50478. // InstanceTypeC44xlarge is a InstanceType enum value
  50479. InstanceTypeC44xlarge = "c4.4xlarge"
  50480. // InstanceTypeC48xlarge is a InstanceType enum value
  50481. InstanceTypeC48xlarge = "c4.8xlarge"
  50482. // InstanceTypeCc14xlarge is a InstanceType enum value
  50483. InstanceTypeCc14xlarge = "cc1.4xlarge"
  50484. // InstanceTypeCc28xlarge is a InstanceType enum value
  50485. InstanceTypeCc28xlarge = "cc2.8xlarge"
  50486. // InstanceTypeG22xlarge is a InstanceType enum value
  50487. InstanceTypeG22xlarge = "g2.2xlarge"
  50488. // InstanceTypeG28xlarge is a InstanceType enum value
  50489. InstanceTypeG28xlarge = "g2.8xlarge"
  50490. // InstanceTypeG34xlarge is a InstanceType enum value
  50491. InstanceTypeG34xlarge = "g3.4xlarge"
  50492. // InstanceTypeG38xlarge is a InstanceType enum value
  50493. InstanceTypeG38xlarge = "g3.8xlarge"
  50494. // InstanceTypeG316xlarge is a InstanceType enum value
  50495. InstanceTypeG316xlarge = "g3.16xlarge"
  50496. // InstanceTypeCg14xlarge is a InstanceType enum value
  50497. InstanceTypeCg14xlarge = "cg1.4xlarge"
  50498. // InstanceTypeP2Xlarge is a InstanceType enum value
  50499. InstanceTypeP2Xlarge = "p2.xlarge"
  50500. // InstanceTypeP28xlarge is a InstanceType enum value
  50501. InstanceTypeP28xlarge = "p2.8xlarge"
  50502. // InstanceTypeP216xlarge is a InstanceType enum value
  50503. InstanceTypeP216xlarge = "p2.16xlarge"
  50504. // InstanceTypeD2Xlarge is a InstanceType enum value
  50505. InstanceTypeD2Xlarge = "d2.xlarge"
  50506. // InstanceTypeD22xlarge is a InstanceType enum value
  50507. InstanceTypeD22xlarge = "d2.2xlarge"
  50508. // InstanceTypeD24xlarge is a InstanceType enum value
  50509. InstanceTypeD24xlarge = "d2.4xlarge"
  50510. // InstanceTypeD28xlarge is a InstanceType enum value
  50511. InstanceTypeD28xlarge = "d2.8xlarge"
  50512. // InstanceTypeF12xlarge is a InstanceType enum value
  50513. InstanceTypeF12xlarge = "f1.2xlarge"
  50514. // InstanceTypeF116xlarge is a InstanceType enum value
  50515. InstanceTypeF116xlarge = "f1.16xlarge"
  50516. )
  50517. const (
  50518. // InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
  50519. InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
  50520. // InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
  50521. InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
  50522. )
  50523. const (
  50524. // ListingStateAvailable is a ListingState enum value
  50525. ListingStateAvailable = "available"
  50526. // ListingStateSold is a ListingState enum value
  50527. ListingStateSold = "sold"
  50528. // ListingStateCancelled is a ListingState enum value
  50529. ListingStateCancelled = "cancelled"
  50530. // ListingStatePending is a ListingState enum value
  50531. ListingStatePending = "pending"
  50532. )
  50533. const (
  50534. // ListingStatusActive is a ListingStatus enum value
  50535. ListingStatusActive = "active"
  50536. // ListingStatusPending is a ListingStatus enum value
  50537. ListingStatusPending = "pending"
  50538. // ListingStatusCancelled is a ListingStatus enum value
  50539. ListingStatusCancelled = "cancelled"
  50540. // ListingStatusClosed is a ListingStatus enum value
  50541. ListingStatusClosed = "closed"
  50542. )
  50543. const (
  50544. // MonitoringStateDisabled is a MonitoringState enum value
  50545. MonitoringStateDisabled = "disabled"
  50546. // MonitoringStateDisabling is a MonitoringState enum value
  50547. MonitoringStateDisabling = "disabling"
  50548. // MonitoringStateEnabled is a MonitoringState enum value
  50549. MonitoringStateEnabled = "enabled"
  50550. // MonitoringStatePending is a MonitoringState enum value
  50551. MonitoringStatePending = "pending"
  50552. )
  50553. const (
  50554. // MoveStatusMovingToVpc is a MoveStatus enum value
  50555. MoveStatusMovingToVpc = "movingToVpc"
  50556. // MoveStatusRestoringToClassic is a MoveStatus enum value
  50557. MoveStatusRestoringToClassic = "restoringToClassic"
  50558. )
  50559. const (
  50560. // NatGatewayStatePending is a NatGatewayState enum value
  50561. NatGatewayStatePending = "pending"
  50562. // NatGatewayStateFailed is a NatGatewayState enum value
  50563. NatGatewayStateFailed = "failed"
  50564. // NatGatewayStateAvailable is a NatGatewayState enum value
  50565. NatGatewayStateAvailable = "available"
  50566. // NatGatewayStateDeleting is a NatGatewayState enum value
  50567. NatGatewayStateDeleting = "deleting"
  50568. // NatGatewayStateDeleted is a NatGatewayState enum value
  50569. NatGatewayStateDeleted = "deleted"
  50570. )
  50571. const (
  50572. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  50573. NetworkInterfaceAttributeDescription = "description"
  50574. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  50575. NetworkInterfaceAttributeGroupSet = "groupSet"
  50576. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  50577. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  50578. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  50579. NetworkInterfaceAttributeAttachment = "attachment"
  50580. )
  50581. const (
  50582. // NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
  50583. NetworkInterfacePermissionStateCodePending = "pending"
  50584. // NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
  50585. NetworkInterfacePermissionStateCodeGranted = "granted"
  50586. // NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
  50587. NetworkInterfacePermissionStateCodeRevoking = "revoking"
  50588. // NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
  50589. NetworkInterfacePermissionStateCodeRevoked = "revoked"
  50590. )
  50591. const (
  50592. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  50593. NetworkInterfaceStatusAvailable = "available"
  50594. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  50595. NetworkInterfaceStatusAttaching = "attaching"
  50596. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  50597. NetworkInterfaceStatusInUse = "in-use"
  50598. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  50599. NetworkInterfaceStatusDetaching = "detaching"
  50600. )
  50601. const (
  50602. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  50603. NetworkInterfaceTypeInterface = "interface"
  50604. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  50605. NetworkInterfaceTypeNatGateway = "natGateway"
  50606. )
  50607. const (
  50608. // OfferingClassTypeStandard is a OfferingClassType enum value
  50609. OfferingClassTypeStandard = "standard"
  50610. // OfferingClassTypeConvertible is a OfferingClassType enum value
  50611. OfferingClassTypeConvertible = "convertible"
  50612. )
  50613. const (
  50614. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  50615. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  50616. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  50617. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  50618. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  50619. OfferingTypeValuesLightUtilization = "Light Utilization"
  50620. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  50621. OfferingTypeValuesNoUpfront = "No Upfront"
  50622. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  50623. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  50624. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  50625. OfferingTypeValuesAllUpfront = "All Upfront"
  50626. )
  50627. const (
  50628. // OperationTypeAdd is a OperationType enum value
  50629. OperationTypeAdd = "add"
  50630. // OperationTypeRemove is a OperationType enum value
  50631. OperationTypeRemove = "remove"
  50632. )
  50633. const (
  50634. // PaymentOptionAllUpfront is a PaymentOption enum value
  50635. PaymentOptionAllUpfront = "AllUpfront"
  50636. // PaymentOptionPartialUpfront is a PaymentOption enum value
  50637. PaymentOptionPartialUpfront = "PartialUpfront"
  50638. // PaymentOptionNoUpfront is a PaymentOption enum value
  50639. PaymentOptionNoUpfront = "NoUpfront"
  50640. )
  50641. const (
  50642. // PermissionGroupAll is a PermissionGroup enum value
  50643. PermissionGroupAll = "all"
  50644. )
  50645. const (
  50646. // PlacementGroupStatePending is a PlacementGroupState enum value
  50647. PlacementGroupStatePending = "pending"
  50648. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  50649. PlacementGroupStateAvailable = "available"
  50650. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  50651. PlacementGroupStateDeleting = "deleting"
  50652. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  50653. PlacementGroupStateDeleted = "deleted"
  50654. )
  50655. const (
  50656. // PlacementStrategyCluster is a PlacementStrategy enum value
  50657. PlacementStrategyCluster = "cluster"
  50658. )
  50659. const (
  50660. // PlatformValuesWindows is a PlatformValues enum value
  50661. PlatformValuesWindows = "Windows"
  50662. )
  50663. const (
  50664. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  50665. ProductCodeValuesDevpay = "devpay"
  50666. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  50667. ProductCodeValuesMarketplace = "marketplace"
  50668. )
  50669. const (
  50670. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  50671. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  50672. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  50673. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  50674. // RIProductDescriptionWindows is a RIProductDescription enum value
  50675. RIProductDescriptionWindows = "Windows"
  50676. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  50677. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  50678. )
  50679. const (
  50680. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  50681. RecurringChargeFrequencyHourly = "Hourly"
  50682. )
  50683. const (
  50684. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  50685. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  50686. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  50687. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  50688. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  50689. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  50690. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  50691. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  50692. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  50693. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  50694. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  50695. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  50696. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  50697. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  50698. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  50699. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  50700. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  50701. ReportInstanceReasonCodesOther = "other"
  50702. )
  50703. const (
  50704. // ReportStatusTypeOk is a ReportStatusType enum value
  50705. ReportStatusTypeOk = "ok"
  50706. // ReportStatusTypeImpaired is a ReportStatusType enum value
  50707. ReportStatusTypeImpaired = "impaired"
  50708. )
  50709. const (
  50710. // ReservationStatePaymentPending is a ReservationState enum value
  50711. ReservationStatePaymentPending = "payment-pending"
  50712. // ReservationStatePaymentFailed is a ReservationState enum value
  50713. ReservationStatePaymentFailed = "payment-failed"
  50714. // ReservationStateActive is a ReservationState enum value
  50715. ReservationStateActive = "active"
  50716. // ReservationStateRetired is a ReservationState enum value
  50717. ReservationStateRetired = "retired"
  50718. )
  50719. const (
  50720. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  50721. ReservedInstanceStatePaymentPending = "payment-pending"
  50722. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  50723. ReservedInstanceStateActive = "active"
  50724. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  50725. ReservedInstanceStatePaymentFailed = "payment-failed"
  50726. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  50727. ReservedInstanceStateRetired = "retired"
  50728. )
  50729. const (
  50730. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  50731. ResetImageAttributeNameLaunchPermission = "launchPermission"
  50732. )
  50733. const (
  50734. // ResourceTypeCustomerGateway is a ResourceType enum value
  50735. ResourceTypeCustomerGateway = "customer-gateway"
  50736. // ResourceTypeDhcpOptions is a ResourceType enum value
  50737. ResourceTypeDhcpOptions = "dhcp-options"
  50738. // ResourceTypeImage is a ResourceType enum value
  50739. ResourceTypeImage = "image"
  50740. // ResourceTypeInstance is a ResourceType enum value
  50741. ResourceTypeInstance = "instance"
  50742. // ResourceTypeInternetGateway is a ResourceType enum value
  50743. ResourceTypeInternetGateway = "internet-gateway"
  50744. // ResourceTypeNetworkAcl is a ResourceType enum value
  50745. ResourceTypeNetworkAcl = "network-acl"
  50746. // ResourceTypeNetworkInterface is a ResourceType enum value
  50747. ResourceTypeNetworkInterface = "network-interface"
  50748. // ResourceTypeReservedInstances is a ResourceType enum value
  50749. ResourceTypeReservedInstances = "reserved-instances"
  50750. // ResourceTypeRouteTable is a ResourceType enum value
  50751. ResourceTypeRouteTable = "route-table"
  50752. // ResourceTypeSnapshot is a ResourceType enum value
  50753. ResourceTypeSnapshot = "snapshot"
  50754. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  50755. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  50756. // ResourceTypeSubnet is a ResourceType enum value
  50757. ResourceTypeSubnet = "subnet"
  50758. // ResourceTypeSecurityGroup is a ResourceType enum value
  50759. ResourceTypeSecurityGroup = "security-group"
  50760. // ResourceTypeVolume is a ResourceType enum value
  50761. ResourceTypeVolume = "volume"
  50762. // ResourceTypeVpc is a ResourceType enum value
  50763. ResourceTypeVpc = "vpc"
  50764. // ResourceTypeVpnConnection is a ResourceType enum value
  50765. ResourceTypeVpnConnection = "vpn-connection"
  50766. // ResourceTypeVpnGateway is a ResourceType enum value
  50767. ResourceTypeVpnGateway = "vpn-gateway"
  50768. )
  50769. const (
  50770. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  50771. RouteOriginCreateRouteTable = "CreateRouteTable"
  50772. // RouteOriginCreateRoute is a RouteOrigin enum value
  50773. RouteOriginCreateRoute = "CreateRoute"
  50774. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  50775. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  50776. )
  50777. const (
  50778. // RouteStateActive is a RouteState enum value
  50779. RouteStateActive = "active"
  50780. // RouteStateBlackhole is a RouteState enum value
  50781. RouteStateBlackhole = "blackhole"
  50782. )
  50783. const (
  50784. // RuleActionAllow is a RuleAction enum value
  50785. RuleActionAllow = "allow"
  50786. // RuleActionDeny is a RuleAction enum value
  50787. RuleActionDeny = "deny"
  50788. )
  50789. const (
  50790. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  50791. ShutdownBehaviorStop = "stop"
  50792. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  50793. ShutdownBehaviorTerminate = "terminate"
  50794. )
  50795. const (
  50796. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  50797. SnapshotAttributeNameProductCodes = "productCodes"
  50798. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  50799. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  50800. )
  50801. const (
  50802. // SnapshotStatePending is a SnapshotState enum value
  50803. SnapshotStatePending = "pending"
  50804. // SnapshotStateCompleted is a SnapshotState enum value
  50805. SnapshotStateCompleted = "completed"
  50806. // SnapshotStateError is a SnapshotState enum value
  50807. SnapshotStateError = "error"
  50808. )
  50809. const (
  50810. // SpotInstanceStateOpen is a SpotInstanceState enum value
  50811. SpotInstanceStateOpen = "open"
  50812. // SpotInstanceStateActive is a SpotInstanceState enum value
  50813. SpotInstanceStateActive = "active"
  50814. // SpotInstanceStateClosed is a SpotInstanceState enum value
  50815. SpotInstanceStateClosed = "closed"
  50816. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  50817. SpotInstanceStateCancelled = "cancelled"
  50818. // SpotInstanceStateFailed is a SpotInstanceState enum value
  50819. SpotInstanceStateFailed = "failed"
  50820. )
  50821. const (
  50822. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  50823. SpotInstanceTypeOneTime = "one-time"
  50824. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  50825. SpotInstanceTypePersistent = "persistent"
  50826. )
  50827. const (
  50828. // StatePending is a State enum value
  50829. StatePending = "Pending"
  50830. // StateAvailable is a State enum value
  50831. StateAvailable = "Available"
  50832. // StateDeleting is a State enum value
  50833. StateDeleting = "Deleting"
  50834. // StateDeleted is a State enum value
  50835. StateDeleted = "Deleted"
  50836. )
  50837. const (
  50838. // StatusMoveInProgress is a Status enum value
  50839. StatusMoveInProgress = "MoveInProgress"
  50840. // StatusInVpc is a Status enum value
  50841. StatusInVpc = "InVpc"
  50842. // StatusInClassic is a Status enum value
  50843. StatusInClassic = "InClassic"
  50844. )
  50845. const (
  50846. // StatusNameReachability is a StatusName enum value
  50847. StatusNameReachability = "reachability"
  50848. )
  50849. const (
  50850. // StatusTypePassed is a StatusType enum value
  50851. StatusTypePassed = "passed"
  50852. // StatusTypeFailed is a StatusType enum value
  50853. StatusTypeFailed = "failed"
  50854. // StatusTypeInsufficientData is a StatusType enum value
  50855. StatusTypeInsufficientData = "insufficient-data"
  50856. // StatusTypeInitializing is a StatusType enum value
  50857. StatusTypeInitializing = "initializing"
  50858. )
  50859. const (
  50860. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  50861. SubnetCidrBlockStateCodeAssociating = "associating"
  50862. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  50863. SubnetCidrBlockStateCodeAssociated = "associated"
  50864. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  50865. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  50866. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  50867. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  50868. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  50869. SubnetCidrBlockStateCodeFailing = "failing"
  50870. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  50871. SubnetCidrBlockStateCodeFailed = "failed"
  50872. )
  50873. const (
  50874. // SubnetStatePending is a SubnetState enum value
  50875. SubnetStatePending = "pending"
  50876. // SubnetStateAvailable is a SubnetState enum value
  50877. SubnetStateAvailable = "available"
  50878. )
  50879. const (
  50880. // SummaryStatusOk is a SummaryStatus enum value
  50881. SummaryStatusOk = "ok"
  50882. // SummaryStatusImpaired is a SummaryStatus enum value
  50883. SummaryStatusImpaired = "impaired"
  50884. // SummaryStatusInsufficientData is a SummaryStatus enum value
  50885. SummaryStatusInsufficientData = "insufficient-data"
  50886. // SummaryStatusNotApplicable is a SummaryStatus enum value
  50887. SummaryStatusNotApplicable = "not-applicable"
  50888. // SummaryStatusInitializing is a SummaryStatus enum value
  50889. SummaryStatusInitializing = "initializing"
  50890. )
  50891. const (
  50892. // TelemetryStatusUp is a TelemetryStatus enum value
  50893. TelemetryStatusUp = "UP"
  50894. // TelemetryStatusDown is a TelemetryStatus enum value
  50895. TelemetryStatusDown = "DOWN"
  50896. )
  50897. const (
  50898. // TenancyDefault is a Tenancy enum value
  50899. TenancyDefault = "default"
  50900. // TenancyDedicated is a Tenancy enum value
  50901. TenancyDedicated = "dedicated"
  50902. // TenancyHost is a Tenancy enum value
  50903. TenancyHost = "host"
  50904. )
  50905. const (
  50906. // TrafficTypeAccept is a TrafficType enum value
  50907. TrafficTypeAccept = "ACCEPT"
  50908. // TrafficTypeReject is a TrafficType enum value
  50909. TrafficTypeReject = "REJECT"
  50910. // TrafficTypeAll is a TrafficType enum value
  50911. TrafficTypeAll = "ALL"
  50912. )
  50913. const (
  50914. // VirtualizationTypeHvm is a VirtualizationType enum value
  50915. VirtualizationTypeHvm = "hvm"
  50916. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  50917. VirtualizationTypeParavirtual = "paravirtual"
  50918. )
  50919. const (
  50920. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  50921. VolumeAttachmentStateAttaching = "attaching"
  50922. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  50923. VolumeAttachmentStateAttached = "attached"
  50924. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  50925. VolumeAttachmentStateDetaching = "detaching"
  50926. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  50927. VolumeAttachmentStateDetached = "detached"
  50928. )
  50929. const (
  50930. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  50931. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  50932. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  50933. VolumeAttributeNameProductCodes = "productCodes"
  50934. )
  50935. const (
  50936. // VolumeModificationStateModifying is a VolumeModificationState enum value
  50937. VolumeModificationStateModifying = "modifying"
  50938. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  50939. VolumeModificationStateOptimizing = "optimizing"
  50940. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  50941. VolumeModificationStateCompleted = "completed"
  50942. // VolumeModificationStateFailed is a VolumeModificationState enum value
  50943. VolumeModificationStateFailed = "failed"
  50944. )
  50945. const (
  50946. // VolumeStateCreating is a VolumeState enum value
  50947. VolumeStateCreating = "creating"
  50948. // VolumeStateAvailable is a VolumeState enum value
  50949. VolumeStateAvailable = "available"
  50950. // VolumeStateInUse is a VolumeState enum value
  50951. VolumeStateInUse = "in-use"
  50952. // VolumeStateDeleting is a VolumeState enum value
  50953. VolumeStateDeleting = "deleting"
  50954. // VolumeStateDeleted is a VolumeState enum value
  50955. VolumeStateDeleted = "deleted"
  50956. // VolumeStateError is a VolumeState enum value
  50957. VolumeStateError = "error"
  50958. )
  50959. const (
  50960. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  50961. VolumeStatusInfoStatusOk = "ok"
  50962. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  50963. VolumeStatusInfoStatusImpaired = "impaired"
  50964. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  50965. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  50966. )
  50967. const (
  50968. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  50969. VolumeStatusNameIoEnabled = "io-enabled"
  50970. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  50971. VolumeStatusNameIoPerformance = "io-performance"
  50972. )
  50973. const (
  50974. // VolumeTypeStandard is a VolumeType enum value
  50975. VolumeTypeStandard = "standard"
  50976. // VolumeTypeIo1 is a VolumeType enum value
  50977. VolumeTypeIo1 = "io1"
  50978. // VolumeTypeGp2 is a VolumeType enum value
  50979. VolumeTypeGp2 = "gp2"
  50980. // VolumeTypeSc1 is a VolumeType enum value
  50981. VolumeTypeSc1 = "sc1"
  50982. // VolumeTypeSt1 is a VolumeType enum value
  50983. VolumeTypeSt1 = "st1"
  50984. )
  50985. const (
  50986. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  50987. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  50988. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  50989. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  50990. )
  50991. const (
  50992. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  50993. VpcCidrBlockStateCodeAssociating = "associating"
  50994. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  50995. VpcCidrBlockStateCodeAssociated = "associated"
  50996. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  50997. VpcCidrBlockStateCodeDisassociating = "disassociating"
  50998. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  50999. VpcCidrBlockStateCodeDisassociated = "disassociated"
  51000. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  51001. VpcCidrBlockStateCodeFailing = "failing"
  51002. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  51003. VpcCidrBlockStateCodeFailed = "failed"
  51004. )
  51005. const (
  51006. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  51007. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  51008. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  51009. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  51010. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  51011. VpcPeeringConnectionStateReasonCodeActive = "active"
  51012. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  51013. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  51014. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  51015. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  51016. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  51017. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  51018. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  51019. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  51020. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  51021. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  51022. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  51023. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  51024. )
  51025. const (
  51026. // VpcStatePending is a VpcState enum value
  51027. VpcStatePending = "pending"
  51028. // VpcStateAvailable is a VpcState enum value
  51029. VpcStateAvailable = "available"
  51030. )
  51031. const (
  51032. // VpnStatePending is a VpnState enum value
  51033. VpnStatePending = "pending"
  51034. // VpnStateAvailable is a VpnState enum value
  51035. VpnStateAvailable = "available"
  51036. // VpnStateDeleting is a VpnState enum value
  51037. VpnStateDeleting = "deleting"
  51038. // VpnStateDeleted is a VpnState enum value
  51039. VpnStateDeleted = "deleted"
  51040. )
  51041. const (
  51042. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  51043. VpnStaticRouteSourceStatic = "Static"
  51044. )
  51045. const (
  51046. // ScopeAvailabilityZone is a scope enum value
  51047. ScopeAvailabilityZone = "Availability Zone"
  51048. // ScopeRegion is a scope enum value
  51049. ScopeRegion = "Region"
  51050. )