api.go 2.1 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055530565305753058530595306053061530625306353064530655306653067530685306953070530715307253073530745307553076530775307853079530805308153082530835308453085530865308753088530895309053091530925309353094530955309653097530985309953100531015310253103531045310553106531075310853109531105311153112531135311453115531165311753118531195312053121531225312353124531255312653127531285312953130531315313253133531345313553136531375313853139531405314153142531435314453145531465314753148531495315053151531525315353154531555315653157531585315953160531615316253163531645316553166531675316853169531705317153172531735317453175531765317753178531795318053181531825318353184531855318653187531885318953190531915319253193531945319553196531975319853199532005320153202532035320453205532065320753208532095321053211532125321353214532155321653217532185321953220532215322253223532245322553226532275322853229532305323153232532335323453235532365323753238532395324053241532425324353244532455324653247532485324953250532515325253253532545325553256532575325853259532605326153262532635326453265532665326753268532695327053271532725327353274532755327653277532785327953280532815328253283532845328553286532875328853289532905329153292532935329453295532965329753298532995330053301533025330353304533055330653307533085330953310533115331253313533145331553316533175331853319533205332153322533235332453325533265332753328533295333053331533325333353334533355333653337533385333953340533415334253343533445334553346533475334853349533505335153352533535335453355533565335753358533595336053361533625336353364533655336653367533685336953370533715337253373533745337553376533775337853379533805338153382533835338453385533865338753388533895339053391533925339353394533955339653397533985339953400534015340253403534045340553406534075340853409534105341153412534135341453415534165341753418534195342053421534225342353424534255342653427534285342953430534315343253433534345343553436534375343853439534405344153442534435344453445534465344753448534495345053451534525345353454534555345653457534585345953460534615346253463534645346553466534675346853469534705347153472534735347453475534765347753478534795348053481534825348353484534855348653487534885348953490534915349253493534945349553496534975349853499535005350153502535035350453505535065350753508535095351053511535125351353514535155351653517535185351953520535215352253523535245352553526535275352853529535305353153532535335353453535535365353753538535395354053541535425354353544535455354653547535485354953550535515355253553535545355553556535575355853559535605356153562535635356453565535665356753568535695357053571535725357353574535755357653577535785357953580535815358253583535845358553586535875358853589535905359153592535935359453595535965359753598535995360053601536025360353604536055360653607536085360953610536115361253613536145361553616536175361853619536205362153622536235362453625536265362753628536295363053631536325363353634536355363653637536385363953640536415364253643536445364553646536475364853649536505365153652536535365453655536565365753658536595366053661536625366353664536655366653667536685366953670536715367253673536745367553676536775367853679536805368153682536835368453685536865368753688536895369053691536925369353694536955369653697536985369953700537015370253703537045370553706537075370853709537105371153712537135371453715537165371753718537195372053721537225372353724537255372653727537285372953730537315373253733537345373553736537375373853739537405374153742537435374453745537465374753748537495375053751537525375353754537555375653757537585375953760537615376253763537645376553766537675376853769537705377153772537735377453775537765377753778537795378053781537825378353784537855378653787537885378953790537915379253793537945379553796537975379853799538005380153802538035380453805538065380753808538095381053811538125381353814538155381653817538185381953820538215382253823538245382553826538275382853829538305383153832538335383453835538365383753838538395384053841538425384353844538455384653847538485384953850538515385253853538545385553856538575385853859538605386153862538635386453865538665386753868538695387053871538725387353874538755387653877538785387953880538815388253883538845388553886538875388853889538905389153892538935389453895538965389753898538995390053901539025390353904539055390653907539085390953910539115391253913539145391553916539175391853919539205392153922539235392453925539265392753928539295393053931539325393353934539355393653937539385393953940539415394253943539445394553946539475394853949539505395153952539535395453955539565395753958539595396053961539625396353964539655396653967539685396953970539715397253973539745397553976539775397853979539805398153982539835398453985539865398753988539895399053991539925399353994539955399653997539985399954000540015400254003540045400554006540075400854009540105401154012540135401454015540165401754018540195402054021540225402354024540255402654027540285402954030540315403254033540345403554036540375403854039540405404154042540435404454045540465404754048540495405054051540525405354054540555405654057540585405954060540615406254063540645406554066540675406854069540705407154072540735407454075540765407754078540795408054081540825408354084540855408654087540885408954090540915409254093540945409554096540975409854099541005410154102541035410454105541065410754108541095411054111541125411354114541155411654117541185411954120541215412254123541245412554126541275412854129541305413154132541335413454135541365413754138541395414054141541425414354144541455414654147541485414954150541515415254153541545415554156541575415854159541605416154162541635416454165541665416754168541695417054171541725417354174541755417654177541785417954180541815418254183541845418554186541875418854189541905419154192541935419454195541965419754198541995420054201542025420354204542055420654207542085420954210542115421254213542145421554216542175421854219542205422154222542235422454225542265422754228542295423054231542325423354234542355423654237542385423954240542415424254243542445424554246542475424854249542505425154252542535425454255542565425754258542595426054261542625426354264542655426654267542685426954270542715427254273542745427554276542775427854279542805428154282542835428454285542865428754288542895429054291542925429354294542955429654297542985429954300543015430254303543045430554306543075430854309543105431154312543135431454315543165431754318543195432054321543225432354324543255432654327543285432954330543315433254333543345433554336543375433854339543405434154342543435434454345543465434754348543495435054351543525435354354543555435654357543585435954360543615436254363543645436554366543675436854369543705437154372543735437454375543765437754378543795438054381543825438354384543855438654387543885438954390543915439254393543945439554396543975439854399544005440154402544035440454405544065440754408544095441054411544125441354414544155441654417544185441954420544215442254423544245442554426544275442854429544305443154432544335443454435544365443754438544395444054441544425444354444544455444654447544485444954450544515445254453544545445554456544575445854459544605446154462544635446454465544665446754468544695447054471544725447354474544755447654477544785447954480544815448254483544845448554486544875448854489544905449154492544935449454495544965449754498544995450054501545025450354504545055450654507545085450954510545115451254513545145451554516545175451854519545205452154522545235452454525545265452754528545295453054531545325453354534545355453654537545385453954540545415454254543545445454554546545475454854549545505455154552545535455454555545565455754558545595456054561545625456354564545655456654567545685456954570545715457254573545745457554576545775457854579545805458154582545835458454585545865458754588545895459054591545925459354594545955459654597545985459954600546015460254603546045460554606546075460854609546105461154612546135461454615546165461754618546195462054621546225462354624546255462654627546285462954630546315463254633546345463554636546375463854639546405464154642546435464454645546465464754648546495465054651546525465354654546555465654657546585465954660546615466254663546645466554666546675466854669546705467154672546735467454675546765467754678546795468054681546825468354684546855468654687546885468954690546915469254693546945469554696546975469854699547005470154702547035470454705547065470754708547095471054711547125471354714547155471654717547185471954720547215472254723547245472554726547275472854729547305473154732547335473454735547365473754738547395474054741547425474354744547455474654747547485474954750547515475254753547545475554756547575475854759547605476154762547635476454765547665476754768547695477054771547725477354774547755477654777547785477954780547815478254783547845478554786547875478854789547905479154792547935479454795547965479754798547995480054801548025480354804548055480654807548085480954810548115481254813548145481554816548175481854819548205482154822548235482454825548265482754828548295483054831548325483354834548355483654837548385483954840548415484254843548445484554846548475484854849548505485154852548535485454855548565485754858548595486054861548625486354864548655486654867548685486954870548715487254873548745487554876548775487854879548805488154882548835488454885548865488754888548895489054891548925489354894548955489654897548985489954900549015490254903549045490554906549075490854909549105491154912549135491454915549165491754918549195492054921549225492354924549255492654927549285492954930549315493254933549345493554936549375493854939549405494154942549435494454945549465494754948549495495054951549525495354954549555495654957549585495954960549615496254963549645496554966549675496854969549705497154972549735497454975549765497754978549795498054981549825498354984549855498654987549885498954990549915499254993549945499554996549975499854999550005500155002550035500455005550065500755008550095501055011550125501355014550155501655017550185501955020550215502255023550245502555026550275502855029550305503155032550335503455035550365503755038550395504055041550425504355044550455504655047550485504955050550515505255053550545505555056550575505855059550605506155062550635506455065550665506755068550695507055071550725507355074550755507655077550785507955080550815508255083550845508555086550875508855089550905509155092550935509455095550965509755098550995510055101551025510355104551055510655107551085510955110551115511255113551145511555116551175511855119551205512155122551235512455125551265512755128551295513055131551325513355134551355513655137551385513955140551415514255143551445514555146551475514855149551505515155152551535515455155551565515755158551595516055161551625516355164551655516655167551685516955170551715517255173551745517555176551775517855179551805518155182551835518455185551865518755188551895519055191551925519355194551955519655197551985519955200552015520255203552045520555206552075520855209552105521155212552135521455215552165521755218552195522055221552225522355224552255522655227552285522955230552315523255233552345523555236552375523855239552405524155242552435524455245552465524755248552495525055251552525525355254552555525655257552585525955260552615526255263552645526555266552675526855269552705527155272552735527455275552765527755278552795528055281552825528355284552855528655287552885528955290552915529255293552945529555296552975529855299553005530155302553035530455305553065530755308553095531055311553125531355314553155531655317553185531955320553215532255323553245532555326553275532855329553305533155332553335533455335553365533755338553395534055341553425534355344553455534655347553485534955350553515535255353553545535555356553575535855359553605536155362553635536455365553665536755368553695537055371553725537355374553755537655377553785537955380553815538255383553845538555386553875538855389553905539155392553935539455395553965539755398553995540055401554025540355404554055540655407554085540955410554115541255413554145541555416554175541855419554205542155422554235542455425554265542755428554295543055431554325543355434554355543655437554385543955440554415544255443554445544555446554475544855449554505545155452554535545455455554565545755458554595546055461554625546355464554655546655467554685546955470554715547255473554745547555476554775547855479554805548155482554835548455485554865548755488554895549055491554925549355494554955549655497554985549955500555015550255503555045550555506555075550855509555105551155512555135551455515555165551755518555195552055521555225552355524555255552655527555285552955530555315553255533555345553555536555375553855539555405554155542555435554455545555465554755548555495555055551555525555355554555555555655557555585555955560555615556255563555645556555566555675556855569555705557155572555735557455575555765557755578555795558055581555825558355584555855558655587555885558955590555915559255593555945559555596555975559855599556005560155602556035560455605556065560755608556095561055611556125561355614556155561655617556185561955620556215562255623556245562555626556275562855629556305563155632556335563455635556365563755638556395564055641556425564355644556455564655647556485564955650556515565255653556545565555656556575565855659556605566155662556635566455665556665566755668556695567055671556725567355674556755567655677556785567955680556815568255683556845568555686556875568855689556905569155692556935569455695556965569755698556995570055701557025570355704557055570655707557085570955710557115571255713557145571555716557175571855719557205572155722557235572455725557265572755728557295573055731557325573355734557355573655737557385573955740557415574255743557445574555746557475574855749557505575155752557535575455755557565575755758557595576055761557625576355764557655576655767557685576955770557715577255773557745577555776557775577855779557805578155782557835578455785557865578755788557895579055791557925579355794557955579655797557985579955800558015580255803558045580555806558075580855809558105581155812558135581455815558165581755818558195582055821558225582355824558255582655827558285582955830558315583255833558345583555836558375583855839558405584155842558435584455845558465584755848558495585055851558525585355854558555585655857558585585955860558615586255863558645586555866558675586855869558705587155872558735587455875558765587755878558795588055881558825588355884558855588655887558885588955890558915589255893558945589555896558975589855899559005590155902559035590455905559065590755908559095591055911559125591355914559155591655917559185591955920559215592255923559245592555926559275592855929559305593155932559335593455935559365593755938559395594055941559425594355944559455594655947559485594955950559515595255953559545595555956559575595855959559605596155962559635596455965559665596755968559695597055971559725597355974559755597655977559785597955980559815598255983559845598555986559875598855989559905599155992559935599455995559965599755998559995600056001560025600356004560055600656007560085600956010560115601256013560145601556016560175601856019560205602156022560235602456025560265602756028560295603056031560325603356034560355603656037560385603956040560415604256043560445604556046560475604856049560505605156052560535605456055560565605756058560595606056061560625606356064560655606656067560685606956070560715607256073560745607556076560775607856079560805608156082560835608456085560865608756088560895609056091560925609356094560955609656097560985609956100561015610256103561045610556106561075610856109561105611156112561135611456115561165611756118561195612056121561225612356124561255612656127561285612956130561315613256133561345613556136561375613856139561405614156142561435614456145561465614756148561495615056151561525615356154561555615656157561585615956160561615616256163561645616556166561675616856169561705617156172561735617456175561765617756178561795618056181561825618356184561855618656187561885618956190561915619256193561945619556196561975619856199562005620156202562035620456205562065620756208562095621056211562125621356214562155621656217562185621956220562215622256223562245622556226562275622856229562305623156232562335623456235562365623756238562395624056241562425624356244562455624656247562485624956250562515625256253562545625556256562575625856259562605626156262562635626456265562665626756268562695627056271562725627356274562755627656277562785627956280562815628256283562845628556286562875628856289562905629156292562935629456295562965629756298562995630056301563025630356304563055630656307563085630956310563115631256313563145631556316563175631856319563205632156322563235632456325563265632756328563295633056331563325633356334563355633656337563385633956340563415634256343563445634556346563475634856349563505635156352563535635456355563565635756358563595636056361563625636356364563655636656367563685636956370563715637256373563745637556376563775637856379563805638156382563835638456385563865638756388563895639056391563925639356394563955639656397563985639956400564015640256403564045640556406564075640856409564105641156412564135641456415564165641756418564195642056421564225642356424564255642656427564285642956430564315643256433564345643556436564375643856439564405644156442564435644456445564465644756448564495645056451564525645356454564555645656457564585645956460564615646256463564645646556466564675646856469564705647156472564735647456475564765647756478564795648056481564825648356484564855648656487564885648956490564915649256493564945649556496564975649856499565005650156502565035650456505565065650756508565095651056511565125651356514565155651656517565185651956520565215652256523565245652556526565275652856529565305653156532565335653456535565365653756538565395654056541565425654356544565455654656547565485654956550565515655256553565545655556556565575655856559565605656156562565635656456565565665656756568565695657056571565725657356574565755657656577565785657956580565815658256583565845658556586565875658856589565905659156592565935659456595565965659756598565995660056601566025660356604566055660656607566085660956610566115661256613566145661556616566175661856619566205662156622566235662456625566265662756628566295663056631566325663356634566355663656637566385663956640566415664256643566445664556646566475664856649566505665156652566535665456655566565665756658566595666056661566625666356664566655666656667566685666956670566715667256673566745667556676566775667856679566805668156682566835668456685566865668756688566895669056691566925669356694566955669656697566985669956700567015670256703567045670556706567075670856709567105671156712567135671456715567165671756718567195672056721567225672356724567255672656727567285672956730567315673256733567345673556736567375673856739567405674156742567435674456745567465674756748567495675056751567525675356754567555675656757567585675956760567615676256763567645676556766567675676856769567705677156772567735677456775567765677756778567795678056781567825678356784567855678656787567885678956790567915679256793567945679556796567975679856799568005680156802568035680456805568065680756808568095681056811568125681356814568155681656817568185681956820568215682256823568245682556826568275682856829568305683156832568335683456835568365683756838568395684056841568425684356844568455684656847568485684956850568515685256853568545685556856568575685856859568605686156862568635686456865568665686756868568695687056871568725687356874568755687656877568785687956880568815688256883568845688556886568875688856889568905689156892568935689456895568965689756898568995690056901569025690356904569055690656907569085690956910569115691256913569145691556916569175691856919569205692156922569235692456925569265692756928569295693056931569325693356934569355693656937569385693956940569415694256943569445694556946569475694856949569505695156952569535695456955569565695756958569595696056961569625696356964569655696656967569685696956970569715697256973569745697556976569775697856979569805698156982569835698456985569865698756988569895699056991569925699356994569955699656997569985699957000570015700257003570045700557006570075700857009570105701157012570135701457015570165701757018570195702057021570225702357024570255702657027570285702957030570315703257033570345703557036570375703857039570405704157042570435704457045570465704757048570495705057051570525705357054570555705657057570585705957060570615706257063570645706557066570675706857069570705707157072570735707457075570765707757078570795708057081570825708357084570855708657087570885708957090570915709257093570945709557096570975709857099571005710157102571035710457105571065710757108571095711057111571125711357114571155711657117571185711957120571215712257123571245712557126571275712857129571305713157132571335713457135571365713757138571395714057141571425714357144571455714657147571485714957150571515715257153571545715557156571575715857159571605716157162571635716457165571665716757168571695717057171571725717357174571755717657177571785717957180571815718257183571845718557186571875718857189571905719157192571935719457195571965719757198571995720057201572025720357204572055720657207572085720957210572115721257213572145721557216572175721857219572205722157222572235722457225572265722757228572295723057231572325723357234572355723657237572385723957240572415724257243572445724557246572475724857249572505725157252572535725457255572565725757258572595726057261572625726357264572655726657267572685726957270572715727257273572745727557276572775727857279572805728157282572835728457285572865728757288572895729057291572925729357294572955729657297572985729957300573015730257303573045730557306573075730857309573105731157312573135731457315573165731757318573195732057321573225732357324573255732657327573285732957330573315733257333573345733557336573375733857339573405734157342573435734457345573465734757348573495735057351573525735357354573555735657357573585735957360573615736257363573645736557366573675736857369573705737157372573735737457375573765737757378573795738057381573825738357384573855738657387573885738957390573915739257393573945739557396573975739857399574005740157402574035740457405574065740757408574095741057411574125741357414574155741657417574185741957420574215742257423574245742557426574275742857429574305743157432574335743457435574365743757438574395744057441574425744357444574455744657447574485744957450574515745257453574545745557456574575745857459574605746157462574635746457465574665746757468574695747057471574725747357474574755747657477574785747957480574815748257483574845748557486574875748857489574905749157492574935749457495574965749757498574995750057501575025750357504575055750657507575085750957510575115751257513575145751557516575175751857519575205752157522575235752457525575265752757528575295753057531575325753357534575355753657537575385753957540575415754257543575445754557546575475754857549575505755157552575535755457555575565755757558575595756057561575625756357564575655756657567575685756957570575715757257573575745757557576575775757857579575805758157582575835758457585575865758757588575895759057591575925759357594575955759657597575985759957600576015760257603576045760557606576075760857609576105761157612576135761457615576165761757618576195762057621576225762357624576255762657627576285762957630576315763257633576345763557636576375763857639576405764157642576435764457645576465764757648576495765057651576525765357654576555765657657576585765957660576615766257663576645766557666576675766857669576705767157672576735767457675576765767757678576795768057681576825768357684576855768657687576885768957690576915769257693576945769557696576975769857699577005770157702577035770457705577065770757708577095771057711577125771357714577155771657717577185771957720577215772257723577245772557726577275772857729577305773157732577335773457735577365773757738577395774057741577425774357744577455774657747577485774957750577515775257753577545775557756577575775857759577605776157762577635776457765577665776757768577695777057771577725777357774577755777657777577785777957780577815778257783577845778557786577875778857789577905779157792577935779457795577965779757798577995780057801578025780357804578055780657807578085780957810578115781257813578145781557816578175781857819578205782157822578235782457825578265782757828578295783057831578325783357834578355783657837578385783957840578415784257843578445784557846578475784857849578505785157852578535785457855578565785757858578595786057861578625786357864578655786657867578685786957870578715787257873578745787557876578775787857879578805788157882578835788457885578865788757888578895789057891578925789357894578955789657897578985789957900579015790257903579045790557906579075790857909579105791157912579135791457915579165791757918579195792057921579225792357924579255792657927579285792957930579315793257933579345793557936579375793857939579405794157942579435794457945579465794757948579495795057951579525795357954579555795657957579585795957960579615796257963579645796557966579675796857969579705797157972579735797457975579765797757978579795798057981579825798357984579855798657987579885798957990579915799257993579945799557996579975799857999580005800158002580035800458005580065800758008580095801058011580125801358014580155801658017580185801958020580215802258023580245802558026580275802858029580305803158032580335803458035580365803758038580395804058041580425804358044580455804658047580485804958050580515805258053580545805558056580575805858059580605806158062580635806458065580665806758068580695807058071580725807358074580755807658077580785807958080580815808258083580845808558086580875808858089580905809158092580935809458095580965809758098580995810058101581025810358104581055810658107581085810958110581115811258113581145811558116581175811858119581205812158122581235812458125581265812758128581295813058131581325813358134
  1. // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
  2. // Package ec2 provides a client for Amazon Elastic Compute Cloud.
  3. package ec2
  4. import (
  5. "fmt"
  6. "time"
  7. "github.com/aws/aws-sdk-go/aws"
  8. "github.com/aws/aws-sdk-go/aws/awsutil"
  9. "github.com/aws/aws-sdk-go/aws/request"
  10. "github.com/aws/aws-sdk-go/private/protocol"
  11. "github.com/aws/aws-sdk-go/private/protocol/ec2query"
  12. )
  13. const opAcceptReservedInstancesExchangeQuote = "AcceptReservedInstancesExchangeQuote"
  14. // AcceptReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  15. // client's request for the AcceptReservedInstancesExchangeQuote operation. The "output" return
  16. // value can be used to capture response data after the request's "Send" method
  17. // is called.
  18. //
  19. // See AcceptReservedInstancesExchangeQuote for usage and error information.
  20. //
  21. // Creating a request object using this method should be used when you want to inject
  22. // custom logic into the request's lifecycle using a custom handler, or if you want to
  23. // access properties on the request object before or after sending the request. If
  24. // you just want the service response, call the AcceptReservedInstancesExchangeQuote method directly
  25. // instead.
  26. //
  27. // Note: You must call the "Send" method on the returned request object in order
  28. // to execute the request.
  29. //
  30. // // Example sending a request using the AcceptReservedInstancesExchangeQuoteRequest method.
  31. // req, resp := client.AcceptReservedInstancesExchangeQuoteRequest(params)
  32. //
  33. // err := req.Send()
  34. // if err == nil { // resp is now filled
  35. // fmt.Println(resp)
  36. // }
  37. //
  38. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  39. func (c *EC2) AcceptReservedInstancesExchangeQuoteRequest(input *AcceptReservedInstancesExchangeQuoteInput) (req *request.Request, output *AcceptReservedInstancesExchangeQuoteOutput) {
  40. op := &request.Operation{
  41. Name: opAcceptReservedInstancesExchangeQuote,
  42. HTTPMethod: "POST",
  43. HTTPPath: "/",
  44. }
  45. if input == nil {
  46. input = &AcceptReservedInstancesExchangeQuoteInput{}
  47. }
  48. output = &AcceptReservedInstancesExchangeQuoteOutput{}
  49. req = c.newRequest(op, input, output)
  50. return
  51. }
  52. // AcceptReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  53. //
  54. // Accepts the Convertible Reserved Instance exchange quote described in the
  55. // GetReservedInstancesExchangeQuote call.
  56. //
  57. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  58. // with awserr.Error's Code and Message methods to get detailed information about
  59. // the error.
  60. //
  61. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  62. // API operation AcceptReservedInstancesExchangeQuote for usage and error information.
  63. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuote
  64. func (c *EC2) AcceptReservedInstancesExchangeQuote(input *AcceptReservedInstancesExchangeQuoteInput) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  65. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  66. return out, req.Send()
  67. }
  68. // AcceptReservedInstancesExchangeQuoteWithContext is the same as AcceptReservedInstancesExchangeQuote with the addition of
  69. // the ability to pass a context and additional request options.
  70. //
  71. // See AcceptReservedInstancesExchangeQuote for details on how to use this API operation.
  72. //
  73. // The context must be non-nil and will be used for request cancellation. If
  74. // the context is nil a panic will occur. In the future the SDK may create
  75. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  76. // for more information on using Contexts.
  77. func (c *EC2) AcceptReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *AcceptReservedInstancesExchangeQuoteInput, opts ...request.Option) (*AcceptReservedInstancesExchangeQuoteOutput, error) {
  78. req, out := c.AcceptReservedInstancesExchangeQuoteRequest(input)
  79. req.SetContext(ctx)
  80. req.ApplyOptions(opts...)
  81. return out, req.Send()
  82. }
  83. const opAcceptVpcPeeringConnection = "AcceptVpcPeeringConnection"
  84. // AcceptVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  85. // client's request for the AcceptVpcPeeringConnection operation. The "output" return
  86. // value can be used to capture response data after the request's "Send" method
  87. // is called.
  88. //
  89. // See AcceptVpcPeeringConnection for usage and error information.
  90. //
  91. // Creating a request object using this method should be used when you want to inject
  92. // custom logic into the request's lifecycle using a custom handler, or if you want to
  93. // access properties on the request object before or after sending the request. If
  94. // you just want the service response, call the AcceptVpcPeeringConnection method directly
  95. // instead.
  96. //
  97. // Note: You must call the "Send" method on the returned request object in order
  98. // to execute the request.
  99. //
  100. // // Example sending a request using the AcceptVpcPeeringConnectionRequest method.
  101. // req, resp := client.AcceptVpcPeeringConnectionRequest(params)
  102. //
  103. // err := req.Send()
  104. // if err == nil { // resp is now filled
  105. // fmt.Println(resp)
  106. // }
  107. //
  108. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  109. func (c *EC2) AcceptVpcPeeringConnectionRequest(input *AcceptVpcPeeringConnectionInput) (req *request.Request, output *AcceptVpcPeeringConnectionOutput) {
  110. op := &request.Operation{
  111. Name: opAcceptVpcPeeringConnection,
  112. HTTPMethod: "POST",
  113. HTTPPath: "/",
  114. }
  115. if input == nil {
  116. input = &AcceptVpcPeeringConnectionInput{}
  117. }
  118. output = &AcceptVpcPeeringConnectionOutput{}
  119. req = c.newRequest(op, input, output)
  120. return
  121. }
  122. // AcceptVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  123. //
  124. // Accept a VPC peering connection request. To accept a request, the VPC peering
  125. // connection must be in the pending-acceptance state, and you must be the owner
  126. // of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding
  127. // VPC peering connection requests.
  128. //
  129. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  130. // with awserr.Error's Code and Message methods to get detailed information about
  131. // the error.
  132. //
  133. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  134. // API operation AcceptVpcPeeringConnection for usage and error information.
  135. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnection
  136. func (c *EC2) AcceptVpcPeeringConnection(input *AcceptVpcPeeringConnectionInput) (*AcceptVpcPeeringConnectionOutput, error) {
  137. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  138. return out, req.Send()
  139. }
  140. // AcceptVpcPeeringConnectionWithContext is the same as AcceptVpcPeeringConnection with the addition of
  141. // the ability to pass a context and additional request options.
  142. //
  143. // See AcceptVpcPeeringConnection for details on how to use this API operation.
  144. //
  145. // The context must be non-nil and will be used for request cancellation. If
  146. // the context is nil a panic will occur. In the future the SDK may create
  147. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  148. // for more information on using Contexts.
  149. func (c *EC2) AcceptVpcPeeringConnectionWithContext(ctx aws.Context, input *AcceptVpcPeeringConnectionInput, opts ...request.Option) (*AcceptVpcPeeringConnectionOutput, error) {
  150. req, out := c.AcceptVpcPeeringConnectionRequest(input)
  151. req.SetContext(ctx)
  152. req.ApplyOptions(opts...)
  153. return out, req.Send()
  154. }
  155. const opAllocateAddress = "AllocateAddress"
  156. // AllocateAddressRequest generates a "aws/request.Request" representing the
  157. // client's request for the AllocateAddress operation. The "output" return
  158. // value can be used to capture response data after the request's "Send" method
  159. // is called.
  160. //
  161. // See AllocateAddress for usage and error information.
  162. //
  163. // Creating a request object using this method should be used when you want to inject
  164. // custom logic into the request's lifecycle using a custom handler, or if you want to
  165. // access properties on the request object before or after sending the request. If
  166. // you just want the service response, call the AllocateAddress method directly
  167. // instead.
  168. //
  169. // Note: You must call the "Send" method on the returned request object in order
  170. // to execute the request.
  171. //
  172. // // Example sending a request using the AllocateAddressRequest method.
  173. // req, resp := client.AllocateAddressRequest(params)
  174. //
  175. // err := req.Send()
  176. // if err == nil { // resp is now filled
  177. // fmt.Println(resp)
  178. // }
  179. //
  180. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  181. func (c *EC2) AllocateAddressRequest(input *AllocateAddressInput) (req *request.Request, output *AllocateAddressOutput) {
  182. op := &request.Operation{
  183. Name: opAllocateAddress,
  184. HTTPMethod: "POST",
  185. HTTPPath: "/",
  186. }
  187. if input == nil {
  188. input = &AllocateAddressInput{}
  189. }
  190. output = &AllocateAddressOutput{}
  191. req = c.newRequest(op, input, output)
  192. return
  193. }
  194. // AllocateAddress API operation for Amazon Elastic Compute Cloud.
  195. //
  196. // Acquires an Elastic IP address.
  197. //
  198. // An Elastic IP address is for use either in the EC2-Classic platform or in
  199. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  200. // in the Amazon Elastic Compute Cloud User Guide.
  201. //
  202. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  203. // with awserr.Error's Code and Message methods to get detailed information about
  204. // the error.
  205. //
  206. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  207. // API operation AllocateAddress for usage and error information.
  208. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddress
  209. func (c *EC2) AllocateAddress(input *AllocateAddressInput) (*AllocateAddressOutput, error) {
  210. req, out := c.AllocateAddressRequest(input)
  211. return out, req.Send()
  212. }
  213. // AllocateAddressWithContext is the same as AllocateAddress with the addition of
  214. // the ability to pass a context and additional request options.
  215. //
  216. // See AllocateAddress for details on how to use this API operation.
  217. //
  218. // The context must be non-nil and will be used for request cancellation. If
  219. // the context is nil a panic will occur. In the future the SDK may create
  220. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  221. // for more information on using Contexts.
  222. func (c *EC2) AllocateAddressWithContext(ctx aws.Context, input *AllocateAddressInput, opts ...request.Option) (*AllocateAddressOutput, error) {
  223. req, out := c.AllocateAddressRequest(input)
  224. req.SetContext(ctx)
  225. req.ApplyOptions(opts...)
  226. return out, req.Send()
  227. }
  228. const opAllocateHosts = "AllocateHosts"
  229. // AllocateHostsRequest generates a "aws/request.Request" representing the
  230. // client's request for the AllocateHosts operation. The "output" return
  231. // value can be used to capture response data after the request's "Send" method
  232. // is called.
  233. //
  234. // See AllocateHosts for usage and error information.
  235. //
  236. // Creating a request object using this method should be used when you want to inject
  237. // custom logic into the request's lifecycle using a custom handler, or if you want to
  238. // access properties on the request object before or after sending the request. If
  239. // you just want the service response, call the AllocateHosts method directly
  240. // instead.
  241. //
  242. // Note: You must call the "Send" method on the returned request object in order
  243. // to execute the request.
  244. //
  245. // // Example sending a request using the AllocateHostsRequest method.
  246. // req, resp := client.AllocateHostsRequest(params)
  247. //
  248. // err := req.Send()
  249. // if err == nil { // resp is now filled
  250. // fmt.Println(resp)
  251. // }
  252. //
  253. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  254. func (c *EC2) AllocateHostsRequest(input *AllocateHostsInput) (req *request.Request, output *AllocateHostsOutput) {
  255. op := &request.Operation{
  256. Name: opAllocateHosts,
  257. HTTPMethod: "POST",
  258. HTTPPath: "/",
  259. }
  260. if input == nil {
  261. input = &AllocateHostsInput{}
  262. }
  263. output = &AllocateHostsOutput{}
  264. req = c.newRequest(op, input, output)
  265. return
  266. }
  267. // AllocateHosts API operation for Amazon Elastic Compute Cloud.
  268. //
  269. // Allocates a Dedicated Host to your account. At minimum you need to specify
  270. // the instance size type, Availability Zone, and quantity of hosts you want
  271. // to allocate.
  272. //
  273. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  274. // with awserr.Error's Code and Message methods to get detailed information about
  275. // the error.
  276. //
  277. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  278. // API operation AllocateHosts for usage and error information.
  279. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHosts
  280. func (c *EC2) AllocateHosts(input *AllocateHostsInput) (*AllocateHostsOutput, error) {
  281. req, out := c.AllocateHostsRequest(input)
  282. return out, req.Send()
  283. }
  284. // AllocateHostsWithContext is the same as AllocateHosts with the addition of
  285. // the ability to pass a context and additional request options.
  286. //
  287. // See AllocateHosts for details on how to use this API operation.
  288. //
  289. // The context must be non-nil and will be used for request cancellation. If
  290. // the context is nil a panic will occur. In the future the SDK may create
  291. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  292. // for more information on using Contexts.
  293. func (c *EC2) AllocateHostsWithContext(ctx aws.Context, input *AllocateHostsInput, opts ...request.Option) (*AllocateHostsOutput, error) {
  294. req, out := c.AllocateHostsRequest(input)
  295. req.SetContext(ctx)
  296. req.ApplyOptions(opts...)
  297. return out, req.Send()
  298. }
  299. const opAssignIpv6Addresses = "AssignIpv6Addresses"
  300. // AssignIpv6AddressesRequest generates a "aws/request.Request" representing the
  301. // client's request for the AssignIpv6Addresses operation. The "output" return
  302. // value can be used to capture response data after the request's "Send" method
  303. // is called.
  304. //
  305. // See AssignIpv6Addresses for usage and error information.
  306. //
  307. // Creating a request object using this method should be used when you want to inject
  308. // custom logic into the request's lifecycle using a custom handler, or if you want to
  309. // access properties on the request object before or after sending the request. If
  310. // you just want the service response, call the AssignIpv6Addresses method directly
  311. // instead.
  312. //
  313. // Note: You must call the "Send" method on the returned request object in order
  314. // to execute the request.
  315. //
  316. // // Example sending a request using the AssignIpv6AddressesRequest method.
  317. // req, resp := client.AssignIpv6AddressesRequest(params)
  318. //
  319. // err := req.Send()
  320. // if err == nil { // resp is now filled
  321. // fmt.Println(resp)
  322. // }
  323. //
  324. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  325. func (c *EC2) AssignIpv6AddressesRequest(input *AssignIpv6AddressesInput) (req *request.Request, output *AssignIpv6AddressesOutput) {
  326. op := &request.Operation{
  327. Name: opAssignIpv6Addresses,
  328. HTTPMethod: "POST",
  329. HTTPPath: "/",
  330. }
  331. if input == nil {
  332. input = &AssignIpv6AddressesInput{}
  333. }
  334. output = &AssignIpv6AddressesOutput{}
  335. req = c.newRequest(op, input, output)
  336. return
  337. }
  338. // AssignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  339. //
  340. // Assigns one or more IPv6 addresses to the specified network interface. You
  341. // can specify one or more specific IPv6 addresses, or you can specify the number
  342. // of IPv6 addresses to be automatically assigned from within the subnet's IPv6
  343. // CIDR block range. You can assign as many IPv6 addresses to a network interface
  344. // as you can assign private IPv4 addresses, and the limit varies per instance
  345. // type. For information, see IP Addresses Per Network Interface Per Instance
  346. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  347. // in the Amazon Elastic Compute Cloud User Guide.
  348. //
  349. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  350. // with awserr.Error's Code and Message methods to get detailed information about
  351. // the error.
  352. //
  353. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  354. // API operation AssignIpv6Addresses for usage and error information.
  355. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
  356. func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
  357. req, out := c.AssignIpv6AddressesRequest(input)
  358. return out, req.Send()
  359. }
  360. // AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
  361. // the ability to pass a context and additional request options.
  362. //
  363. // See AssignIpv6Addresses for details on how to use this API operation.
  364. //
  365. // The context must be non-nil and will be used for request cancellation. If
  366. // the context is nil a panic will occur. In the future the SDK may create
  367. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  368. // for more information on using Contexts.
  369. func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
  370. req, out := c.AssignIpv6AddressesRequest(input)
  371. req.SetContext(ctx)
  372. req.ApplyOptions(opts...)
  373. return out, req.Send()
  374. }
  375. const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
  376. // AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  377. // client's request for the AssignPrivateIpAddresses operation. The "output" return
  378. // value can be used to capture response data after the request's "Send" method
  379. // is called.
  380. //
  381. // See AssignPrivateIpAddresses for usage and error information.
  382. //
  383. // Creating a request object using this method should be used when you want to inject
  384. // custom logic into the request's lifecycle using a custom handler, or if you want to
  385. // access properties on the request object before or after sending the request. If
  386. // you just want the service response, call the AssignPrivateIpAddresses method directly
  387. // instead.
  388. //
  389. // Note: You must call the "Send" method on the returned request object in order
  390. // to execute the request.
  391. //
  392. // // Example sending a request using the AssignPrivateIpAddressesRequest method.
  393. // req, resp := client.AssignPrivateIpAddressesRequest(params)
  394. //
  395. // err := req.Send()
  396. // if err == nil { // resp is now filled
  397. // fmt.Println(resp)
  398. // }
  399. //
  400. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  401. func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
  402. op := &request.Operation{
  403. Name: opAssignPrivateIpAddresses,
  404. HTTPMethod: "POST",
  405. HTTPPath: "/",
  406. }
  407. if input == nil {
  408. input = &AssignPrivateIpAddressesInput{}
  409. }
  410. output = &AssignPrivateIpAddressesOutput{}
  411. req = c.newRequest(op, input, output)
  412. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  413. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  414. return
  415. }
  416. // AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  417. //
  418. // Assigns one or more secondary private IP addresses to the specified network
  419. // interface. You can specify one or more specific secondary IP addresses, or
  420. // you can specify the number of secondary IP addresses to be automatically
  421. // assigned within the subnet's CIDR block range. The number of secondary IP
  422. // addresses that you can assign to an instance varies by instance type. For
  423. // information about instance types, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  424. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  425. // Elastic IP addresses, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  426. // in the Amazon Elastic Compute Cloud User Guide.
  427. //
  428. // AssignPrivateIpAddresses is available only in EC2-VPC.
  429. //
  430. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  431. // with awserr.Error's Code and Message methods to get detailed information about
  432. // the error.
  433. //
  434. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  435. // API operation AssignPrivateIpAddresses for usage and error information.
  436. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
  437. func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
  438. req, out := c.AssignPrivateIpAddressesRequest(input)
  439. return out, req.Send()
  440. }
  441. // AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
  442. // the ability to pass a context and additional request options.
  443. //
  444. // See AssignPrivateIpAddresses for details on how to use this API operation.
  445. //
  446. // The context must be non-nil and will be used for request cancellation. If
  447. // the context is nil a panic will occur. In the future the SDK may create
  448. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  449. // for more information on using Contexts.
  450. func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
  451. req, out := c.AssignPrivateIpAddressesRequest(input)
  452. req.SetContext(ctx)
  453. req.ApplyOptions(opts...)
  454. return out, req.Send()
  455. }
  456. const opAssociateAddress = "AssociateAddress"
  457. // AssociateAddressRequest generates a "aws/request.Request" representing the
  458. // client's request for the AssociateAddress operation. The "output" return
  459. // value can be used to capture response data after the request's "Send" method
  460. // is called.
  461. //
  462. // See AssociateAddress for usage and error information.
  463. //
  464. // Creating a request object using this method should be used when you want to inject
  465. // custom logic into the request's lifecycle using a custom handler, or if you want to
  466. // access properties on the request object before or after sending the request. If
  467. // you just want the service response, call the AssociateAddress method directly
  468. // instead.
  469. //
  470. // Note: You must call the "Send" method on the returned request object in order
  471. // to execute the request.
  472. //
  473. // // Example sending a request using the AssociateAddressRequest method.
  474. // req, resp := client.AssociateAddressRequest(params)
  475. //
  476. // err := req.Send()
  477. // if err == nil { // resp is now filled
  478. // fmt.Println(resp)
  479. // }
  480. //
  481. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  482. func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
  483. op := &request.Operation{
  484. Name: opAssociateAddress,
  485. HTTPMethod: "POST",
  486. HTTPPath: "/",
  487. }
  488. if input == nil {
  489. input = &AssociateAddressInput{}
  490. }
  491. output = &AssociateAddressOutput{}
  492. req = c.newRequest(op, input, output)
  493. return
  494. }
  495. // AssociateAddress API operation for Amazon Elastic Compute Cloud.
  496. //
  497. // Associates an Elastic IP address with an instance or a network interface.
  498. //
  499. // An Elastic IP address is for use in either the EC2-Classic platform or in
  500. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  501. // in the Amazon Elastic Compute Cloud User Guide.
  502. //
  503. // [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
  504. // already associated with a different instance, it is disassociated from that
  505. // instance and associated with the specified instance. If you associate an
  506. // Elastic IP address with an instance that has an existing Elastic IP address,
  507. // the existing address is disassociated from the instance, but remains allocated
  508. // to your account.
  509. //
  510. // [VPC in an EC2-Classic account] If you don't specify a private IP address,
  511. // the Elastic IP address is associated with the primary IP address. If the
  512. // Elastic IP address is already associated with a different instance or a network
  513. // interface, you get an error unless you allow reassociation. You cannot associate
  514. // an Elastic IP address with an instance or network interface that has an existing
  515. // Elastic IP address.
  516. //
  517. // This is an idempotent operation. If you perform the operation more than once,
  518. // Amazon EC2 doesn't return an error, and you may be charged for each time
  519. // the Elastic IP address is remapped to the same instance. For more information,
  520. // see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
  521. //
  522. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  523. // with awserr.Error's Code and Message methods to get detailed information about
  524. // the error.
  525. //
  526. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  527. // API operation AssociateAddress for usage and error information.
  528. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
  529. func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
  530. req, out := c.AssociateAddressRequest(input)
  531. return out, req.Send()
  532. }
  533. // AssociateAddressWithContext is the same as AssociateAddress with the addition of
  534. // the ability to pass a context and additional request options.
  535. //
  536. // See AssociateAddress for details on how to use this API operation.
  537. //
  538. // The context must be non-nil and will be used for request cancellation. If
  539. // the context is nil a panic will occur. In the future the SDK may create
  540. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  541. // for more information on using Contexts.
  542. func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
  543. req, out := c.AssociateAddressRequest(input)
  544. req.SetContext(ctx)
  545. req.ApplyOptions(opts...)
  546. return out, req.Send()
  547. }
  548. const opAssociateDhcpOptions = "AssociateDhcpOptions"
  549. // AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
  550. // client's request for the AssociateDhcpOptions operation. The "output" return
  551. // value can be used to capture response data after the request's "Send" method
  552. // is called.
  553. //
  554. // See AssociateDhcpOptions for usage and error information.
  555. //
  556. // Creating a request object using this method should be used when you want to inject
  557. // custom logic into the request's lifecycle using a custom handler, or if you want to
  558. // access properties on the request object before or after sending the request. If
  559. // you just want the service response, call the AssociateDhcpOptions method directly
  560. // instead.
  561. //
  562. // Note: You must call the "Send" method on the returned request object in order
  563. // to execute the request.
  564. //
  565. // // Example sending a request using the AssociateDhcpOptionsRequest method.
  566. // req, resp := client.AssociateDhcpOptionsRequest(params)
  567. //
  568. // err := req.Send()
  569. // if err == nil { // resp is now filled
  570. // fmt.Println(resp)
  571. // }
  572. //
  573. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  574. func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
  575. op := &request.Operation{
  576. Name: opAssociateDhcpOptions,
  577. HTTPMethod: "POST",
  578. HTTPPath: "/",
  579. }
  580. if input == nil {
  581. input = &AssociateDhcpOptionsInput{}
  582. }
  583. output = &AssociateDhcpOptionsOutput{}
  584. req = c.newRequest(op, input, output)
  585. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  586. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  587. return
  588. }
  589. // AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  590. //
  591. // Associates a set of DHCP options (that you've previously created) with the
  592. // specified VPC, or associates no DHCP options with the VPC.
  593. //
  594. // After you associate the options with the VPC, any existing instances and
  595. // all new instances that you launch in that VPC use the options. You don't
  596. // need to restart or relaunch the instances. They automatically pick up the
  597. // changes within a few hours, depending on how frequently the instance renews
  598. // its DHCP lease. You can explicitly renew the lease using the operating system
  599. // on the instance.
  600. //
  601. // For more information, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  602. // in the Amazon Virtual Private Cloud User Guide.
  603. //
  604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  605. // with awserr.Error's Code and Message methods to get detailed information about
  606. // the error.
  607. //
  608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  609. // API operation AssociateDhcpOptions for usage and error information.
  610. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
  611. func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
  612. req, out := c.AssociateDhcpOptionsRequest(input)
  613. return out, req.Send()
  614. }
  615. // AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
  616. // the ability to pass a context and additional request options.
  617. //
  618. // See AssociateDhcpOptions for details on how to use this API operation.
  619. //
  620. // The context must be non-nil and will be used for request cancellation. If
  621. // the context is nil a panic will occur. In the future the SDK may create
  622. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  623. // for more information on using Contexts.
  624. func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
  625. req, out := c.AssociateDhcpOptionsRequest(input)
  626. req.SetContext(ctx)
  627. req.ApplyOptions(opts...)
  628. return out, req.Send()
  629. }
  630. const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
  631. // AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  632. // client's request for the AssociateIamInstanceProfile operation. The "output" return
  633. // value can be used to capture response data after the request's "Send" method
  634. // is called.
  635. //
  636. // See AssociateIamInstanceProfile for usage and error information.
  637. //
  638. // Creating a request object using this method should be used when you want to inject
  639. // custom logic into the request's lifecycle using a custom handler, or if you want to
  640. // access properties on the request object before or after sending the request. If
  641. // you just want the service response, call the AssociateIamInstanceProfile method directly
  642. // instead.
  643. //
  644. // Note: You must call the "Send" method on the returned request object in order
  645. // to execute the request.
  646. //
  647. // // Example sending a request using the AssociateIamInstanceProfileRequest method.
  648. // req, resp := client.AssociateIamInstanceProfileRequest(params)
  649. //
  650. // err := req.Send()
  651. // if err == nil { // resp is now filled
  652. // fmt.Println(resp)
  653. // }
  654. //
  655. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  656. func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
  657. op := &request.Operation{
  658. Name: opAssociateIamInstanceProfile,
  659. HTTPMethod: "POST",
  660. HTTPPath: "/",
  661. }
  662. if input == nil {
  663. input = &AssociateIamInstanceProfileInput{}
  664. }
  665. output = &AssociateIamInstanceProfileOutput{}
  666. req = c.newRequest(op, input, output)
  667. return
  668. }
  669. // AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  670. //
  671. // Associates an IAM instance profile with a running or stopped instance. You
  672. // cannot associate more than one IAM instance profile with an instance.
  673. //
  674. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  675. // with awserr.Error's Code and Message methods to get detailed information about
  676. // the error.
  677. //
  678. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  679. // API operation AssociateIamInstanceProfile for usage and error information.
  680. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
  681. func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
  682. req, out := c.AssociateIamInstanceProfileRequest(input)
  683. return out, req.Send()
  684. }
  685. // AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
  686. // the ability to pass a context and additional request options.
  687. //
  688. // See AssociateIamInstanceProfile for details on how to use this API operation.
  689. //
  690. // The context must be non-nil and will be used for request cancellation. If
  691. // the context is nil a panic will occur. In the future the SDK may create
  692. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  693. // for more information on using Contexts.
  694. func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
  695. req, out := c.AssociateIamInstanceProfileRequest(input)
  696. req.SetContext(ctx)
  697. req.ApplyOptions(opts...)
  698. return out, req.Send()
  699. }
  700. const opAssociateRouteTable = "AssociateRouteTable"
  701. // AssociateRouteTableRequest generates a "aws/request.Request" representing the
  702. // client's request for the AssociateRouteTable operation. The "output" return
  703. // value can be used to capture response data after the request's "Send" method
  704. // is called.
  705. //
  706. // See AssociateRouteTable for usage and error information.
  707. //
  708. // Creating a request object using this method should be used when you want to inject
  709. // custom logic into the request's lifecycle using a custom handler, or if you want to
  710. // access properties on the request object before or after sending the request. If
  711. // you just want the service response, call the AssociateRouteTable method directly
  712. // instead.
  713. //
  714. // Note: You must call the "Send" method on the returned request object in order
  715. // to execute the request.
  716. //
  717. // // Example sending a request using the AssociateRouteTableRequest method.
  718. // req, resp := client.AssociateRouteTableRequest(params)
  719. //
  720. // err := req.Send()
  721. // if err == nil { // resp is now filled
  722. // fmt.Println(resp)
  723. // }
  724. //
  725. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  726. func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
  727. op := &request.Operation{
  728. Name: opAssociateRouteTable,
  729. HTTPMethod: "POST",
  730. HTTPPath: "/",
  731. }
  732. if input == nil {
  733. input = &AssociateRouteTableInput{}
  734. }
  735. output = &AssociateRouteTableOutput{}
  736. req = c.newRequest(op, input, output)
  737. return
  738. }
  739. // AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
  740. //
  741. // Associates a subnet with a route table. The subnet and route table must be
  742. // in the same VPC. This association causes traffic originating from the subnet
  743. // to be routed according to the routes in the route table. The action returns
  744. // an association ID, which you need in order to disassociate the route table
  745. // from the subnet later. A route table can be associated with multiple subnets.
  746. //
  747. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  748. // in the Amazon Virtual Private Cloud User Guide.
  749. //
  750. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  751. // with awserr.Error's Code and Message methods to get detailed information about
  752. // the error.
  753. //
  754. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  755. // API operation AssociateRouteTable for usage and error information.
  756. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
  757. func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
  758. req, out := c.AssociateRouteTableRequest(input)
  759. return out, req.Send()
  760. }
  761. // AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
  762. // the ability to pass a context and additional request options.
  763. //
  764. // See AssociateRouteTable for details on how to use this API operation.
  765. //
  766. // The context must be non-nil and will be used for request cancellation. If
  767. // the context is nil a panic will occur. In the future the SDK may create
  768. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  769. // for more information on using Contexts.
  770. func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
  771. req, out := c.AssociateRouteTableRequest(input)
  772. req.SetContext(ctx)
  773. req.ApplyOptions(opts...)
  774. return out, req.Send()
  775. }
  776. const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
  777. // AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  778. // client's request for the AssociateSubnetCidrBlock operation. The "output" return
  779. // value can be used to capture response data after the request's "Send" method
  780. // is called.
  781. //
  782. // See AssociateSubnetCidrBlock for usage and error information.
  783. //
  784. // Creating a request object using this method should be used when you want to inject
  785. // custom logic into the request's lifecycle using a custom handler, or if you want to
  786. // access properties on the request object before or after sending the request. If
  787. // you just want the service response, call the AssociateSubnetCidrBlock method directly
  788. // instead.
  789. //
  790. // Note: You must call the "Send" method on the returned request object in order
  791. // to execute the request.
  792. //
  793. // // Example sending a request using the AssociateSubnetCidrBlockRequest method.
  794. // req, resp := client.AssociateSubnetCidrBlockRequest(params)
  795. //
  796. // err := req.Send()
  797. // if err == nil { // resp is now filled
  798. // fmt.Println(resp)
  799. // }
  800. //
  801. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  802. func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
  803. op := &request.Operation{
  804. Name: opAssociateSubnetCidrBlock,
  805. HTTPMethod: "POST",
  806. HTTPPath: "/",
  807. }
  808. if input == nil {
  809. input = &AssociateSubnetCidrBlockInput{}
  810. }
  811. output = &AssociateSubnetCidrBlockOutput{}
  812. req = c.newRequest(op, input, output)
  813. return
  814. }
  815. // AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  816. //
  817. // Associates a CIDR block with your subnet. You can only associate a single
  818. // IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
  819. // of /64.
  820. //
  821. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  822. // with awserr.Error's Code and Message methods to get detailed information about
  823. // the error.
  824. //
  825. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  826. // API operation AssociateSubnetCidrBlock for usage and error information.
  827. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
  828. func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
  829. req, out := c.AssociateSubnetCidrBlockRequest(input)
  830. return out, req.Send()
  831. }
  832. // AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
  833. // the ability to pass a context and additional request options.
  834. //
  835. // See AssociateSubnetCidrBlock for details on how to use this API operation.
  836. //
  837. // The context must be non-nil and will be used for request cancellation. If
  838. // the context is nil a panic will occur. In the future the SDK may create
  839. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  840. // for more information on using Contexts.
  841. func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
  842. req, out := c.AssociateSubnetCidrBlockRequest(input)
  843. req.SetContext(ctx)
  844. req.ApplyOptions(opts...)
  845. return out, req.Send()
  846. }
  847. const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
  848. // AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  849. // client's request for the AssociateVpcCidrBlock operation. The "output" return
  850. // value can be used to capture response data after the request's "Send" method
  851. // is called.
  852. //
  853. // See AssociateVpcCidrBlock for usage and error information.
  854. //
  855. // Creating a request object using this method should be used when you want to inject
  856. // custom logic into the request's lifecycle using a custom handler, or if you want to
  857. // access properties on the request object before or after sending the request. If
  858. // you just want the service response, call the AssociateVpcCidrBlock method directly
  859. // instead.
  860. //
  861. // Note: You must call the "Send" method on the returned request object in order
  862. // to execute the request.
  863. //
  864. // // Example sending a request using the AssociateVpcCidrBlockRequest method.
  865. // req, resp := client.AssociateVpcCidrBlockRequest(params)
  866. //
  867. // err := req.Send()
  868. // if err == nil { // resp is now filled
  869. // fmt.Println(resp)
  870. // }
  871. //
  872. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  873. func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
  874. op := &request.Operation{
  875. Name: opAssociateVpcCidrBlock,
  876. HTTPMethod: "POST",
  877. HTTPPath: "/",
  878. }
  879. if input == nil {
  880. input = &AssociateVpcCidrBlockInput{}
  881. }
  882. output = &AssociateVpcCidrBlockOutput{}
  883. req = c.newRequest(op, input, output)
  884. return
  885. }
  886. // AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  887. //
  888. // Associates a CIDR block with your VPC. You can only associate a single Amazon-provided
  889. // IPv6 CIDR block with your VPC. The IPv6 CIDR block size is fixed at /56.
  890. //
  891. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  892. // with awserr.Error's Code and Message methods to get detailed information about
  893. // the error.
  894. //
  895. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  896. // API operation AssociateVpcCidrBlock for usage and error information.
  897. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
  898. func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
  899. req, out := c.AssociateVpcCidrBlockRequest(input)
  900. return out, req.Send()
  901. }
  902. // AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
  903. // the ability to pass a context and additional request options.
  904. //
  905. // See AssociateVpcCidrBlock for details on how to use this API operation.
  906. //
  907. // The context must be non-nil and will be used for request cancellation. If
  908. // the context is nil a panic will occur. In the future the SDK may create
  909. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  910. // for more information on using Contexts.
  911. func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
  912. req, out := c.AssociateVpcCidrBlockRequest(input)
  913. req.SetContext(ctx)
  914. req.ApplyOptions(opts...)
  915. return out, req.Send()
  916. }
  917. const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
  918. // AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  919. // client's request for the AttachClassicLinkVpc operation. The "output" return
  920. // value can be used to capture response data after the request's "Send" method
  921. // is called.
  922. //
  923. // See AttachClassicLinkVpc for usage and error information.
  924. //
  925. // Creating a request object using this method should be used when you want to inject
  926. // custom logic into the request's lifecycle using a custom handler, or if you want to
  927. // access properties on the request object before or after sending the request. If
  928. // you just want the service response, call the AttachClassicLinkVpc method directly
  929. // instead.
  930. //
  931. // Note: You must call the "Send" method on the returned request object in order
  932. // to execute the request.
  933. //
  934. // // Example sending a request using the AttachClassicLinkVpcRequest method.
  935. // req, resp := client.AttachClassicLinkVpcRequest(params)
  936. //
  937. // err := req.Send()
  938. // if err == nil { // resp is now filled
  939. // fmt.Println(resp)
  940. // }
  941. //
  942. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  943. func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
  944. op := &request.Operation{
  945. Name: opAttachClassicLinkVpc,
  946. HTTPMethod: "POST",
  947. HTTPPath: "/",
  948. }
  949. if input == nil {
  950. input = &AttachClassicLinkVpcInput{}
  951. }
  952. output = &AttachClassicLinkVpcOutput{}
  953. req = c.newRequest(op, input, output)
  954. return
  955. }
  956. // AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  957. //
  958. // Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
  959. // more of the VPC's security groups. You cannot link an EC2-Classic instance
  960. // to more than one VPC at a time. You can only link an instance that's in the
  961. // running state. An instance is automatically unlinked from a VPC when it's
  962. // stopped - you can link it to the VPC again when you restart it.
  963. //
  964. // After you've linked an instance, you cannot change the VPC security groups
  965. // that are associated with it. To change the security groups, you must first
  966. // unlink the instance, and then link it again.
  967. //
  968. // Linking your instance to a VPC is sometimes referred to as attaching your
  969. // instance.
  970. //
  971. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  972. // with awserr.Error's Code and Message methods to get detailed information about
  973. // the error.
  974. //
  975. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  976. // API operation AttachClassicLinkVpc for usage and error information.
  977. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
  978. func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
  979. req, out := c.AttachClassicLinkVpcRequest(input)
  980. return out, req.Send()
  981. }
  982. // AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
  983. // the ability to pass a context and additional request options.
  984. //
  985. // See AttachClassicLinkVpc for details on how to use this API operation.
  986. //
  987. // The context must be non-nil and will be used for request cancellation. If
  988. // the context is nil a panic will occur. In the future the SDK may create
  989. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  990. // for more information on using Contexts.
  991. func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
  992. req, out := c.AttachClassicLinkVpcRequest(input)
  993. req.SetContext(ctx)
  994. req.ApplyOptions(opts...)
  995. return out, req.Send()
  996. }
  997. const opAttachInternetGateway = "AttachInternetGateway"
  998. // AttachInternetGatewayRequest generates a "aws/request.Request" representing the
  999. // client's request for the AttachInternetGateway operation. The "output" return
  1000. // value can be used to capture response data after the request's "Send" method
  1001. // is called.
  1002. //
  1003. // See AttachInternetGateway for usage and error information.
  1004. //
  1005. // Creating a request object using this method should be used when you want to inject
  1006. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1007. // access properties on the request object before or after sending the request. If
  1008. // you just want the service response, call the AttachInternetGateway method directly
  1009. // instead.
  1010. //
  1011. // Note: You must call the "Send" method on the returned request object in order
  1012. // to execute the request.
  1013. //
  1014. // // Example sending a request using the AttachInternetGatewayRequest method.
  1015. // req, resp := client.AttachInternetGatewayRequest(params)
  1016. //
  1017. // err := req.Send()
  1018. // if err == nil { // resp is now filled
  1019. // fmt.Println(resp)
  1020. // }
  1021. //
  1022. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1023. func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
  1024. op := &request.Operation{
  1025. Name: opAttachInternetGateway,
  1026. HTTPMethod: "POST",
  1027. HTTPPath: "/",
  1028. }
  1029. if input == nil {
  1030. input = &AttachInternetGatewayInput{}
  1031. }
  1032. output = &AttachInternetGatewayOutput{}
  1033. req = c.newRequest(op, input, output)
  1034. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1035. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1036. return
  1037. }
  1038. // AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
  1039. //
  1040. // Attaches an Internet gateway to a VPC, enabling connectivity between the
  1041. // Internet and the VPC. For more information about your VPC and Internet gateway,
  1042. // see the Amazon Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  1043. //
  1044. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1045. // with awserr.Error's Code and Message methods to get detailed information about
  1046. // the error.
  1047. //
  1048. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1049. // API operation AttachInternetGateway for usage and error information.
  1050. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
  1051. func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
  1052. req, out := c.AttachInternetGatewayRequest(input)
  1053. return out, req.Send()
  1054. }
  1055. // AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
  1056. // the ability to pass a context and additional request options.
  1057. //
  1058. // See AttachInternetGateway for details on how to use this API operation.
  1059. //
  1060. // The context must be non-nil and will be used for request cancellation. If
  1061. // the context is nil a panic will occur. In the future the SDK may create
  1062. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1063. // for more information on using Contexts.
  1064. func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
  1065. req, out := c.AttachInternetGatewayRequest(input)
  1066. req.SetContext(ctx)
  1067. req.ApplyOptions(opts...)
  1068. return out, req.Send()
  1069. }
  1070. const opAttachNetworkInterface = "AttachNetworkInterface"
  1071. // AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  1072. // client's request for the AttachNetworkInterface operation. The "output" return
  1073. // value can be used to capture response data after the request's "Send" method
  1074. // is called.
  1075. //
  1076. // See AttachNetworkInterface for usage and error information.
  1077. //
  1078. // Creating a request object using this method should be used when you want to inject
  1079. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1080. // access properties on the request object before or after sending the request. If
  1081. // you just want the service response, call the AttachNetworkInterface method directly
  1082. // instead.
  1083. //
  1084. // Note: You must call the "Send" method on the returned request object in order
  1085. // to execute the request.
  1086. //
  1087. // // Example sending a request using the AttachNetworkInterfaceRequest method.
  1088. // req, resp := client.AttachNetworkInterfaceRequest(params)
  1089. //
  1090. // err := req.Send()
  1091. // if err == nil { // resp is now filled
  1092. // fmt.Println(resp)
  1093. // }
  1094. //
  1095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1096. func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
  1097. op := &request.Operation{
  1098. Name: opAttachNetworkInterface,
  1099. HTTPMethod: "POST",
  1100. HTTPPath: "/",
  1101. }
  1102. if input == nil {
  1103. input = &AttachNetworkInterfaceInput{}
  1104. }
  1105. output = &AttachNetworkInterfaceOutput{}
  1106. req = c.newRequest(op, input, output)
  1107. return
  1108. }
  1109. // AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  1110. //
  1111. // Attaches a network interface to an instance.
  1112. //
  1113. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1114. // with awserr.Error's Code and Message methods to get detailed information about
  1115. // the error.
  1116. //
  1117. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1118. // API operation AttachNetworkInterface for usage and error information.
  1119. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
  1120. func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
  1121. req, out := c.AttachNetworkInterfaceRequest(input)
  1122. return out, req.Send()
  1123. }
  1124. // AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
  1125. // the ability to pass a context and additional request options.
  1126. //
  1127. // See AttachNetworkInterface for details on how to use this API operation.
  1128. //
  1129. // The context must be non-nil and will be used for request cancellation. If
  1130. // the context is nil a panic will occur. In the future the SDK may create
  1131. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1132. // for more information on using Contexts.
  1133. func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
  1134. req, out := c.AttachNetworkInterfaceRequest(input)
  1135. req.SetContext(ctx)
  1136. req.ApplyOptions(opts...)
  1137. return out, req.Send()
  1138. }
  1139. const opAttachVolume = "AttachVolume"
  1140. // AttachVolumeRequest generates a "aws/request.Request" representing the
  1141. // client's request for the AttachVolume operation. The "output" return
  1142. // value can be used to capture response data after the request's "Send" method
  1143. // is called.
  1144. //
  1145. // See AttachVolume for usage and error information.
  1146. //
  1147. // Creating a request object using this method should be used when you want to inject
  1148. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1149. // access properties on the request object before or after sending the request. If
  1150. // you just want the service response, call the AttachVolume method directly
  1151. // instead.
  1152. //
  1153. // Note: You must call the "Send" method on the returned request object in order
  1154. // to execute the request.
  1155. //
  1156. // // Example sending a request using the AttachVolumeRequest method.
  1157. // req, resp := client.AttachVolumeRequest(params)
  1158. //
  1159. // err := req.Send()
  1160. // if err == nil { // resp is now filled
  1161. // fmt.Println(resp)
  1162. // }
  1163. //
  1164. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1165. func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  1166. op := &request.Operation{
  1167. Name: opAttachVolume,
  1168. HTTPMethod: "POST",
  1169. HTTPPath: "/",
  1170. }
  1171. if input == nil {
  1172. input = &AttachVolumeInput{}
  1173. }
  1174. output = &VolumeAttachment{}
  1175. req = c.newRequest(op, input, output)
  1176. return
  1177. }
  1178. // AttachVolume API operation for Amazon Elastic Compute Cloud.
  1179. //
  1180. // Attaches an EBS volume to a running or stopped instance and exposes it to
  1181. // the instance with the specified device name.
  1182. //
  1183. // Encrypted EBS volumes may only be attached to instances that support Amazon
  1184. // EBS encryption. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  1185. // in the Amazon Elastic Compute Cloud User Guide.
  1186. //
  1187. // For a list of supported device names, see Attaching an EBS Volume to an Instance
  1188. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html).
  1189. // Any device names that aren't reserved for instance store volumes can be used
  1190. // for EBS volumes. For more information, see Amazon EC2 Instance Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html)
  1191. // in the Amazon Elastic Compute Cloud User Guide.
  1192. //
  1193. // If a volume has an AWS Marketplace product code:
  1194. //
  1195. // * The volume can be attached only to a stopped instance.
  1196. //
  1197. // * AWS Marketplace product codes are copied from the volume to the instance.
  1198. //
  1199. // * You must be subscribed to the product.
  1200. //
  1201. // * The instance type and operating system of the instance must support
  1202. // the product. For example, you can't detach a volume from a Windows instance
  1203. // and attach it to a Linux instance.
  1204. //
  1205. // For an overview of the AWS Marketplace, see Introducing AWS Marketplace (https://aws.amazon.com/marketplace/help/200900000).
  1206. //
  1207. // For more information about EBS volumes, see Attaching Amazon EBS Volumes
  1208. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
  1209. // in the Amazon Elastic Compute Cloud User Guide.
  1210. //
  1211. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1212. // with awserr.Error's Code and Message methods to get detailed information about
  1213. // the error.
  1214. //
  1215. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1216. // API operation AttachVolume for usage and error information.
  1217. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
  1218. func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
  1219. req, out := c.AttachVolumeRequest(input)
  1220. return out, req.Send()
  1221. }
  1222. // AttachVolumeWithContext is the same as AttachVolume with the addition of
  1223. // the ability to pass a context and additional request options.
  1224. //
  1225. // See AttachVolume for details on how to use this API operation.
  1226. //
  1227. // The context must be non-nil and will be used for request cancellation. If
  1228. // the context is nil a panic will occur. In the future the SDK may create
  1229. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1230. // for more information on using Contexts.
  1231. func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  1232. req, out := c.AttachVolumeRequest(input)
  1233. req.SetContext(ctx)
  1234. req.ApplyOptions(opts...)
  1235. return out, req.Send()
  1236. }
  1237. const opAttachVpnGateway = "AttachVpnGateway"
  1238. // AttachVpnGatewayRequest generates a "aws/request.Request" representing the
  1239. // client's request for the AttachVpnGateway operation. The "output" return
  1240. // value can be used to capture response data after the request's "Send" method
  1241. // is called.
  1242. //
  1243. // See AttachVpnGateway for usage and error information.
  1244. //
  1245. // Creating a request object using this method should be used when you want to inject
  1246. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1247. // access properties on the request object before or after sending the request. If
  1248. // you just want the service response, call the AttachVpnGateway method directly
  1249. // instead.
  1250. //
  1251. // Note: You must call the "Send" method on the returned request object in order
  1252. // to execute the request.
  1253. //
  1254. // // Example sending a request using the AttachVpnGatewayRequest method.
  1255. // req, resp := client.AttachVpnGatewayRequest(params)
  1256. //
  1257. // err := req.Send()
  1258. // if err == nil { // resp is now filled
  1259. // fmt.Println(resp)
  1260. // }
  1261. //
  1262. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1263. func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
  1264. op := &request.Operation{
  1265. Name: opAttachVpnGateway,
  1266. HTTPMethod: "POST",
  1267. HTTPPath: "/",
  1268. }
  1269. if input == nil {
  1270. input = &AttachVpnGatewayInput{}
  1271. }
  1272. output = &AttachVpnGatewayOutput{}
  1273. req = c.newRequest(op, input, output)
  1274. return
  1275. }
  1276. // AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
  1277. //
  1278. // Attaches a virtual private gateway to a VPC. You can attach one virtual private
  1279. // gateway to one VPC at a time.
  1280. //
  1281. // For more information, see Adding a Hardware Virtual Private Gateway to Your
  1282. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  1283. // in the Amazon Virtual Private Cloud User Guide.
  1284. //
  1285. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1286. // with awserr.Error's Code and Message methods to get detailed information about
  1287. // the error.
  1288. //
  1289. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1290. // API operation AttachVpnGateway for usage and error information.
  1291. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
  1292. func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
  1293. req, out := c.AttachVpnGatewayRequest(input)
  1294. return out, req.Send()
  1295. }
  1296. // AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
  1297. // the ability to pass a context and additional request options.
  1298. //
  1299. // See AttachVpnGateway for details on how to use this API operation.
  1300. //
  1301. // The context must be non-nil and will be used for request cancellation. If
  1302. // the context is nil a panic will occur. In the future the SDK may create
  1303. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1304. // for more information on using Contexts.
  1305. func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
  1306. req, out := c.AttachVpnGatewayRequest(input)
  1307. req.SetContext(ctx)
  1308. req.ApplyOptions(opts...)
  1309. return out, req.Send()
  1310. }
  1311. const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
  1312. // AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  1313. // client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
  1314. // value can be used to capture response data after the request's "Send" method
  1315. // is called.
  1316. //
  1317. // See AuthorizeSecurityGroupEgress for usage and error information.
  1318. //
  1319. // Creating a request object using this method should be used when you want to inject
  1320. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1321. // access properties on the request object before or after sending the request. If
  1322. // you just want the service response, call the AuthorizeSecurityGroupEgress method directly
  1323. // instead.
  1324. //
  1325. // Note: You must call the "Send" method on the returned request object in order
  1326. // to execute the request.
  1327. //
  1328. // // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
  1329. // req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
  1330. //
  1331. // err := req.Send()
  1332. // if err == nil { // resp is now filled
  1333. // fmt.Println(resp)
  1334. // }
  1335. //
  1336. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1337. func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
  1338. op := &request.Operation{
  1339. Name: opAuthorizeSecurityGroupEgress,
  1340. HTTPMethod: "POST",
  1341. HTTPPath: "/",
  1342. }
  1343. if input == nil {
  1344. input = &AuthorizeSecurityGroupEgressInput{}
  1345. }
  1346. output = &AuthorizeSecurityGroupEgressOutput{}
  1347. req = c.newRequest(op, input, output)
  1348. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1349. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1350. return
  1351. }
  1352. // AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  1353. //
  1354. // [EC2-VPC only] Adds one or more egress rules to a security group for use
  1355. // with a VPC. Specifically, this action permits instances to send traffic to
  1356. // one or more destination IPv4 or IPv6 CIDR address ranges, or to one or more
  1357. // destination security groups for the same VPC. This action doesn't apply to
  1358. // security groups for use in EC2-Classic. For more information, see Security
  1359. // Groups for Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  1360. // in the Amazon Virtual Private Cloud User Guide. For more information about
  1361. // security group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1362. //
  1363. // Each rule consists of the protocol (for example, TCP), plus either a CIDR
  1364. // range or a source group. For the TCP and UDP protocols, you must also specify
  1365. // the destination port or port range. For the ICMP protocol, you must also
  1366. // specify the ICMP type and code. You can use -1 for the type or code to mean
  1367. // all types or all codes.
  1368. //
  1369. // Rule changes are propagated to affected instances as quickly as possible.
  1370. // However, a small delay might occur.
  1371. //
  1372. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1373. // with awserr.Error's Code and Message methods to get detailed information about
  1374. // the error.
  1375. //
  1376. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1377. // API operation AuthorizeSecurityGroupEgress for usage and error information.
  1378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
  1379. func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
  1380. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1381. return out, req.Send()
  1382. }
  1383. // AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
  1384. // the ability to pass a context and additional request options.
  1385. //
  1386. // See AuthorizeSecurityGroupEgress for details on how to use this API operation.
  1387. //
  1388. // The context must be non-nil and will be used for request cancellation. If
  1389. // the context is nil a panic will occur. In the future the SDK may create
  1390. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1391. // for more information on using Contexts.
  1392. func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
  1393. req, out := c.AuthorizeSecurityGroupEgressRequest(input)
  1394. req.SetContext(ctx)
  1395. req.ApplyOptions(opts...)
  1396. return out, req.Send()
  1397. }
  1398. const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
  1399. // AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  1400. // client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
  1401. // value can be used to capture response data after the request's "Send" method
  1402. // is called.
  1403. //
  1404. // See AuthorizeSecurityGroupIngress for usage and error information.
  1405. //
  1406. // Creating a request object using this method should be used when you want to inject
  1407. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1408. // access properties on the request object before or after sending the request. If
  1409. // you just want the service response, call the AuthorizeSecurityGroupIngress method directly
  1410. // instead.
  1411. //
  1412. // Note: You must call the "Send" method on the returned request object in order
  1413. // to execute the request.
  1414. //
  1415. // // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
  1416. // req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
  1417. //
  1418. // err := req.Send()
  1419. // if err == nil { // resp is now filled
  1420. // fmt.Println(resp)
  1421. // }
  1422. //
  1423. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1424. func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
  1425. op := &request.Operation{
  1426. Name: opAuthorizeSecurityGroupIngress,
  1427. HTTPMethod: "POST",
  1428. HTTPPath: "/",
  1429. }
  1430. if input == nil {
  1431. input = &AuthorizeSecurityGroupIngressInput{}
  1432. }
  1433. output = &AuthorizeSecurityGroupIngressOutput{}
  1434. req = c.newRequest(op, input, output)
  1435. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1436. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1437. return
  1438. }
  1439. // AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  1440. //
  1441. // Adds one or more ingress rules to a security group.
  1442. //
  1443. // Rule changes are propagated to instances within the security group as quickly
  1444. // as possible. However, a small delay might occur.
  1445. //
  1446. // [EC2-Classic] This action gives one or more IPv4 CIDR address ranges permission
  1447. // to access a security group in your account, or gives one or more security
  1448. // groups (called the source groups) permission to access a security group for
  1449. // your account. A source group can be for your own AWS account, or another.
  1450. // You can have up to 100 rules per group.
  1451. //
  1452. // [EC2-VPC] This action gives one or more IPv4 or IPv6 CIDR address ranges
  1453. // permission to access a security group in your VPC, or gives one or more other
  1454. // security groups (called the source groups) permission to access a security
  1455. // group for your VPC. The security groups must all be for the same VPC or a
  1456. // peer VPC in a VPC peering connection. For more information about VPC security
  1457. // group limits, see Amazon VPC Limits (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Appendix_Limits.html).
  1458. //
  1459. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1460. // with awserr.Error's Code and Message methods to get detailed information about
  1461. // the error.
  1462. //
  1463. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1464. // API operation AuthorizeSecurityGroupIngress for usage and error information.
  1465. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
  1466. func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
  1467. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1468. return out, req.Send()
  1469. }
  1470. // AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
  1471. // the ability to pass a context and additional request options.
  1472. //
  1473. // See AuthorizeSecurityGroupIngress for details on how to use this API operation.
  1474. //
  1475. // The context must be non-nil and will be used for request cancellation. If
  1476. // the context is nil a panic will occur. In the future the SDK may create
  1477. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1478. // for more information on using Contexts.
  1479. func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
  1480. req, out := c.AuthorizeSecurityGroupIngressRequest(input)
  1481. req.SetContext(ctx)
  1482. req.ApplyOptions(opts...)
  1483. return out, req.Send()
  1484. }
  1485. const opBundleInstance = "BundleInstance"
  1486. // BundleInstanceRequest generates a "aws/request.Request" representing the
  1487. // client's request for the BundleInstance operation. The "output" return
  1488. // value can be used to capture response data after the request's "Send" method
  1489. // is called.
  1490. //
  1491. // See BundleInstance for usage and error information.
  1492. //
  1493. // Creating a request object using this method should be used when you want to inject
  1494. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1495. // access properties on the request object before or after sending the request. If
  1496. // you just want the service response, call the BundleInstance method directly
  1497. // instead.
  1498. //
  1499. // Note: You must call the "Send" method on the returned request object in order
  1500. // to execute the request.
  1501. //
  1502. // // Example sending a request using the BundleInstanceRequest method.
  1503. // req, resp := client.BundleInstanceRequest(params)
  1504. //
  1505. // err := req.Send()
  1506. // if err == nil { // resp is now filled
  1507. // fmt.Println(resp)
  1508. // }
  1509. //
  1510. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1511. func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
  1512. op := &request.Operation{
  1513. Name: opBundleInstance,
  1514. HTTPMethod: "POST",
  1515. HTTPPath: "/",
  1516. }
  1517. if input == nil {
  1518. input = &BundleInstanceInput{}
  1519. }
  1520. output = &BundleInstanceOutput{}
  1521. req = c.newRequest(op, input, output)
  1522. return
  1523. }
  1524. // BundleInstance API operation for Amazon Elastic Compute Cloud.
  1525. //
  1526. // Bundles an Amazon instance store-backed Windows instance.
  1527. //
  1528. // During bundling, only the root device volume (C:\) is bundled. Data on other
  1529. // instance store volumes is not preserved.
  1530. //
  1531. // This action is not applicable for Linux/Unix instances or Windows instances
  1532. // that are backed by Amazon EBS.
  1533. //
  1534. // For more information, see Creating an Instance Store-Backed Windows AMI (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html).
  1535. //
  1536. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1537. // with awserr.Error's Code and Message methods to get detailed information about
  1538. // the error.
  1539. //
  1540. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1541. // API operation BundleInstance for usage and error information.
  1542. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
  1543. func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
  1544. req, out := c.BundleInstanceRequest(input)
  1545. return out, req.Send()
  1546. }
  1547. // BundleInstanceWithContext is the same as BundleInstance with the addition of
  1548. // the ability to pass a context and additional request options.
  1549. //
  1550. // See BundleInstance for details on how to use this API operation.
  1551. //
  1552. // The context must be non-nil and will be used for request cancellation. If
  1553. // the context is nil a panic will occur. In the future the SDK may create
  1554. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1555. // for more information on using Contexts.
  1556. func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
  1557. req, out := c.BundleInstanceRequest(input)
  1558. req.SetContext(ctx)
  1559. req.ApplyOptions(opts...)
  1560. return out, req.Send()
  1561. }
  1562. const opCancelBundleTask = "CancelBundleTask"
  1563. // CancelBundleTaskRequest generates a "aws/request.Request" representing the
  1564. // client's request for the CancelBundleTask operation. The "output" return
  1565. // value can be used to capture response data after the request's "Send" method
  1566. // is called.
  1567. //
  1568. // See CancelBundleTask for usage and error information.
  1569. //
  1570. // Creating a request object using this method should be used when you want to inject
  1571. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1572. // access properties on the request object before or after sending the request. If
  1573. // you just want the service response, call the CancelBundleTask method directly
  1574. // instead.
  1575. //
  1576. // Note: You must call the "Send" method on the returned request object in order
  1577. // to execute the request.
  1578. //
  1579. // // Example sending a request using the CancelBundleTaskRequest method.
  1580. // req, resp := client.CancelBundleTaskRequest(params)
  1581. //
  1582. // err := req.Send()
  1583. // if err == nil { // resp is now filled
  1584. // fmt.Println(resp)
  1585. // }
  1586. //
  1587. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1588. func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
  1589. op := &request.Operation{
  1590. Name: opCancelBundleTask,
  1591. HTTPMethod: "POST",
  1592. HTTPPath: "/",
  1593. }
  1594. if input == nil {
  1595. input = &CancelBundleTaskInput{}
  1596. }
  1597. output = &CancelBundleTaskOutput{}
  1598. req = c.newRequest(op, input, output)
  1599. return
  1600. }
  1601. // CancelBundleTask API operation for Amazon Elastic Compute Cloud.
  1602. //
  1603. // Cancels a bundling operation for an instance store-backed Windows instance.
  1604. //
  1605. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1606. // with awserr.Error's Code and Message methods to get detailed information about
  1607. // the error.
  1608. //
  1609. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1610. // API operation CancelBundleTask for usage and error information.
  1611. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
  1612. func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
  1613. req, out := c.CancelBundleTaskRequest(input)
  1614. return out, req.Send()
  1615. }
  1616. // CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
  1617. // the ability to pass a context and additional request options.
  1618. //
  1619. // See CancelBundleTask for details on how to use this API operation.
  1620. //
  1621. // The context must be non-nil and will be used for request cancellation. If
  1622. // the context is nil a panic will occur. In the future the SDK may create
  1623. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1624. // for more information on using Contexts.
  1625. func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
  1626. req, out := c.CancelBundleTaskRequest(input)
  1627. req.SetContext(ctx)
  1628. req.ApplyOptions(opts...)
  1629. return out, req.Send()
  1630. }
  1631. const opCancelConversionTask = "CancelConversionTask"
  1632. // CancelConversionTaskRequest generates a "aws/request.Request" representing the
  1633. // client's request for the CancelConversionTask operation. The "output" return
  1634. // value can be used to capture response data after the request's "Send" method
  1635. // is called.
  1636. //
  1637. // See CancelConversionTask for usage and error information.
  1638. //
  1639. // Creating a request object using this method should be used when you want to inject
  1640. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1641. // access properties on the request object before or after sending the request. If
  1642. // you just want the service response, call the CancelConversionTask method directly
  1643. // instead.
  1644. //
  1645. // Note: You must call the "Send" method on the returned request object in order
  1646. // to execute the request.
  1647. //
  1648. // // Example sending a request using the CancelConversionTaskRequest method.
  1649. // req, resp := client.CancelConversionTaskRequest(params)
  1650. //
  1651. // err := req.Send()
  1652. // if err == nil { // resp is now filled
  1653. // fmt.Println(resp)
  1654. // }
  1655. //
  1656. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1657. func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
  1658. op := &request.Operation{
  1659. Name: opCancelConversionTask,
  1660. HTTPMethod: "POST",
  1661. HTTPPath: "/",
  1662. }
  1663. if input == nil {
  1664. input = &CancelConversionTaskInput{}
  1665. }
  1666. output = &CancelConversionTaskOutput{}
  1667. req = c.newRequest(op, input, output)
  1668. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1669. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1670. return
  1671. }
  1672. // CancelConversionTask API operation for Amazon Elastic Compute Cloud.
  1673. //
  1674. // Cancels an active conversion task. The task can be the import of an instance
  1675. // or volume. The action removes all artifacts of the conversion, including
  1676. // a partially uploaded volume or instance. If the conversion is complete or
  1677. // is in the process of transferring the final disk image, the command fails
  1678. // and returns an exception.
  1679. //
  1680. // For more information, see Importing a Virtual Machine Using the Amazon EC2
  1681. // CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  1682. //
  1683. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1684. // with awserr.Error's Code and Message methods to get detailed information about
  1685. // the error.
  1686. //
  1687. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1688. // API operation CancelConversionTask for usage and error information.
  1689. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
  1690. func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
  1691. req, out := c.CancelConversionTaskRequest(input)
  1692. return out, req.Send()
  1693. }
  1694. // CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
  1695. // the ability to pass a context and additional request options.
  1696. //
  1697. // See CancelConversionTask for details on how to use this API operation.
  1698. //
  1699. // The context must be non-nil and will be used for request cancellation. If
  1700. // the context is nil a panic will occur. In the future the SDK may create
  1701. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1702. // for more information on using Contexts.
  1703. func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
  1704. req, out := c.CancelConversionTaskRequest(input)
  1705. req.SetContext(ctx)
  1706. req.ApplyOptions(opts...)
  1707. return out, req.Send()
  1708. }
  1709. const opCancelExportTask = "CancelExportTask"
  1710. // CancelExportTaskRequest generates a "aws/request.Request" representing the
  1711. // client's request for the CancelExportTask operation. The "output" return
  1712. // value can be used to capture response data after the request's "Send" method
  1713. // is called.
  1714. //
  1715. // See CancelExportTask for usage and error information.
  1716. //
  1717. // Creating a request object using this method should be used when you want to inject
  1718. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1719. // access properties on the request object before or after sending the request. If
  1720. // you just want the service response, call the CancelExportTask method directly
  1721. // instead.
  1722. //
  1723. // Note: You must call the "Send" method on the returned request object in order
  1724. // to execute the request.
  1725. //
  1726. // // Example sending a request using the CancelExportTaskRequest method.
  1727. // req, resp := client.CancelExportTaskRequest(params)
  1728. //
  1729. // err := req.Send()
  1730. // if err == nil { // resp is now filled
  1731. // fmt.Println(resp)
  1732. // }
  1733. //
  1734. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1735. func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
  1736. op := &request.Operation{
  1737. Name: opCancelExportTask,
  1738. HTTPMethod: "POST",
  1739. HTTPPath: "/",
  1740. }
  1741. if input == nil {
  1742. input = &CancelExportTaskInput{}
  1743. }
  1744. output = &CancelExportTaskOutput{}
  1745. req = c.newRequest(op, input, output)
  1746. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  1747. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  1748. return
  1749. }
  1750. // CancelExportTask API operation for Amazon Elastic Compute Cloud.
  1751. //
  1752. // Cancels an active export task. The request removes all artifacts of the export,
  1753. // including any partially-created Amazon S3 objects. If the export task is
  1754. // complete or is in the process of transferring the final disk image, the command
  1755. // fails and returns an error.
  1756. //
  1757. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1758. // with awserr.Error's Code and Message methods to get detailed information about
  1759. // the error.
  1760. //
  1761. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1762. // API operation CancelExportTask for usage and error information.
  1763. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
  1764. func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
  1765. req, out := c.CancelExportTaskRequest(input)
  1766. return out, req.Send()
  1767. }
  1768. // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
  1769. // the ability to pass a context and additional request options.
  1770. //
  1771. // See CancelExportTask for details on how to use this API operation.
  1772. //
  1773. // The context must be non-nil and will be used for request cancellation. If
  1774. // the context is nil a panic will occur. In the future the SDK may create
  1775. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1776. // for more information on using Contexts.
  1777. func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
  1778. req, out := c.CancelExportTaskRequest(input)
  1779. req.SetContext(ctx)
  1780. req.ApplyOptions(opts...)
  1781. return out, req.Send()
  1782. }
  1783. const opCancelImportTask = "CancelImportTask"
  1784. // CancelImportTaskRequest generates a "aws/request.Request" representing the
  1785. // client's request for the CancelImportTask operation. The "output" return
  1786. // value can be used to capture response data after the request's "Send" method
  1787. // is called.
  1788. //
  1789. // See CancelImportTask for usage and error information.
  1790. //
  1791. // Creating a request object using this method should be used when you want to inject
  1792. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1793. // access properties on the request object before or after sending the request. If
  1794. // you just want the service response, call the CancelImportTask method directly
  1795. // instead.
  1796. //
  1797. // Note: You must call the "Send" method on the returned request object in order
  1798. // to execute the request.
  1799. //
  1800. // // Example sending a request using the CancelImportTaskRequest method.
  1801. // req, resp := client.CancelImportTaskRequest(params)
  1802. //
  1803. // err := req.Send()
  1804. // if err == nil { // resp is now filled
  1805. // fmt.Println(resp)
  1806. // }
  1807. //
  1808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1809. func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
  1810. op := &request.Operation{
  1811. Name: opCancelImportTask,
  1812. HTTPMethod: "POST",
  1813. HTTPPath: "/",
  1814. }
  1815. if input == nil {
  1816. input = &CancelImportTaskInput{}
  1817. }
  1818. output = &CancelImportTaskOutput{}
  1819. req = c.newRequest(op, input, output)
  1820. return
  1821. }
  1822. // CancelImportTask API operation for Amazon Elastic Compute Cloud.
  1823. //
  1824. // Cancels an in-process import virtual machine or import snapshot task.
  1825. //
  1826. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1827. // with awserr.Error's Code and Message methods to get detailed information about
  1828. // the error.
  1829. //
  1830. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1831. // API operation CancelImportTask for usage and error information.
  1832. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
  1833. func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
  1834. req, out := c.CancelImportTaskRequest(input)
  1835. return out, req.Send()
  1836. }
  1837. // CancelImportTaskWithContext is the same as CancelImportTask with the addition of
  1838. // the ability to pass a context and additional request options.
  1839. //
  1840. // See CancelImportTask for details on how to use this API operation.
  1841. //
  1842. // The context must be non-nil and will be used for request cancellation. If
  1843. // the context is nil a panic will occur. In the future the SDK may create
  1844. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1845. // for more information on using Contexts.
  1846. func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
  1847. req, out := c.CancelImportTaskRequest(input)
  1848. req.SetContext(ctx)
  1849. req.ApplyOptions(opts...)
  1850. return out, req.Send()
  1851. }
  1852. const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
  1853. // CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
  1854. // client's request for the CancelReservedInstancesListing operation. The "output" return
  1855. // value can be used to capture response data after the request's "Send" method
  1856. // is called.
  1857. //
  1858. // See CancelReservedInstancesListing for usage and error information.
  1859. //
  1860. // Creating a request object using this method should be used when you want to inject
  1861. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1862. // access properties on the request object before or after sending the request. If
  1863. // you just want the service response, call the CancelReservedInstancesListing method directly
  1864. // instead.
  1865. //
  1866. // Note: You must call the "Send" method on the returned request object in order
  1867. // to execute the request.
  1868. //
  1869. // // Example sending a request using the CancelReservedInstancesListingRequest method.
  1870. // req, resp := client.CancelReservedInstancesListingRequest(params)
  1871. //
  1872. // err := req.Send()
  1873. // if err == nil { // resp is now filled
  1874. // fmt.Println(resp)
  1875. // }
  1876. //
  1877. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1878. func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
  1879. op := &request.Operation{
  1880. Name: opCancelReservedInstancesListing,
  1881. HTTPMethod: "POST",
  1882. HTTPPath: "/",
  1883. }
  1884. if input == nil {
  1885. input = &CancelReservedInstancesListingInput{}
  1886. }
  1887. output = &CancelReservedInstancesListingOutput{}
  1888. req = c.newRequest(op, input, output)
  1889. return
  1890. }
  1891. // CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  1892. //
  1893. // Cancels the specified Reserved Instance listing in the Reserved Instance
  1894. // Marketplace.
  1895. //
  1896. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  1897. // in the Amazon Elastic Compute Cloud User Guide.
  1898. //
  1899. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1900. // with awserr.Error's Code and Message methods to get detailed information about
  1901. // the error.
  1902. //
  1903. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1904. // API operation CancelReservedInstancesListing for usage and error information.
  1905. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
  1906. func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
  1907. req, out := c.CancelReservedInstancesListingRequest(input)
  1908. return out, req.Send()
  1909. }
  1910. // CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
  1911. // the ability to pass a context and additional request options.
  1912. //
  1913. // See CancelReservedInstancesListing for details on how to use this API operation.
  1914. //
  1915. // The context must be non-nil and will be used for request cancellation. If
  1916. // the context is nil a panic will occur. In the future the SDK may create
  1917. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1918. // for more information on using Contexts.
  1919. func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
  1920. req, out := c.CancelReservedInstancesListingRequest(input)
  1921. req.SetContext(ctx)
  1922. req.ApplyOptions(opts...)
  1923. return out, req.Send()
  1924. }
  1925. const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
  1926. // CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  1927. // client's request for the CancelSpotFleetRequests operation. The "output" return
  1928. // value can be used to capture response data after the request's "Send" method
  1929. // is called.
  1930. //
  1931. // See CancelSpotFleetRequests for usage and error information.
  1932. //
  1933. // Creating a request object using this method should be used when you want to inject
  1934. // custom logic into the request's lifecycle using a custom handler, or if you want to
  1935. // access properties on the request object before or after sending the request. If
  1936. // you just want the service response, call the CancelSpotFleetRequests method directly
  1937. // instead.
  1938. //
  1939. // Note: You must call the "Send" method on the returned request object in order
  1940. // to execute the request.
  1941. //
  1942. // // Example sending a request using the CancelSpotFleetRequestsRequest method.
  1943. // req, resp := client.CancelSpotFleetRequestsRequest(params)
  1944. //
  1945. // err := req.Send()
  1946. // if err == nil { // resp is now filled
  1947. // fmt.Println(resp)
  1948. // }
  1949. //
  1950. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  1951. func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
  1952. op := &request.Operation{
  1953. Name: opCancelSpotFleetRequests,
  1954. HTTPMethod: "POST",
  1955. HTTPPath: "/",
  1956. }
  1957. if input == nil {
  1958. input = &CancelSpotFleetRequestsInput{}
  1959. }
  1960. output = &CancelSpotFleetRequestsOutput{}
  1961. req = c.newRequest(op, input, output)
  1962. return
  1963. }
  1964. // CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  1965. //
  1966. // Cancels the specified Spot fleet requests.
  1967. //
  1968. // After you cancel a Spot fleet request, the Spot fleet launches no new Spot
  1969. // instances. You must specify whether the Spot fleet should also terminate
  1970. // its Spot instances. If you terminate the instances, the Spot fleet request
  1971. // enters the cancelled_terminating state. Otherwise, the Spot fleet request
  1972. // enters the cancelled_running state and the instances continue to run until
  1973. // they are interrupted or you terminate them manually.
  1974. //
  1975. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1976. // with awserr.Error's Code and Message methods to get detailed information about
  1977. // the error.
  1978. //
  1979. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  1980. // API operation CancelSpotFleetRequests for usage and error information.
  1981. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
  1982. func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
  1983. req, out := c.CancelSpotFleetRequestsRequest(input)
  1984. return out, req.Send()
  1985. }
  1986. // CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
  1987. // the ability to pass a context and additional request options.
  1988. //
  1989. // See CancelSpotFleetRequests for details on how to use this API operation.
  1990. //
  1991. // The context must be non-nil and will be used for request cancellation. If
  1992. // the context is nil a panic will occur. In the future the SDK may create
  1993. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1994. // for more information on using Contexts.
  1995. func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
  1996. req, out := c.CancelSpotFleetRequestsRequest(input)
  1997. req.SetContext(ctx)
  1998. req.ApplyOptions(opts...)
  1999. return out, req.Send()
  2000. }
  2001. const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
  2002. // CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  2003. // client's request for the CancelSpotInstanceRequests operation. The "output" return
  2004. // value can be used to capture response data after the request's "Send" method
  2005. // is called.
  2006. //
  2007. // See CancelSpotInstanceRequests for usage and error information.
  2008. //
  2009. // Creating a request object using this method should be used when you want to inject
  2010. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2011. // access properties on the request object before or after sending the request. If
  2012. // you just want the service response, call the CancelSpotInstanceRequests method directly
  2013. // instead.
  2014. //
  2015. // Note: You must call the "Send" method on the returned request object in order
  2016. // to execute the request.
  2017. //
  2018. // // Example sending a request using the CancelSpotInstanceRequestsRequest method.
  2019. // req, resp := client.CancelSpotInstanceRequestsRequest(params)
  2020. //
  2021. // err := req.Send()
  2022. // if err == nil { // resp is now filled
  2023. // fmt.Println(resp)
  2024. // }
  2025. //
  2026. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2027. func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
  2028. op := &request.Operation{
  2029. Name: opCancelSpotInstanceRequests,
  2030. HTTPMethod: "POST",
  2031. HTTPPath: "/",
  2032. }
  2033. if input == nil {
  2034. input = &CancelSpotInstanceRequestsInput{}
  2035. }
  2036. output = &CancelSpotInstanceRequestsOutput{}
  2037. req = c.newRequest(op, input, output)
  2038. return
  2039. }
  2040. // CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  2041. //
  2042. // Cancels one or more Spot instance requests. Spot instances are instances
  2043. // that Amazon EC2 starts on your behalf when the bid price that you specify
  2044. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  2045. // based on available Spot instance capacity and current Spot instance requests.
  2046. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  2047. // in the Amazon Elastic Compute Cloud User Guide.
  2048. //
  2049. // Canceling a Spot instance request does not terminate running Spot instances
  2050. // associated with the request.
  2051. //
  2052. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2053. // with awserr.Error's Code and Message methods to get detailed information about
  2054. // the error.
  2055. //
  2056. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2057. // API operation CancelSpotInstanceRequests for usage and error information.
  2058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
  2059. func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
  2060. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2061. return out, req.Send()
  2062. }
  2063. // CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
  2064. // the ability to pass a context and additional request options.
  2065. //
  2066. // See CancelSpotInstanceRequests for details on how to use this API operation.
  2067. //
  2068. // The context must be non-nil and will be used for request cancellation. If
  2069. // the context is nil a panic will occur. In the future the SDK may create
  2070. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2071. // for more information on using Contexts.
  2072. func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
  2073. req, out := c.CancelSpotInstanceRequestsRequest(input)
  2074. req.SetContext(ctx)
  2075. req.ApplyOptions(opts...)
  2076. return out, req.Send()
  2077. }
  2078. const opConfirmProductInstance = "ConfirmProductInstance"
  2079. // ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
  2080. // client's request for the ConfirmProductInstance operation. The "output" return
  2081. // value can be used to capture response data after the request's "Send" method
  2082. // is called.
  2083. //
  2084. // See ConfirmProductInstance for usage and error information.
  2085. //
  2086. // Creating a request object using this method should be used when you want to inject
  2087. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2088. // access properties on the request object before or after sending the request. If
  2089. // you just want the service response, call the ConfirmProductInstance method directly
  2090. // instead.
  2091. //
  2092. // Note: You must call the "Send" method on the returned request object in order
  2093. // to execute the request.
  2094. //
  2095. // // Example sending a request using the ConfirmProductInstanceRequest method.
  2096. // req, resp := client.ConfirmProductInstanceRequest(params)
  2097. //
  2098. // err := req.Send()
  2099. // if err == nil { // resp is now filled
  2100. // fmt.Println(resp)
  2101. // }
  2102. //
  2103. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2104. func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
  2105. op := &request.Operation{
  2106. Name: opConfirmProductInstance,
  2107. HTTPMethod: "POST",
  2108. HTTPPath: "/",
  2109. }
  2110. if input == nil {
  2111. input = &ConfirmProductInstanceInput{}
  2112. }
  2113. output = &ConfirmProductInstanceOutput{}
  2114. req = c.newRequest(op, input, output)
  2115. return
  2116. }
  2117. // ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
  2118. //
  2119. // Determines whether a product code is associated with an instance. This action
  2120. // can only be used by the owner of the product code. It is useful when a product
  2121. // code owner needs to verify whether another user's instance is eligible for
  2122. // support.
  2123. //
  2124. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2125. // with awserr.Error's Code and Message methods to get detailed information about
  2126. // the error.
  2127. //
  2128. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2129. // API operation ConfirmProductInstance for usage and error information.
  2130. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
  2131. func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
  2132. req, out := c.ConfirmProductInstanceRequest(input)
  2133. return out, req.Send()
  2134. }
  2135. // ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
  2136. // the ability to pass a context and additional request options.
  2137. //
  2138. // See ConfirmProductInstance for details on how to use this API operation.
  2139. //
  2140. // The context must be non-nil and will be used for request cancellation. If
  2141. // the context is nil a panic will occur. In the future the SDK may create
  2142. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2143. // for more information on using Contexts.
  2144. func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
  2145. req, out := c.ConfirmProductInstanceRequest(input)
  2146. req.SetContext(ctx)
  2147. req.ApplyOptions(opts...)
  2148. return out, req.Send()
  2149. }
  2150. const opCopyImage = "CopyImage"
  2151. // CopyImageRequest generates a "aws/request.Request" representing the
  2152. // client's request for the CopyImage operation. The "output" return
  2153. // value can be used to capture response data after the request's "Send" method
  2154. // is called.
  2155. //
  2156. // See CopyImage for usage and error information.
  2157. //
  2158. // Creating a request object using this method should be used when you want to inject
  2159. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2160. // access properties on the request object before or after sending the request. If
  2161. // you just want the service response, call the CopyImage method directly
  2162. // instead.
  2163. //
  2164. // Note: You must call the "Send" method on the returned request object in order
  2165. // to execute the request.
  2166. //
  2167. // // Example sending a request using the CopyImageRequest method.
  2168. // req, resp := client.CopyImageRequest(params)
  2169. //
  2170. // err := req.Send()
  2171. // if err == nil { // resp is now filled
  2172. // fmt.Println(resp)
  2173. // }
  2174. //
  2175. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
  2176. func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
  2177. op := &request.Operation{
  2178. Name: opCopyImage,
  2179. HTTPMethod: "POST",
  2180. HTTPPath: "/",
  2181. }
  2182. if input == nil {
  2183. input = &CopyImageInput{}
  2184. }
  2185. output = &CopyImageOutput{}
  2186. req = c.newRequest(op, input, output)
  2187. return
  2188. }
  2189. // CopyImage API operation for Amazon Elastic Compute Cloud.
  2190. //
  2191. // Initiates the copy of an AMI from the specified source region to the current
  2192. // region. You specify the destination region by using its endpoint when making
  2193. // the request.
  2194. //
  2195. // For more information, see Copying AMIs (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 opCreateDhcpOptions = "CreateDhcpOptions"
  2406. // CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
  2407. // client's request for the CreateDhcpOptions 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 CreateDhcpOptions 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 CreateDhcpOptions 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 CreateDhcpOptionsRequest method.
  2423. // req, resp := client.CreateDhcpOptionsRequest(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/CreateDhcpOptions
  2431. func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
  2432. op := &request.Operation{
  2433. Name: opCreateDhcpOptions,
  2434. HTTPMethod: "POST",
  2435. HTTPPath: "/",
  2436. }
  2437. if input == nil {
  2438. input = &CreateDhcpOptionsInput{}
  2439. }
  2440. output = &CreateDhcpOptionsOutput{}
  2441. req = c.newRequest(op, input, output)
  2442. return
  2443. }
  2444. // CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
  2445. //
  2446. // Creates a set of DHCP options for your VPC. After creating the set, you must
  2447. // associate it with the VPC, causing all existing and new instances that you
  2448. // launch in the VPC to use this set of DHCP options. The following are the
  2449. // individual DHCP options you can specify. For more information about the options,
  2450. // see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2451. //
  2452. // * domain-name-servers - The IP addresses of up to four domain name servers,
  2453. // or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
  2454. // If specifying more than one domain name server, specify the IP addresses
  2455. // in a single parameter, separated by commas. If you want your instance
  2456. // to receive a custom DNS hostname as specified in domain-name, you must
  2457. // set domain-name-servers to a custom DNS server.
  2458. //
  2459. // * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
  2460. // ec2.internal. If you're using AmazonProvidedDNS in another region, specify
  2461. // region.compute.internal (for example, ap-northeast-1.compute.internal).
  2462. // Otherwise, specify a domain name (for example, MyCompany.com). This value
  2463. // is used to complete unqualified DNS hostnames. Important: Some Linux operating
  2464. // systems accept multiple domain names separated by spaces. However, Windows
  2465. // and other Linux operating systems treat the value as a single domain,
  2466. // which results in unexpected behavior. If your DHCP options set is associated
  2467. // with a VPC that has instances with multiple operating systems, specify
  2468. // only one domain name.
  2469. //
  2470. // * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
  2471. // servers.
  2472. //
  2473. // * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
  2474. //
  2475. // * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
  2476. // that you specify 2 (broadcast and multicast are not currently supported).
  2477. // For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
  2478. //
  2479. // Your VPC automatically starts out with a set of DHCP options that includes
  2480. // only a DNS server that we provide (AmazonProvidedDNS). If you create a set
  2481. // of options, and if your VPC has an Internet gateway, make sure to set the
  2482. // domain-name-servers option either to AmazonProvidedDNS or to a domain name
  2483. // server of your choice. For more information about DHCP options, see DHCP
  2484. // Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  2485. // in the Amazon Virtual Private Cloud User Guide.
  2486. //
  2487. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2488. // with awserr.Error's Code and Message methods to get detailed information about
  2489. // the error.
  2490. //
  2491. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2492. // API operation CreateDhcpOptions for usage and error information.
  2493. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
  2494. func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
  2495. req, out := c.CreateDhcpOptionsRequest(input)
  2496. return out, req.Send()
  2497. }
  2498. // CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
  2499. // the ability to pass a context and additional request options.
  2500. //
  2501. // See CreateDhcpOptions for details on how to use this API operation.
  2502. //
  2503. // The context must be non-nil and will be used for request cancellation. If
  2504. // the context is nil a panic will occur. In the future the SDK may create
  2505. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2506. // for more information on using Contexts.
  2507. func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
  2508. req, out := c.CreateDhcpOptionsRequest(input)
  2509. req.SetContext(ctx)
  2510. req.ApplyOptions(opts...)
  2511. return out, req.Send()
  2512. }
  2513. const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
  2514. // CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  2515. // client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
  2516. // value can be used to capture response data after the request's "Send" method
  2517. // is called.
  2518. //
  2519. // See CreateEgressOnlyInternetGateway for usage and error information.
  2520. //
  2521. // Creating a request object using this method should be used when you want to inject
  2522. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2523. // access properties on the request object before or after sending the request. If
  2524. // you just want the service response, call the CreateEgressOnlyInternetGateway method directly
  2525. // instead.
  2526. //
  2527. // Note: You must call the "Send" method on the returned request object in order
  2528. // to execute the request.
  2529. //
  2530. // // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
  2531. // req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
  2532. //
  2533. // err := req.Send()
  2534. // if err == nil { // resp is now filled
  2535. // fmt.Println(resp)
  2536. // }
  2537. //
  2538. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2539. func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
  2540. op := &request.Operation{
  2541. Name: opCreateEgressOnlyInternetGateway,
  2542. HTTPMethod: "POST",
  2543. HTTPPath: "/",
  2544. }
  2545. if input == nil {
  2546. input = &CreateEgressOnlyInternetGatewayInput{}
  2547. }
  2548. output = &CreateEgressOnlyInternetGatewayOutput{}
  2549. req = c.newRequest(op, input, output)
  2550. return
  2551. }
  2552. // CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  2553. //
  2554. // [IPv6 only] Creates an egress-only Internet gateway for your VPC. An egress-only
  2555. // Internet gateway is used to enable outbound communication over IPv6 from
  2556. // instances in your VPC to the Internet, and prevents hosts outside of your
  2557. // VPC from initiating an IPv6 connection with your instance.
  2558. //
  2559. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2560. // with awserr.Error's Code and Message methods to get detailed information about
  2561. // the error.
  2562. //
  2563. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2564. // API operation CreateEgressOnlyInternetGateway for usage and error information.
  2565. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
  2566. func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2567. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2568. return out, req.Send()
  2569. }
  2570. // CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
  2571. // the ability to pass a context and additional request options.
  2572. //
  2573. // See CreateEgressOnlyInternetGateway for details on how to use this API operation.
  2574. //
  2575. // The context must be non-nil and will be used for request cancellation. If
  2576. // the context is nil a panic will occur. In the future the SDK may create
  2577. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2578. // for more information on using Contexts.
  2579. func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
  2580. req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
  2581. req.SetContext(ctx)
  2582. req.ApplyOptions(opts...)
  2583. return out, req.Send()
  2584. }
  2585. const opCreateFlowLogs = "CreateFlowLogs"
  2586. // CreateFlowLogsRequest generates a "aws/request.Request" representing the
  2587. // client's request for the CreateFlowLogs operation. The "output" return
  2588. // value can be used to capture response data after the request's "Send" method
  2589. // is called.
  2590. //
  2591. // See CreateFlowLogs for usage and error information.
  2592. //
  2593. // Creating a request object using this method should be used when you want to inject
  2594. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2595. // access properties on the request object before or after sending the request. If
  2596. // you just want the service response, call the CreateFlowLogs method directly
  2597. // instead.
  2598. //
  2599. // Note: You must call the "Send" method on the returned request object in order
  2600. // to execute the request.
  2601. //
  2602. // // Example sending a request using the CreateFlowLogsRequest method.
  2603. // req, resp := client.CreateFlowLogsRequest(params)
  2604. //
  2605. // err := req.Send()
  2606. // if err == nil { // resp is now filled
  2607. // fmt.Println(resp)
  2608. // }
  2609. //
  2610. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2611. func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
  2612. op := &request.Operation{
  2613. Name: opCreateFlowLogs,
  2614. HTTPMethod: "POST",
  2615. HTTPPath: "/",
  2616. }
  2617. if input == nil {
  2618. input = &CreateFlowLogsInput{}
  2619. }
  2620. output = &CreateFlowLogsOutput{}
  2621. req = c.newRequest(op, input, output)
  2622. return
  2623. }
  2624. // CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
  2625. //
  2626. // Creates one or more flow logs to capture IP traffic for a specific network
  2627. // interface, subnet, or VPC. Flow logs are delivered to a specified log group
  2628. // in Amazon CloudWatch Logs. If you specify a VPC or subnet in the request,
  2629. // a log stream is created in CloudWatch Logs for each network interface in
  2630. // the subnet or VPC. Log streams can include information about accepted and
  2631. // rejected traffic to a network interface. You can view the data in your log
  2632. // streams using Amazon CloudWatch Logs.
  2633. //
  2634. // In your request, you must also specify an IAM role that has permission to
  2635. // publish logs to CloudWatch Logs.
  2636. //
  2637. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2638. // with awserr.Error's Code and Message methods to get detailed information about
  2639. // the error.
  2640. //
  2641. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2642. // API operation CreateFlowLogs for usage and error information.
  2643. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
  2644. func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
  2645. req, out := c.CreateFlowLogsRequest(input)
  2646. return out, req.Send()
  2647. }
  2648. // CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
  2649. // the ability to pass a context and additional request options.
  2650. //
  2651. // See CreateFlowLogs for details on how to use this API operation.
  2652. //
  2653. // The context must be non-nil and will be used for request cancellation. If
  2654. // the context is nil a panic will occur. In the future the SDK may create
  2655. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2656. // for more information on using Contexts.
  2657. func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
  2658. req, out := c.CreateFlowLogsRequest(input)
  2659. req.SetContext(ctx)
  2660. req.ApplyOptions(opts...)
  2661. return out, req.Send()
  2662. }
  2663. const opCreateFpgaImage = "CreateFpgaImage"
  2664. // CreateFpgaImageRequest generates a "aws/request.Request" representing the
  2665. // client's request for the CreateFpgaImage operation. The "output" return
  2666. // value can be used to capture response data after the request's "Send" method
  2667. // is called.
  2668. //
  2669. // See CreateFpgaImage for usage and error information.
  2670. //
  2671. // Creating a request object using this method should be used when you want to inject
  2672. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2673. // access properties on the request object before or after sending the request. If
  2674. // you just want the service response, call the CreateFpgaImage method directly
  2675. // instead.
  2676. //
  2677. // Note: You must call the "Send" method on the returned request object in order
  2678. // to execute the request.
  2679. //
  2680. // // Example sending a request using the CreateFpgaImageRequest method.
  2681. // req, resp := client.CreateFpgaImageRequest(params)
  2682. //
  2683. // err := req.Send()
  2684. // if err == nil { // resp is now filled
  2685. // fmt.Println(resp)
  2686. // }
  2687. //
  2688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  2689. func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
  2690. op := &request.Operation{
  2691. Name: opCreateFpgaImage,
  2692. HTTPMethod: "POST",
  2693. HTTPPath: "/",
  2694. }
  2695. if input == nil {
  2696. input = &CreateFpgaImageInput{}
  2697. }
  2698. output = &CreateFpgaImageOutput{}
  2699. req = c.newRequest(op, input, output)
  2700. return
  2701. }
  2702. // CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
  2703. //
  2704. // Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
  2705. //
  2706. // The create operation is asynchronous. To verify that the AFI is ready for
  2707. // use, check the output logs.
  2708. //
  2709. // An AFI contains the FPGA bitstream that is ready to download to an FPGA.
  2710. // You can securely deploy an AFI on one or more FPGA-accelerated instances.
  2711. // For more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
  2712. //
  2713. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2714. // with awserr.Error's Code and Message methods to get detailed information about
  2715. // the error.
  2716. //
  2717. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2718. // API operation CreateFpgaImage for usage and error information.
  2719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
  2720. func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
  2721. req, out := c.CreateFpgaImageRequest(input)
  2722. return out, req.Send()
  2723. }
  2724. // CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
  2725. // the ability to pass a context and additional request options.
  2726. //
  2727. // See CreateFpgaImage for details on how to use this API operation.
  2728. //
  2729. // The context must be non-nil and will be used for request cancellation. If
  2730. // the context is nil a panic will occur. In the future the SDK may create
  2731. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2732. // for more information on using Contexts.
  2733. func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
  2734. req, out := c.CreateFpgaImageRequest(input)
  2735. req.SetContext(ctx)
  2736. req.ApplyOptions(opts...)
  2737. return out, req.Send()
  2738. }
  2739. const opCreateImage = "CreateImage"
  2740. // CreateImageRequest generates a "aws/request.Request" representing the
  2741. // client's request for the CreateImage operation. The "output" return
  2742. // value can be used to capture response data after the request's "Send" method
  2743. // is called.
  2744. //
  2745. // See CreateImage for usage and error information.
  2746. //
  2747. // Creating a request object using this method should be used when you want to inject
  2748. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2749. // access properties on the request object before or after sending the request. If
  2750. // you just want the service response, call the CreateImage method directly
  2751. // instead.
  2752. //
  2753. // Note: You must call the "Send" method on the returned request object in order
  2754. // to execute the request.
  2755. //
  2756. // // Example sending a request using the CreateImageRequest method.
  2757. // req, resp := client.CreateImageRequest(params)
  2758. //
  2759. // err := req.Send()
  2760. // if err == nil { // resp is now filled
  2761. // fmt.Println(resp)
  2762. // }
  2763. //
  2764. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  2765. func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
  2766. op := &request.Operation{
  2767. Name: opCreateImage,
  2768. HTTPMethod: "POST",
  2769. HTTPPath: "/",
  2770. }
  2771. if input == nil {
  2772. input = &CreateImageInput{}
  2773. }
  2774. output = &CreateImageOutput{}
  2775. req = c.newRequest(op, input, output)
  2776. return
  2777. }
  2778. // CreateImage API operation for Amazon Elastic Compute Cloud.
  2779. //
  2780. // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
  2781. // is either running or stopped.
  2782. //
  2783. // If you customized your instance with instance store volumes or EBS volumes
  2784. // in addition to the root device volume, the new AMI contains block device
  2785. // mapping information for those volumes. When you launch an instance from this
  2786. // new AMI, the instance automatically launches with those additional volumes.
  2787. //
  2788. // For more information, see Creating Amazon EBS-Backed Linux AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
  2789. // in the Amazon Elastic Compute Cloud User Guide.
  2790. //
  2791. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2792. // with awserr.Error's Code and Message methods to get detailed information about
  2793. // the error.
  2794. //
  2795. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2796. // API operation CreateImage for usage and error information.
  2797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
  2798. func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
  2799. req, out := c.CreateImageRequest(input)
  2800. return out, req.Send()
  2801. }
  2802. // CreateImageWithContext is the same as CreateImage with the addition of
  2803. // the ability to pass a context and additional request options.
  2804. //
  2805. // See CreateImage for details on how to use this API operation.
  2806. //
  2807. // The context must be non-nil and will be used for request cancellation. If
  2808. // the context is nil a panic will occur. In the future the SDK may create
  2809. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2810. // for more information on using Contexts.
  2811. func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
  2812. req, out := c.CreateImageRequest(input)
  2813. req.SetContext(ctx)
  2814. req.ApplyOptions(opts...)
  2815. return out, req.Send()
  2816. }
  2817. const opCreateInstanceExportTask = "CreateInstanceExportTask"
  2818. // CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
  2819. // client's request for the CreateInstanceExportTask operation. The "output" return
  2820. // value can be used to capture response data after the request's "Send" method
  2821. // is called.
  2822. //
  2823. // See CreateInstanceExportTask for usage and error information.
  2824. //
  2825. // Creating a request object using this method should be used when you want to inject
  2826. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2827. // access properties on the request object before or after sending the request. If
  2828. // you just want the service response, call the CreateInstanceExportTask method directly
  2829. // instead.
  2830. //
  2831. // Note: You must call the "Send" method on the returned request object in order
  2832. // to execute the request.
  2833. //
  2834. // // Example sending a request using the CreateInstanceExportTaskRequest method.
  2835. // req, resp := client.CreateInstanceExportTaskRequest(params)
  2836. //
  2837. // err := req.Send()
  2838. // if err == nil { // resp is now filled
  2839. // fmt.Println(resp)
  2840. // }
  2841. //
  2842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  2843. func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
  2844. op := &request.Operation{
  2845. Name: opCreateInstanceExportTask,
  2846. HTTPMethod: "POST",
  2847. HTTPPath: "/",
  2848. }
  2849. if input == nil {
  2850. input = &CreateInstanceExportTaskInput{}
  2851. }
  2852. output = &CreateInstanceExportTaskOutput{}
  2853. req = c.newRequest(op, input, output)
  2854. return
  2855. }
  2856. // CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
  2857. //
  2858. // Exports a running or stopped instance to an S3 bucket.
  2859. //
  2860. // For information about the supported operating systems, image formats, and
  2861. // known limitations for the types of instances you can export, see Exporting
  2862. // an Instance as a VM Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
  2863. // in the VM Import/Export User Guide.
  2864. //
  2865. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2866. // with awserr.Error's Code and Message methods to get detailed information about
  2867. // the error.
  2868. //
  2869. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2870. // API operation CreateInstanceExportTask for usage and error information.
  2871. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
  2872. func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
  2873. req, out := c.CreateInstanceExportTaskRequest(input)
  2874. return out, req.Send()
  2875. }
  2876. // CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
  2877. // the ability to pass a context and additional request options.
  2878. //
  2879. // See CreateInstanceExportTask for details on how to use this API operation.
  2880. //
  2881. // The context must be non-nil and will be used for request cancellation. If
  2882. // the context is nil a panic will occur. In the future the SDK may create
  2883. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2884. // for more information on using Contexts.
  2885. func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
  2886. req, out := c.CreateInstanceExportTaskRequest(input)
  2887. req.SetContext(ctx)
  2888. req.ApplyOptions(opts...)
  2889. return out, req.Send()
  2890. }
  2891. const opCreateInternetGateway = "CreateInternetGateway"
  2892. // CreateInternetGatewayRequest generates a "aws/request.Request" representing the
  2893. // client's request for the CreateInternetGateway operation. The "output" return
  2894. // value can be used to capture response data after the request's "Send" method
  2895. // is called.
  2896. //
  2897. // See CreateInternetGateway for usage and error information.
  2898. //
  2899. // Creating a request object using this method should be used when you want to inject
  2900. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2901. // access properties on the request object before or after sending the request. If
  2902. // you just want the service response, call the CreateInternetGateway method directly
  2903. // instead.
  2904. //
  2905. // Note: You must call the "Send" method on the returned request object in order
  2906. // to execute the request.
  2907. //
  2908. // // Example sending a request using the CreateInternetGatewayRequest method.
  2909. // req, resp := client.CreateInternetGatewayRequest(params)
  2910. //
  2911. // err := req.Send()
  2912. // if err == nil { // resp is now filled
  2913. // fmt.Println(resp)
  2914. // }
  2915. //
  2916. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  2917. func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
  2918. op := &request.Operation{
  2919. Name: opCreateInternetGateway,
  2920. HTTPMethod: "POST",
  2921. HTTPPath: "/",
  2922. }
  2923. if input == nil {
  2924. input = &CreateInternetGatewayInput{}
  2925. }
  2926. output = &CreateInternetGatewayOutput{}
  2927. req = c.newRequest(op, input, output)
  2928. return
  2929. }
  2930. // CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
  2931. //
  2932. // Creates an Internet gateway for use with a VPC. After creating the Internet
  2933. // gateway, you attach it to a VPC using AttachInternetGateway.
  2934. //
  2935. // For more information about your VPC and Internet gateway, see the Amazon
  2936. // Virtual Private Cloud User Guide (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/).
  2937. //
  2938. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2939. // with awserr.Error's Code and Message methods to get detailed information about
  2940. // the error.
  2941. //
  2942. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  2943. // API operation CreateInternetGateway for usage and error information.
  2944. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
  2945. func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
  2946. req, out := c.CreateInternetGatewayRequest(input)
  2947. return out, req.Send()
  2948. }
  2949. // CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
  2950. // the ability to pass a context and additional request options.
  2951. //
  2952. // See CreateInternetGateway for details on how to use this API operation.
  2953. //
  2954. // The context must be non-nil and will be used for request cancellation. If
  2955. // the context is nil a panic will occur. In the future the SDK may create
  2956. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2957. // for more information on using Contexts.
  2958. func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
  2959. req, out := c.CreateInternetGatewayRequest(input)
  2960. req.SetContext(ctx)
  2961. req.ApplyOptions(opts...)
  2962. return out, req.Send()
  2963. }
  2964. const opCreateKeyPair = "CreateKeyPair"
  2965. // CreateKeyPairRequest generates a "aws/request.Request" representing the
  2966. // client's request for the CreateKeyPair operation. The "output" return
  2967. // value can be used to capture response data after the request's "Send" method
  2968. // is called.
  2969. //
  2970. // See CreateKeyPair for usage and error information.
  2971. //
  2972. // Creating a request object using this method should be used when you want to inject
  2973. // custom logic into the request's lifecycle using a custom handler, or if you want to
  2974. // access properties on the request object before or after sending the request. If
  2975. // you just want the service response, call the CreateKeyPair method directly
  2976. // instead.
  2977. //
  2978. // Note: You must call the "Send" method on the returned request object in order
  2979. // to execute the request.
  2980. //
  2981. // // Example sending a request using the CreateKeyPairRequest method.
  2982. // req, resp := client.CreateKeyPairRequest(params)
  2983. //
  2984. // err := req.Send()
  2985. // if err == nil { // resp is now filled
  2986. // fmt.Println(resp)
  2987. // }
  2988. //
  2989. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  2990. func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
  2991. op := &request.Operation{
  2992. Name: opCreateKeyPair,
  2993. HTTPMethod: "POST",
  2994. HTTPPath: "/",
  2995. }
  2996. if input == nil {
  2997. input = &CreateKeyPairInput{}
  2998. }
  2999. output = &CreateKeyPairOutput{}
  3000. req = c.newRequest(op, input, output)
  3001. return
  3002. }
  3003. // CreateKeyPair API operation for Amazon Elastic Compute Cloud.
  3004. //
  3005. // Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
  3006. // the public key and displays the private key for you to save to a file. The
  3007. // private key is returned as an unencrypted PEM encoded PKCS#8 private key.
  3008. // If a key with the specified name already exists, Amazon EC2 returns an error.
  3009. //
  3010. // You can have up to five thousand key pairs per region.
  3011. //
  3012. // The key pair returned to you is available only in the region in which you
  3013. // create it. To create a key pair that is available in all regions, use ImportKeyPair.
  3014. //
  3015. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  3016. // in the Amazon Elastic Compute Cloud User Guide.
  3017. //
  3018. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3019. // with awserr.Error's Code and Message methods to get detailed information about
  3020. // the error.
  3021. //
  3022. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3023. // API operation CreateKeyPair for usage and error information.
  3024. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
  3025. func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
  3026. req, out := c.CreateKeyPairRequest(input)
  3027. return out, req.Send()
  3028. }
  3029. // CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
  3030. // the ability to pass a context and additional request options.
  3031. //
  3032. // See CreateKeyPair for details on how to use this API operation.
  3033. //
  3034. // The context must be non-nil and will be used for request cancellation. If
  3035. // the context is nil a panic will occur. In the future the SDK may create
  3036. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3037. // for more information on using Contexts.
  3038. func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
  3039. req, out := c.CreateKeyPairRequest(input)
  3040. req.SetContext(ctx)
  3041. req.ApplyOptions(opts...)
  3042. return out, req.Send()
  3043. }
  3044. const opCreateNatGateway = "CreateNatGateway"
  3045. // CreateNatGatewayRequest generates a "aws/request.Request" representing the
  3046. // client's request for the CreateNatGateway operation. The "output" return
  3047. // value can be used to capture response data after the request's "Send" method
  3048. // is called.
  3049. //
  3050. // See CreateNatGateway for usage and error information.
  3051. //
  3052. // Creating a request object using this method should be used when you want to inject
  3053. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3054. // access properties on the request object before or after sending the request. If
  3055. // you just want the service response, call the CreateNatGateway method directly
  3056. // instead.
  3057. //
  3058. // Note: You must call the "Send" method on the returned request object in order
  3059. // to execute the request.
  3060. //
  3061. // // Example sending a request using the CreateNatGatewayRequest method.
  3062. // req, resp := client.CreateNatGatewayRequest(params)
  3063. //
  3064. // err := req.Send()
  3065. // if err == nil { // resp is now filled
  3066. // fmt.Println(resp)
  3067. // }
  3068. //
  3069. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3070. func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
  3071. op := &request.Operation{
  3072. Name: opCreateNatGateway,
  3073. HTTPMethod: "POST",
  3074. HTTPPath: "/",
  3075. }
  3076. if input == nil {
  3077. input = &CreateNatGatewayInput{}
  3078. }
  3079. output = &CreateNatGatewayOutput{}
  3080. req = c.newRequest(op, input, output)
  3081. return
  3082. }
  3083. // CreateNatGateway API operation for Amazon Elastic Compute Cloud.
  3084. //
  3085. // Creates a NAT gateway in the specified subnet. A NAT gateway can be used
  3086. // to enable instances in a private subnet to connect to the Internet. This
  3087. // action creates a network interface in the specified subnet with a private
  3088. // IP address from the IP address range of the subnet. For more information,
  3089. // see NAT Gateways (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html)
  3090. // in the Amazon Virtual Private Cloud User Guide.
  3091. //
  3092. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3093. // with awserr.Error's Code and Message methods to get detailed information about
  3094. // the error.
  3095. //
  3096. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3097. // API operation CreateNatGateway for usage and error information.
  3098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
  3099. func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
  3100. req, out := c.CreateNatGatewayRequest(input)
  3101. return out, req.Send()
  3102. }
  3103. // CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
  3104. // the ability to pass a context and additional request options.
  3105. //
  3106. // See CreateNatGateway for details on how to use this API operation.
  3107. //
  3108. // The context must be non-nil and will be used for request cancellation. If
  3109. // the context is nil a panic will occur. In the future the SDK may create
  3110. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3111. // for more information on using Contexts.
  3112. func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
  3113. req, out := c.CreateNatGatewayRequest(input)
  3114. req.SetContext(ctx)
  3115. req.ApplyOptions(opts...)
  3116. return out, req.Send()
  3117. }
  3118. const opCreateNetworkAcl = "CreateNetworkAcl"
  3119. // CreateNetworkAclRequest generates a "aws/request.Request" representing the
  3120. // client's request for the CreateNetworkAcl operation. The "output" return
  3121. // value can be used to capture response data after the request's "Send" method
  3122. // is called.
  3123. //
  3124. // See CreateNetworkAcl for usage and error information.
  3125. //
  3126. // Creating a request object using this method should be used when you want to inject
  3127. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3128. // access properties on the request object before or after sending the request. If
  3129. // you just want the service response, call the CreateNetworkAcl method directly
  3130. // instead.
  3131. //
  3132. // Note: You must call the "Send" method on the returned request object in order
  3133. // to execute the request.
  3134. //
  3135. // // Example sending a request using the CreateNetworkAclRequest method.
  3136. // req, resp := client.CreateNetworkAclRequest(params)
  3137. //
  3138. // err := req.Send()
  3139. // if err == nil { // resp is now filled
  3140. // fmt.Println(resp)
  3141. // }
  3142. //
  3143. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3144. func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
  3145. op := &request.Operation{
  3146. Name: opCreateNetworkAcl,
  3147. HTTPMethod: "POST",
  3148. HTTPPath: "/",
  3149. }
  3150. if input == nil {
  3151. input = &CreateNetworkAclInput{}
  3152. }
  3153. output = &CreateNetworkAclOutput{}
  3154. req = c.newRequest(op, input, output)
  3155. return
  3156. }
  3157. // CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
  3158. //
  3159. // Creates a network ACL in a VPC. Network ACLs provide an optional layer of
  3160. // security (in addition to security groups) for the instances in your VPC.
  3161. //
  3162. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3163. // in the Amazon Virtual Private Cloud User Guide.
  3164. //
  3165. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3166. // with awserr.Error's Code and Message methods to get detailed information about
  3167. // the error.
  3168. //
  3169. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3170. // API operation CreateNetworkAcl for usage and error information.
  3171. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
  3172. func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
  3173. req, out := c.CreateNetworkAclRequest(input)
  3174. return out, req.Send()
  3175. }
  3176. // CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
  3177. // the ability to pass a context and additional request options.
  3178. //
  3179. // See CreateNetworkAcl for details on how to use this API operation.
  3180. //
  3181. // The context must be non-nil and will be used for request cancellation. If
  3182. // the context is nil a panic will occur. In the future the SDK may create
  3183. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3184. // for more information on using Contexts.
  3185. func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
  3186. req, out := c.CreateNetworkAclRequest(input)
  3187. req.SetContext(ctx)
  3188. req.ApplyOptions(opts...)
  3189. return out, req.Send()
  3190. }
  3191. const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
  3192. // CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
  3193. // client's request for the CreateNetworkAclEntry operation. The "output" return
  3194. // value can be used to capture response data after the request's "Send" method
  3195. // is called.
  3196. //
  3197. // See CreateNetworkAclEntry for usage and error information.
  3198. //
  3199. // Creating a request object using this method should be used when you want to inject
  3200. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3201. // access properties on the request object before or after sending the request. If
  3202. // you just want the service response, call the CreateNetworkAclEntry method directly
  3203. // instead.
  3204. //
  3205. // Note: You must call the "Send" method on the returned request object in order
  3206. // to execute the request.
  3207. //
  3208. // // Example sending a request using the CreateNetworkAclEntryRequest method.
  3209. // req, resp := client.CreateNetworkAclEntryRequest(params)
  3210. //
  3211. // err := req.Send()
  3212. // if err == nil { // resp is now filled
  3213. // fmt.Println(resp)
  3214. // }
  3215. //
  3216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3217. func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
  3218. op := &request.Operation{
  3219. Name: opCreateNetworkAclEntry,
  3220. HTTPMethod: "POST",
  3221. HTTPPath: "/",
  3222. }
  3223. if input == nil {
  3224. input = &CreateNetworkAclEntryInput{}
  3225. }
  3226. output = &CreateNetworkAclEntryOutput{}
  3227. req = c.newRequest(op, input, output)
  3228. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3229. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3230. return
  3231. }
  3232. // CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  3233. //
  3234. // Creates an entry (a rule) in a network ACL with the specified rule number.
  3235. // Each network ACL has a set of numbered ingress rules and a separate set of
  3236. // numbered egress rules. When determining whether a packet should be allowed
  3237. // in or out of a subnet associated with the ACL, we process the entries in
  3238. // the ACL according to the rule numbers, in ascending order. Each network ACL
  3239. // has a set of ingress rules and a separate set of egress rules.
  3240. //
  3241. // We recommend that you leave room between the rule numbers (for example, 100,
  3242. // 110, 120, ...), and not number them one right after the other (for example,
  3243. // 101, 102, 103, ...). This makes it easier to add a rule between existing
  3244. // ones without having to renumber the rules.
  3245. //
  3246. // After you add an entry, you can't modify it; you must either replace it,
  3247. // or create an entry and delete the old one.
  3248. //
  3249. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  3250. // in the Amazon Virtual Private Cloud User Guide.
  3251. //
  3252. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3253. // with awserr.Error's Code and Message methods to get detailed information about
  3254. // the error.
  3255. //
  3256. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3257. // API operation CreateNetworkAclEntry for usage and error information.
  3258. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
  3259. func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
  3260. req, out := c.CreateNetworkAclEntryRequest(input)
  3261. return out, req.Send()
  3262. }
  3263. // CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
  3264. // the ability to pass a context and additional request options.
  3265. //
  3266. // See CreateNetworkAclEntry for details on how to use this API operation.
  3267. //
  3268. // The context must be non-nil and will be used for request cancellation. If
  3269. // the context is nil a panic will occur. In the future the SDK may create
  3270. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3271. // for more information on using Contexts.
  3272. func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
  3273. req, out := c.CreateNetworkAclEntryRequest(input)
  3274. req.SetContext(ctx)
  3275. req.ApplyOptions(opts...)
  3276. return out, req.Send()
  3277. }
  3278. const opCreateNetworkInterface = "CreateNetworkInterface"
  3279. // CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
  3280. // client's request for the CreateNetworkInterface operation. The "output" return
  3281. // value can be used to capture response data after the request's "Send" method
  3282. // is called.
  3283. //
  3284. // See CreateNetworkInterface for usage and error information.
  3285. //
  3286. // Creating a request object using this method should be used when you want to inject
  3287. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3288. // access properties on the request object before or after sending the request. If
  3289. // you just want the service response, call the CreateNetworkInterface method directly
  3290. // instead.
  3291. //
  3292. // Note: You must call the "Send" method on the returned request object in order
  3293. // to execute the request.
  3294. //
  3295. // // Example sending a request using the CreateNetworkInterfaceRequest method.
  3296. // req, resp := client.CreateNetworkInterfaceRequest(params)
  3297. //
  3298. // err := req.Send()
  3299. // if err == nil { // resp is now filled
  3300. // fmt.Println(resp)
  3301. // }
  3302. //
  3303. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3304. func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
  3305. op := &request.Operation{
  3306. Name: opCreateNetworkInterface,
  3307. HTTPMethod: "POST",
  3308. HTTPPath: "/",
  3309. }
  3310. if input == nil {
  3311. input = &CreateNetworkInterfaceInput{}
  3312. }
  3313. output = &CreateNetworkInterfaceOutput{}
  3314. req = c.newRequest(op, input, output)
  3315. return
  3316. }
  3317. // CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
  3318. //
  3319. // Creates a network interface in the specified subnet.
  3320. //
  3321. // For more information about network interfaces, see Elastic Network Interfaces
  3322. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
  3323. // Amazon Virtual Private Cloud User Guide.
  3324. //
  3325. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3326. // with awserr.Error's Code and Message methods to get detailed information about
  3327. // the error.
  3328. //
  3329. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3330. // API operation CreateNetworkInterface for usage and error information.
  3331. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
  3332. func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
  3333. req, out := c.CreateNetworkInterfaceRequest(input)
  3334. return out, req.Send()
  3335. }
  3336. // CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
  3337. // the ability to pass a context and additional request options.
  3338. //
  3339. // See CreateNetworkInterface for details on how to use this API operation.
  3340. //
  3341. // The context must be non-nil and will be used for request cancellation. If
  3342. // the context is nil a panic will occur. In the future the SDK may create
  3343. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3344. // for more information on using Contexts.
  3345. func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
  3346. req, out := c.CreateNetworkInterfaceRequest(input)
  3347. req.SetContext(ctx)
  3348. req.ApplyOptions(opts...)
  3349. return out, req.Send()
  3350. }
  3351. const opCreatePlacementGroup = "CreatePlacementGroup"
  3352. // CreatePlacementGroupRequest generates a "aws/request.Request" representing the
  3353. // client's request for the CreatePlacementGroup operation. The "output" return
  3354. // value can be used to capture response data after the request's "Send" method
  3355. // is called.
  3356. //
  3357. // See CreatePlacementGroup for usage and error information.
  3358. //
  3359. // Creating a request object using this method should be used when you want to inject
  3360. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3361. // access properties on the request object before or after sending the request. If
  3362. // you just want the service response, call the CreatePlacementGroup method directly
  3363. // instead.
  3364. //
  3365. // Note: You must call the "Send" method on the returned request object in order
  3366. // to execute the request.
  3367. //
  3368. // // Example sending a request using the CreatePlacementGroupRequest method.
  3369. // req, resp := client.CreatePlacementGroupRequest(params)
  3370. //
  3371. // err := req.Send()
  3372. // if err == nil { // resp is now filled
  3373. // fmt.Println(resp)
  3374. // }
  3375. //
  3376. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3377. func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
  3378. op := &request.Operation{
  3379. Name: opCreatePlacementGroup,
  3380. HTTPMethod: "POST",
  3381. HTTPPath: "/",
  3382. }
  3383. if input == nil {
  3384. input = &CreatePlacementGroupInput{}
  3385. }
  3386. output = &CreatePlacementGroupOutput{}
  3387. req = c.newRequest(op, input, output)
  3388. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  3389. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  3390. return
  3391. }
  3392. // CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
  3393. //
  3394. // Creates a placement group that you launch cluster instances into. You must
  3395. // give the group a name that's unique within the scope of your account.
  3396. //
  3397. // For more information about placement groups and cluster instances, see Cluster
  3398. // Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  3399. // in the Amazon Elastic Compute Cloud User Guide.
  3400. //
  3401. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3402. // with awserr.Error's Code and Message methods to get detailed information about
  3403. // the error.
  3404. //
  3405. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3406. // API operation CreatePlacementGroup for usage and error information.
  3407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
  3408. func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
  3409. req, out := c.CreatePlacementGroupRequest(input)
  3410. return out, req.Send()
  3411. }
  3412. // CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
  3413. // the ability to pass a context and additional request options.
  3414. //
  3415. // See CreatePlacementGroup for details on how to use this API operation.
  3416. //
  3417. // The context must be non-nil and will be used for request cancellation. If
  3418. // the context is nil a panic will occur. In the future the SDK may create
  3419. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3420. // for more information on using Contexts.
  3421. func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
  3422. req, out := c.CreatePlacementGroupRequest(input)
  3423. req.SetContext(ctx)
  3424. req.ApplyOptions(opts...)
  3425. return out, req.Send()
  3426. }
  3427. const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
  3428. // CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
  3429. // client's request for the CreateReservedInstancesListing operation. The "output" return
  3430. // value can be used to capture response data after the request's "Send" method
  3431. // is called.
  3432. //
  3433. // See CreateReservedInstancesListing for usage and error information.
  3434. //
  3435. // Creating a request object using this method should be used when you want to inject
  3436. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3437. // access properties on the request object before or after sending the request. If
  3438. // you just want the service response, call the CreateReservedInstancesListing method directly
  3439. // instead.
  3440. //
  3441. // Note: You must call the "Send" method on the returned request object in order
  3442. // to execute the request.
  3443. //
  3444. // // Example sending a request using the CreateReservedInstancesListingRequest method.
  3445. // req, resp := client.CreateReservedInstancesListingRequest(params)
  3446. //
  3447. // err := req.Send()
  3448. // if err == nil { // resp is now filled
  3449. // fmt.Println(resp)
  3450. // }
  3451. //
  3452. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3453. func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
  3454. op := &request.Operation{
  3455. Name: opCreateReservedInstancesListing,
  3456. HTTPMethod: "POST",
  3457. HTTPPath: "/",
  3458. }
  3459. if input == nil {
  3460. input = &CreateReservedInstancesListingInput{}
  3461. }
  3462. output = &CreateReservedInstancesListingOutput{}
  3463. req = c.newRequest(op, input, output)
  3464. return
  3465. }
  3466. // CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
  3467. //
  3468. // Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
  3469. // the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
  3470. // listing at a time. To get a list of your Standard Reserved Instances, you
  3471. // can use the DescribeReservedInstances operation.
  3472. //
  3473. // Only Standard Reserved Instances with a capacity reservation can be sold
  3474. // in the Reserved Instance Marketplace. Convertible Reserved Instances and
  3475. // Standard Reserved Instances with a regional benefit cannot be sold.
  3476. //
  3477. // The Reserved Instance Marketplace matches sellers who want to resell Standard
  3478. // Reserved Instance capacity that they no longer need with buyers who want
  3479. // to purchase additional capacity. Reserved Instances bought and sold through
  3480. // the Reserved Instance Marketplace work like any other Reserved Instances.
  3481. //
  3482. // To sell your Standard Reserved Instances, you must first register as a seller
  3483. // in the Reserved Instance Marketplace. After completing the registration process,
  3484. // you can create a Reserved Instance Marketplace listing of some or all of
  3485. // your Standard Reserved Instances, and specify the upfront price to receive
  3486. // for them. Your Standard Reserved Instance listings then become available
  3487. // for purchase. To view the details of your Standard Reserved Instance listing,
  3488. // you can use the DescribeReservedInstancesListings operation.
  3489. //
  3490. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  3491. // in the Amazon Elastic Compute Cloud User Guide.
  3492. //
  3493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3494. // with awserr.Error's Code and Message methods to get detailed information about
  3495. // the error.
  3496. //
  3497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3498. // API operation CreateReservedInstancesListing for usage and error information.
  3499. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
  3500. func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
  3501. req, out := c.CreateReservedInstancesListingRequest(input)
  3502. return out, req.Send()
  3503. }
  3504. // CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
  3505. // the ability to pass a context and additional request options.
  3506. //
  3507. // See CreateReservedInstancesListing for details on how to use this API operation.
  3508. //
  3509. // The context must be non-nil and will be used for request cancellation. If
  3510. // the context is nil a panic will occur. In the future the SDK may create
  3511. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3512. // for more information on using Contexts.
  3513. func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
  3514. req, out := c.CreateReservedInstancesListingRequest(input)
  3515. req.SetContext(ctx)
  3516. req.ApplyOptions(opts...)
  3517. return out, req.Send()
  3518. }
  3519. const opCreateRoute = "CreateRoute"
  3520. // CreateRouteRequest generates a "aws/request.Request" representing the
  3521. // client's request for the CreateRoute operation. The "output" return
  3522. // value can be used to capture response data after the request's "Send" method
  3523. // is called.
  3524. //
  3525. // See CreateRoute for usage and error information.
  3526. //
  3527. // Creating a request object using this method should be used when you want to inject
  3528. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3529. // access properties on the request object before or after sending the request. If
  3530. // you just want the service response, call the CreateRoute method directly
  3531. // instead.
  3532. //
  3533. // Note: You must call the "Send" method on the returned request object in order
  3534. // to execute the request.
  3535. //
  3536. // // Example sending a request using the CreateRouteRequest method.
  3537. // req, resp := client.CreateRouteRequest(params)
  3538. //
  3539. // err := req.Send()
  3540. // if err == nil { // resp is now filled
  3541. // fmt.Println(resp)
  3542. // }
  3543. //
  3544. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  3545. func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
  3546. op := &request.Operation{
  3547. Name: opCreateRoute,
  3548. HTTPMethod: "POST",
  3549. HTTPPath: "/",
  3550. }
  3551. if input == nil {
  3552. input = &CreateRouteInput{}
  3553. }
  3554. output = &CreateRouteOutput{}
  3555. req = c.newRequest(op, input, output)
  3556. return
  3557. }
  3558. // CreateRoute API operation for Amazon Elastic Compute Cloud.
  3559. //
  3560. // Creates a route in a route table within a VPC.
  3561. //
  3562. // You must specify one of the following targets: Internet gateway or virtual
  3563. // private gateway, NAT instance, NAT gateway, VPC peering connection, network
  3564. // interface, or egress-only Internet gateway.
  3565. //
  3566. // When determining how to route traffic, we use the route with the most specific
  3567. // match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
  3568. // the route table includes the following two IPv4 routes:
  3569. //
  3570. // * 192.0.2.0/24 (goes to some target A)
  3571. //
  3572. // * 192.0.2.0/28 (goes to some target B)
  3573. //
  3574. // Both routes apply to the traffic destined for 192.0.2.3. However, the second
  3575. // route in the list covers a smaller number of IP addresses and is therefore
  3576. // more specific, so we use that route to determine where to target the traffic.
  3577. //
  3578. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3579. // in the Amazon Virtual Private Cloud User Guide.
  3580. //
  3581. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3582. // with awserr.Error's Code and Message methods to get detailed information about
  3583. // the error.
  3584. //
  3585. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3586. // API operation CreateRoute for usage and error information.
  3587. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
  3588. func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
  3589. req, out := c.CreateRouteRequest(input)
  3590. return out, req.Send()
  3591. }
  3592. // CreateRouteWithContext is the same as CreateRoute with the addition of
  3593. // the ability to pass a context and additional request options.
  3594. //
  3595. // See CreateRoute for details on how to use this API operation.
  3596. //
  3597. // The context must be non-nil and will be used for request cancellation. If
  3598. // the context is nil a panic will occur. In the future the SDK may create
  3599. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3600. // for more information on using Contexts.
  3601. func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
  3602. req, out := c.CreateRouteRequest(input)
  3603. req.SetContext(ctx)
  3604. req.ApplyOptions(opts...)
  3605. return out, req.Send()
  3606. }
  3607. const opCreateRouteTable = "CreateRouteTable"
  3608. // CreateRouteTableRequest generates a "aws/request.Request" representing the
  3609. // client's request for the CreateRouteTable operation. The "output" return
  3610. // value can be used to capture response data after the request's "Send" method
  3611. // is called.
  3612. //
  3613. // See CreateRouteTable for usage and error information.
  3614. //
  3615. // Creating a request object using this method should be used when you want to inject
  3616. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3617. // access properties on the request object before or after sending the request. If
  3618. // you just want the service response, call the CreateRouteTable method directly
  3619. // instead.
  3620. //
  3621. // Note: You must call the "Send" method on the returned request object in order
  3622. // to execute the request.
  3623. //
  3624. // // Example sending a request using the CreateRouteTableRequest method.
  3625. // req, resp := client.CreateRouteTableRequest(params)
  3626. //
  3627. // err := req.Send()
  3628. // if err == nil { // resp is now filled
  3629. // fmt.Println(resp)
  3630. // }
  3631. //
  3632. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  3633. func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
  3634. op := &request.Operation{
  3635. Name: opCreateRouteTable,
  3636. HTTPMethod: "POST",
  3637. HTTPPath: "/",
  3638. }
  3639. if input == nil {
  3640. input = &CreateRouteTableInput{}
  3641. }
  3642. output = &CreateRouteTableOutput{}
  3643. req = c.newRequest(op, input, output)
  3644. return
  3645. }
  3646. // CreateRouteTable API operation for Amazon Elastic Compute Cloud.
  3647. //
  3648. // Creates a route table for the specified VPC. After you create a route table,
  3649. // you can add routes and associate the table with a subnet.
  3650. //
  3651. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  3652. // in the Amazon Virtual Private Cloud User Guide.
  3653. //
  3654. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3655. // with awserr.Error's Code and Message methods to get detailed information about
  3656. // the error.
  3657. //
  3658. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3659. // API operation CreateRouteTable for usage and error information.
  3660. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
  3661. func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
  3662. req, out := c.CreateRouteTableRequest(input)
  3663. return out, req.Send()
  3664. }
  3665. // CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
  3666. // the ability to pass a context and additional request options.
  3667. //
  3668. // See CreateRouteTable for details on how to use this API operation.
  3669. //
  3670. // The context must be non-nil and will be used for request cancellation. If
  3671. // the context is nil a panic will occur. In the future the SDK may create
  3672. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3673. // for more information on using Contexts.
  3674. func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
  3675. req, out := c.CreateRouteTableRequest(input)
  3676. req.SetContext(ctx)
  3677. req.ApplyOptions(opts...)
  3678. return out, req.Send()
  3679. }
  3680. const opCreateSecurityGroup = "CreateSecurityGroup"
  3681. // CreateSecurityGroupRequest generates a "aws/request.Request" representing the
  3682. // client's request for the CreateSecurityGroup operation. The "output" return
  3683. // value can be used to capture response data after the request's "Send" method
  3684. // is called.
  3685. //
  3686. // See CreateSecurityGroup for usage and error information.
  3687. //
  3688. // Creating a request object using this method should be used when you want to inject
  3689. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3690. // access properties on the request object before or after sending the request. If
  3691. // you just want the service response, call the CreateSecurityGroup method directly
  3692. // instead.
  3693. //
  3694. // Note: You must call the "Send" method on the returned request object in order
  3695. // to execute the request.
  3696. //
  3697. // // Example sending a request using the CreateSecurityGroupRequest method.
  3698. // req, resp := client.CreateSecurityGroupRequest(params)
  3699. //
  3700. // err := req.Send()
  3701. // if err == nil { // resp is now filled
  3702. // fmt.Println(resp)
  3703. // }
  3704. //
  3705. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  3706. func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
  3707. op := &request.Operation{
  3708. Name: opCreateSecurityGroup,
  3709. HTTPMethod: "POST",
  3710. HTTPPath: "/",
  3711. }
  3712. if input == nil {
  3713. input = &CreateSecurityGroupInput{}
  3714. }
  3715. output = &CreateSecurityGroupOutput{}
  3716. req = c.newRequest(op, input, output)
  3717. return
  3718. }
  3719. // CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
  3720. //
  3721. // Creates a security group.
  3722. //
  3723. // A security group is for use with instances either in the EC2-Classic platform
  3724. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  3725. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  3726. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  3727. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  3728. // in the Amazon Virtual Private Cloud User Guide.
  3729. //
  3730. // EC2-Classic: You can have up to 500 security groups.
  3731. //
  3732. // EC2-VPC: You can create up to 500 security groups per VPC.
  3733. //
  3734. // When you create a security group, you specify a friendly name of your choice.
  3735. // You can have a security group for use in EC2-Classic with the same name as
  3736. // a security group for use in a VPC. However, you can't have two security groups
  3737. // for use in EC2-Classic with the same name or two security groups for use
  3738. // in a VPC with the same name.
  3739. //
  3740. // You have a default security group for use in EC2-Classic and a default security
  3741. // group for use in your VPC. If you don't specify a security group when you
  3742. // launch an instance, the instance is launched into the appropriate default
  3743. // security group. A default security group includes a default rule that grants
  3744. // instances unrestricted network access to each other.
  3745. //
  3746. // You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
  3747. // AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
  3748. //
  3749. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3750. // with awserr.Error's Code and Message methods to get detailed information about
  3751. // the error.
  3752. //
  3753. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3754. // API operation CreateSecurityGroup for usage and error information.
  3755. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
  3756. func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
  3757. req, out := c.CreateSecurityGroupRequest(input)
  3758. return out, req.Send()
  3759. }
  3760. // CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
  3761. // the ability to pass a context and additional request options.
  3762. //
  3763. // See CreateSecurityGroup for details on how to use this API operation.
  3764. //
  3765. // The context must be non-nil and will be used for request cancellation. If
  3766. // the context is nil a panic will occur. In the future the SDK may create
  3767. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3768. // for more information on using Contexts.
  3769. func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
  3770. req, out := c.CreateSecurityGroupRequest(input)
  3771. req.SetContext(ctx)
  3772. req.ApplyOptions(opts...)
  3773. return out, req.Send()
  3774. }
  3775. const opCreateSnapshot = "CreateSnapshot"
  3776. // CreateSnapshotRequest generates a "aws/request.Request" representing the
  3777. // client's request for the CreateSnapshot operation. The "output" return
  3778. // value can be used to capture response data after the request's "Send" method
  3779. // is called.
  3780. //
  3781. // See CreateSnapshot for usage and error information.
  3782. //
  3783. // Creating a request object using this method should be used when you want to inject
  3784. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3785. // access properties on the request object before or after sending the request. If
  3786. // you just want the service response, call the CreateSnapshot method directly
  3787. // instead.
  3788. //
  3789. // Note: You must call the "Send" method on the returned request object in order
  3790. // to execute the request.
  3791. //
  3792. // // Example sending a request using the CreateSnapshotRequest method.
  3793. // req, resp := client.CreateSnapshotRequest(params)
  3794. //
  3795. // err := req.Send()
  3796. // if err == nil { // resp is now filled
  3797. // fmt.Println(resp)
  3798. // }
  3799. //
  3800. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  3801. func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
  3802. op := &request.Operation{
  3803. Name: opCreateSnapshot,
  3804. HTTPMethod: "POST",
  3805. HTTPPath: "/",
  3806. }
  3807. if input == nil {
  3808. input = &CreateSnapshotInput{}
  3809. }
  3810. output = &Snapshot{}
  3811. req = c.newRequest(op, input, output)
  3812. return
  3813. }
  3814. // CreateSnapshot API operation for Amazon Elastic Compute Cloud.
  3815. //
  3816. // Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
  3817. // snapshots for backups, to make copies of EBS volumes, and to save data before
  3818. // shutting down an instance.
  3819. //
  3820. // When a snapshot is created, any AWS Marketplace product codes that are associated
  3821. // with the source volume are propagated to the snapshot.
  3822. //
  3823. // You can take a snapshot of an attached volume that is in use. However, snapshots
  3824. // only capture data that has been written to your EBS volume at the time the
  3825. // snapshot command is issued; this may exclude any data that has been cached
  3826. // by any applications or the operating system. If you can pause any file systems
  3827. // on the volume long enough to take a snapshot, your snapshot should be complete.
  3828. // However, if you cannot pause all file writes to the volume, you should unmount
  3829. // the volume from within the instance, issue the snapshot command, and then
  3830. // remount the volume to ensure a consistent and complete snapshot. You may
  3831. // remount and use your volume while the snapshot status is pending.
  3832. //
  3833. // To create a snapshot for EBS volumes that serve as root devices, you should
  3834. // stop the instance before taking the snapshot.
  3835. //
  3836. // Snapshots that are taken from encrypted volumes are automatically encrypted.
  3837. // Volumes that are created from encrypted snapshots are also automatically
  3838. // encrypted. Your encrypted volumes and any associated snapshots always remain
  3839. // protected.
  3840. //
  3841. // For more information, see Amazon Elastic Block Store (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
  3842. // and Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  3843. // in the Amazon Elastic Compute Cloud User Guide.
  3844. //
  3845. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3846. // with awserr.Error's Code and Message methods to get detailed information about
  3847. // the error.
  3848. //
  3849. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3850. // API operation CreateSnapshot for usage and error information.
  3851. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
  3852. func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
  3853. req, out := c.CreateSnapshotRequest(input)
  3854. return out, req.Send()
  3855. }
  3856. // CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
  3857. // the ability to pass a context and additional request options.
  3858. //
  3859. // See CreateSnapshot for details on how to use this API operation.
  3860. //
  3861. // The context must be non-nil and will be used for request cancellation. If
  3862. // the context is nil a panic will occur. In the future the SDK may create
  3863. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3864. // for more information on using Contexts.
  3865. func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
  3866. req, out := c.CreateSnapshotRequest(input)
  3867. req.SetContext(ctx)
  3868. req.ApplyOptions(opts...)
  3869. return out, req.Send()
  3870. }
  3871. const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
  3872. // CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  3873. // client's request for the CreateSpotDatafeedSubscription operation. The "output" return
  3874. // value can be used to capture response data after the request's "Send" method
  3875. // is called.
  3876. //
  3877. // See CreateSpotDatafeedSubscription for usage and error information.
  3878. //
  3879. // Creating a request object using this method should be used when you want to inject
  3880. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3881. // access properties on the request object before or after sending the request. If
  3882. // you just want the service response, call the CreateSpotDatafeedSubscription method directly
  3883. // instead.
  3884. //
  3885. // Note: You must call the "Send" method on the returned request object in order
  3886. // to execute the request.
  3887. //
  3888. // // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
  3889. // req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
  3890. //
  3891. // err := req.Send()
  3892. // if err == nil { // resp is now filled
  3893. // fmt.Println(resp)
  3894. // }
  3895. //
  3896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  3897. func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
  3898. op := &request.Operation{
  3899. Name: opCreateSpotDatafeedSubscription,
  3900. HTTPMethod: "POST",
  3901. HTTPPath: "/",
  3902. }
  3903. if input == nil {
  3904. input = &CreateSpotDatafeedSubscriptionInput{}
  3905. }
  3906. output = &CreateSpotDatafeedSubscriptionOutput{}
  3907. req = c.newRequest(op, input, output)
  3908. return
  3909. }
  3910. // CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  3911. //
  3912. // Creates a data feed for Spot instances, enabling you to view Spot instance
  3913. // usage logs. You can create one data feed per AWS account. For more information,
  3914. // see Spot Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  3915. // in the Amazon Elastic Compute Cloud User Guide.
  3916. //
  3917. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3918. // with awserr.Error's Code and Message methods to get detailed information about
  3919. // the error.
  3920. //
  3921. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  3922. // API operation CreateSpotDatafeedSubscription for usage and error information.
  3923. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
  3924. func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
  3925. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  3926. return out, req.Send()
  3927. }
  3928. // CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
  3929. // the ability to pass a context and additional request options.
  3930. //
  3931. // See CreateSpotDatafeedSubscription for details on how to use this API operation.
  3932. //
  3933. // The context must be non-nil and will be used for request cancellation. If
  3934. // the context is nil a panic will occur. In the future the SDK may create
  3935. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3936. // for more information on using Contexts.
  3937. func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
  3938. req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
  3939. req.SetContext(ctx)
  3940. req.ApplyOptions(opts...)
  3941. return out, req.Send()
  3942. }
  3943. const opCreateSubnet = "CreateSubnet"
  3944. // CreateSubnetRequest generates a "aws/request.Request" representing the
  3945. // client's request for the CreateSubnet operation. The "output" return
  3946. // value can be used to capture response data after the request's "Send" method
  3947. // is called.
  3948. //
  3949. // See CreateSubnet for usage and error information.
  3950. //
  3951. // Creating a request object using this method should be used when you want to inject
  3952. // custom logic into the request's lifecycle using a custom handler, or if you want to
  3953. // access properties on the request object before or after sending the request. If
  3954. // you just want the service response, call the CreateSubnet method directly
  3955. // instead.
  3956. //
  3957. // Note: You must call the "Send" method on the returned request object in order
  3958. // to execute the request.
  3959. //
  3960. // // Example sending a request using the CreateSubnetRequest method.
  3961. // req, resp := client.CreateSubnetRequest(params)
  3962. //
  3963. // err := req.Send()
  3964. // if err == nil { // resp is now filled
  3965. // fmt.Println(resp)
  3966. // }
  3967. //
  3968. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  3969. func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
  3970. op := &request.Operation{
  3971. Name: opCreateSubnet,
  3972. HTTPMethod: "POST",
  3973. HTTPPath: "/",
  3974. }
  3975. if input == nil {
  3976. input = &CreateSubnetInput{}
  3977. }
  3978. output = &CreateSubnetOutput{}
  3979. req = c.newRequest(op, input, output)
  3980. return
  3981. }
  3982. // CreateSubnet API operation for Amazon Elastic Compute Cloud.
  3983. //
  3984. // Creates a subnet in an existing VPC.
  3985. //
  3986. // When you create each subnet, you provide the VPC ID and the CIDR block you
  3987. // want for the subnet. After you create a subnet, you can't change its CIDR
  3988. // block. The subnet's IPv4 CIDR block can be the same as the VPC's IPv4 CIDR
  3989. // block (assuming you want only a single subnet in the VPC), or a subset of
  3990. // the VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the
  3991. // subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC)
  3992. // you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses
  3993. // a /16 netmask (65,536 IPv4 addresses).
  3994. //
  3995. // If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
  3996. // with an IPv6 CIDR block that uses a /64 prefix length.
  3997. //
  3998. // AWS reserves both the first four and the last IPv4 address in each subnet's
  3999. // CIDR block. They're not available for use.
  4000. //
  4001. // If you add more than one subnet to a VPC, they're set up in a star topology
  4002. // with a logical router in the middle.
  4003. //
  4004. // If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
  4005. // address doesn't change if you stop and restart the instance (unlike a similar
  4006. // instance launched outside a VPC, which gets a new IP address when restarted).
  4007. // It's therefore possible to have a subnet with no running instances (they're
  4008. // all stopped), but no remaining IP addresses available.
  4009. //
  4010. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4011. // in the Amazon Virtual Private Cloud User Guide.
  4012. //
  4013. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4014. // with awserr.Error's Code and Message methods to get detailed information about
  4015. // the error.
  4016. //
  4017. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4018. // API operation CreateSubnet for usage and error information.
  4019. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
  4020. func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
  4021. req, out := c.CreateSubnetRequest(input)
  4022. return out, req.Send()
  4023. }
  4024. // CreateSubnetWithContext is the same as CreateSubnet with the addition of
  4025. // the ability to pass a context and additional request options.
  4026. //
  4027. // See CreateSubnet for details on how to use this API operation.
  4028. //
  4029. // The context must be non-nil and will be used for request cancellation. If
  4030. // the context is nil a panic will occur. In the future the SDK may create
  4031. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4032. // for more information on using Contexts.
  4033. func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
  4034. req, out := c.CreateSubnetRequest(input)
  4035. req.SetContext(ctx)
  4036. req.ApplyOptions(opts...)
  4037. return out, req.Send()
  4038. }
  4039. const opCreateTags = "CreateTags"
  4040. // CreateTagsRequest generates a "aws/request.Request" representing the
  4041. // client's request for the CreateTags operation. The "output" return
  4042. // value can be used to capture response data after the request's "Send" method
  4043. // is called.
  4044. //
  4045. // See CreateTags for usage and error information.
  4046. //
  4047. // Creating a request object using this method should be used when you want to inject
  4048. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4049. // access properties on the request object before or after sending the request. If
  4050. // you just want the service response, call the CreateTags method directly
  4051. // instead.
  4052. //
  4053. // Note: You must call the "Send" method on the returned request object in order
  4054. // to execute the request.
  4055. //
  4056. // // Example sending a request using the CreateTagsRequest method.
  4057. // req, resp := client.CreateTagsRequest(params)
  4058. //
  4059. // err := req.Send()
  4060. // if err == nil { // resp is now filled
  4061. // fmt.Println(resp)
  4062. // }
  4063. //
  4064. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4065. func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
  4066. op := &request.Operation{
  4067. Name: opCreateTags,
  4068. HTTPMethod: "POST",
  4069. HTTPPath: "/",
  4070. }
  4071. if input == nil {
  4072. input = &CreateTagsInput{}
  4073. }
  4074. output = &CreateTagsOutput{}
  4075. req = c.newRequest(op, input, output)
  4076. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4077. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4078. return
  4079. }
  4080. // CreateTags API operation for Amazon Elastic Compute Cloud.
  4081. //
  4082. // Adds or overwrites one or more tags for the specified Amazon EC2 resource
  4083. // or resources. Each resource can have a maximum of 50 tags. Each tag consists
  4084. // of a key and optional value. Tag keys must be unique per resource.
  4085. //
  4086. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  4087. // in the Amazon Elastic Compute Cloud User Guide. For more information about
  4088. // creating IAM policies that control users' access to resources based on tags,
  4089. // see Supported Resource-Level Permissions for Amazon EC2 API Actions (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
  4090. // in the Amazon Elastic Compute Cloud User Guide.
  4091. //
  4092. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4093. // with awserr.Error's Code and Message methods to get detailed information about
  4094. // the error.
  4095. //
  4096. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4097. // API operation CreateTags for usage and error information.
  4098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
  4099. func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
  4100. req, out := c.CreateTagsRequest(input)
  4101. return out, req.Send()
  4102. }
  4103. // CreateTagsWithContext is the same as CreateTags with the addition of
  4104. // the ability to pass a context and additional request options.
  4105. //
  4106. // See CreateTags for details on how to use this API operation.
  4107. //
  4108. // The context must be non-nil and will be used for request cancellation. If
  4109. // the context is nil a panic will occur. In the future the SDK may create
  4110. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4111. // for more information on using Contexts.
  4112. func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
  4113. req, out := c.CreateTagsRequest(input)
  4114. req.SetContext(ctx)
  4115. req.ApplyOptions(opts...)
  4116. return out, req.Send()
  4117. }
  4118. const opCreateVolume = "CreateVolume"
  4119. // CreateVolumeRequest generates a "aws/request.Request" representing the
  4120. // client's request for the CreateVolume operation. The "output" return
  4121. // value can be used to capture response data after the request's "Send" method
  4122. // is called.
  4123. //
  4124. // See CreateVolume for usage and error information.
  4125. //
  4126. // Creating a request object using this method should be used when you want to inject
  4127. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4128. // access properties on the request object before or after sending the request. If
  4129. // you just want the service response, call the CreateVolume method directly
  4130. // instead.
  4131. //
  4132. // Note: You must call the "Send" method on the returned request object in order
  4133. // to execute the request.
  4134. //
  4135. // // Example sending a request using the CreateVolumeRequest method.
  4136. // req, resp := client.CreateVolumeRequest(params)
  4137. //
  4138. // err := req.Send()
  4139. // if err == nil { // resp is now filled
  4140. // fmt.Println(resp)
  4141. // }
  4142. //
  4143. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4144. func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
  4145. op := &request.Operation{
  4146. Name: opCreateVolume,
  4147. HTTPMethod: "POST",
  4148. HTTPPath: "/",
  4149. }
  4150. if input == nil {
  4151. input = &CreateVolumeInput{}
  4152. }
  4153. output = &Volume{}
  4154. req = c.newRequest(op, input, output)
  4155. return
  4156. }
  4157. // CreateVolume API operation for Amazon Elastic Compute Cloud.
  4158. //
  4159. // Creates an EBS volume that can be attached to an instance in the same Availability
  4160. // Zone. The volume is created in the regional endpoint that you send the HTTP
  4161. // request to. For more information see Regions and Endpoints (http://docs.aws.amazon.com/general/latest/gr/rande.html).
  4162. //
  4163. // You can create a new empty volume or restore a volume from an EBS snapshot.
  4164. // Any AWS Marketplace product codes from the snapshot are propagated to the
  4165. // volume.
  4166. //
  4167. // You can create encrypted volumes with the Encrypted parameter. Encrypted
  4168. // volumes may only be attached to instances that support Amazon EBS encryption.
  4169. // Volumes that are created from encrypted snapshots are also automatically
  4170. // encrypted. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  4171. // in the Amazon Elastic Compute Cloud User Guide.
  4172. //
  4173. // You can tag your volumes during creation. For more information, see Tagging
  4174. // Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  4175. //
  4176. // For more information, see Creating an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
  4177. // in the Amazon Elastic Compute Cloud User Guide.
  4178. //
  4179. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4180. // with awserr.Error's Code and Message methods to get detailed information about
  4181. // the error.
  4182. //
  4183. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4184. // API operation CreateVolume for usage and error information.
  4185. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
  4186. func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
  4187. req, out := c.CreateVolumeRequest(input)
  4188. return out, req.Send()
  4189. }
  4190. // CreateVolumeWithContext is the same as CreateVolume with the addition of
  4191. // the ability to pass a context and additional request options.
  4192. //
  4193. // See CreateVolume for details on how to use this API operation.
  4194. //
  4195. // The context must be non-nil and will be used for request cancellation. If
  4196. // the context is nil a panic will occur. In the future the SDK may create
  4197. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4198. // for more information on using Contexts.
  4199. func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
  4200. req, out := c.CreateVolumeRequest(input)
  4201. req.SetContext(ctx)
  4202. req.ApplyOptions(opts...)
  4203. return out, req.Send()
  4204. }
  4205. const opCreateVpc = "CreateVpc"
  4206. // CreateVpcRequest generates a "aws/request.Request" representing the
  4207. // client's request for the CreateVpc operation. The "output" return
  4208. // value can be used to capture response data after the request's "Send" method
  4209. // is called.
  4210. //
  4211. // See CreateVpc for usage and error information.
  4212. //
  4213. // Creating a request object using this method should be used when you want to inject
  4214. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4215. // access properties on the request object before or after sending the request. If
  4216. // you just want the service response, call the CreateVpc method directly
  4217. // instead.
  4218. //
  4219. // Note: You must call the "Send" method on the returned request object in order
  4220. // to execute the request.
  4221. //
  4222. // // Example sending a request using the CreateVpcRequest method.
  4223. // req, resp := client.CreateVpcRequest(params)
  4224. //
  4225. // err := req.Send()
  4226. // if err == nil { // resp is now filled
  4227. // fmt.Println(resp)
  4228. // }
  4229. //
  4230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4231. func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
  4232. op := &request.Operation{
  4233. Name: opCreateVpc,
  4234. HTTPMethod: "POST",
  4235. HTTPPath: "/",
  4236. }
  4237. if input == nil {
  4238. input = &CreateVpcInput{}
  4239. }
  4240. output = &CreateVpcOutput{}
  4241. req = c.newRequest(op, input, output)
  4242. return
  4243. }
  4244. // CreateVpc API operation for Amazon Elastic Compute Cloud.
  4245. //
  4246. // Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
  4247. // create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
  4248. // netmask (65,536 IPv4 addresses). To help you decide how big to make your
  4249. // VPC, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  4250. // in the Amazon Virtual Private Cloud User Guide.
  4251. //
  4252. // You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
  4253. // The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
  4254. // pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
  4255. //
  4256. // By default, each instance you launch in the VPC has the default DHCP options,
  4257. // which includes only a default DNS server that we provide (AmazonProvidedDNS).
  4258. // For more information about DHCP options, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  4259. // in the Amazon Virtual Private Cloud User Guide.
  4260. //
  4261. // You can specify the instance tenancy value for the VPC when you create it.
  4262. // You can't change this value for the VPC after you create it. For more information,
  4263. // see Dedicated Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
  4264. // in the Amazon Elastic Compute Cloud User Guide.
  4265. //
  4266. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4267. // with awserr.Error's Code and Message methods to get detailed information about
  4268. // the error.
  4269. //
  4270. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4271. // API operation CreateVpc for usage and error information.
  4272. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
  4273. func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
  4274. req, out := c.CreateVpcRequest(input)
  4275. return out, req.Send()
  4276. }
  4277. // CreateVpcWithContext is the same as CreateVpc with the addition of
  4278. // the ability to pass a context and additional request options.
  4279. //
  4280. // See CreateVpc for details on how to use this API operation.
  4281. //
  4282. // The context must be non-nil and will be used for request cancellation. If
  4283. // the context is nil a panic will occur. In the future the SDK may create
  4284. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4285. // for more information on using Contexts.
  4286. func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
  4287. req, out := c.CreateVpcRequest(input)
  4288. req.SetContext(ctx)
  4289. req.ApplyOptions(opts...)
  4290. return out, req.Send()
  4291. }
  4292. const opCreateVpcEndpoint = "CreateVpcEndpoint"
  4293. // CreateVpcEndpointRequest generates a "aws/request.Request" representing the
  4294. // client's request for the CreateVpcEndpoint operation. The "output" return
  4295. // value can be used to capture response data after the request's "Send" method
  4296. // is called.
  4297. //
  4298. // See CreateVpcEndpoint for usage and error information.
  4299. //
  4300. // Creating a request object using this method should be used when you want to inject
  4301. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4302. // access properties on the request object before or after sending the request. If
  4303. // you just want the service response, call the CreateVpcEndpoint method directly
  4304. // instead.
  4305. //
  4306. // Note: You must call the "Send" method on the returned request object in order
  4307. // to execute the request.
  4308. //
  4309. // // Example sending a request using the CreateVpcEndpointRequest method.
  4310. // req, resp := client.CreateVpcEndpointRequest(params)
  4311. //
  4312. // err := req.Send()
  4313. // if err == nil { // resp is now filled
  4314. // fmt.Println(resp)
  4315. // }
  4316. //
  4317. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4318. func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
  4319. op := &request.Operation{
  4320. Name: opCreateVpcEndpoint,
  4321. HTTPMethod: "POST",
  4322. HTTPPath: "/",
  4323. }
  4324. if input == nil {
  4325. input = &CreateVpcEndpointInput{}
  4326. }
  4327. output = &CreateVpcEndpointOutput{}
  4328. req = c.newRequest(op, input, output)
  4329. return
  4330. }
  4331. // CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  4332. //
  4333. // Creates a VPC endpoint for a specified AWS service. An endpoint enables you
  4334. // to create a private connection between your VPC and another AWS service in
  4335. // your account. You can specify an endpoint policy to attach to the endpoint
  4336. // that will control access to the service from your VPC. You can also specify
  4337. // the VPC route tables that use the endpoint.
  4338. //
  4339. // Use DescribeVpcEndpointServices to get a list of supported AWS services.
  4340. //
  4341. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4342. // with awserr.Error's Code and Message methods to get detailed information about
  4343. // the error.
  4344. //
  4345. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4346. // API operation CreateVpcEndpoint for usage and error information.
  4347. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
  4348. func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
  4349. req, out := c.CreateVpcEndpointRequest(input)
  4350. return out, req.Send()
  4351. }
  4352. // CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
  4353. // the ability to pass a context and additional request options.
  4354. //
  4355. // See CreateVpcEndpoint for details on how to use this API operation.
  4356. //
  4357. // The context must be non-nil and will be used for request cancellation. If
  4358. // the context is nil a panic will occur. In the future the SDK may create
  4359. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4360. // for more information on using Contexts.
  4361. func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
  4362. req, out := c.CreateVpcEndpointRequest(input)
  4363. req.SetContext(ctx)
  4364. req.ApplyOptions(opts...)
  4365. return out, req.Send()
  4366. }
  4367. const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  4368. // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  4369. // client's request for the CreateVpcPeeringConnection operation. The "output" return
  4370. // value can be used to capture response data after the request's "Send" method
  4371. // is called.
  4372. //
  4373. // See CreateVpcPeeringConnection for usage and error information.
  4374. //
  4375. // Creating a request object using this method should be used when you want to inject
  4376. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4377. // access properties on the request object before or after sending the request. If
  4378. // you just want the service response, call the CreateVpcPeeringConnection method directly
  4379. // instead.
  4380. //
  4381. // Note: You must call the "Send" method on the returned request object in order
  4382. // to execute the request.
  4383. //
  4384. // // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  4385. // req, resp := client.CreateVpcPeeringConnectionRequest(params)
  4386. //
  4387. // err := req.Send()
  4388. // if err == nil { // resp is now filled
  4389. // fmt.Println(resp)
  4390. // }
  4391. //
  4392. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  4393. func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  4394. op := &request.Operation{
  4395. Name: opCreateVpcPeeringConnection,
  4396. HTTPMethod: "POST",
  4397. HTTPPath: "/",
  4398. }
  4399. if input == nil {
  4400. input = &CreateVpcPeeringConnectionInput{}
  4401. }
  4402. output = &CreateVpcPeeringConnectionOutput{}
  4403. req = c.newRequest(op, input, output)
  4404. return
  4405. }
  4406. // CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  4407. //
  4408. // Requests a VPC peering connection between two VPCs: a requester VPC that
  4409. // you own and a peer VPC with which to create the connection. The peer VPC
  4410. // can belong to another AWS account. The requester VPC and peer VPC cannot
  4411. // have overlapping CIDR blocks.
  4412. //
  4413. // The owner of the peer VPC must accept the peering request to activate the
  4414. // peering connection. The VPC peering connection request expires after 7 days,
  4415. // after which it cannot be accepted or rejected.
  4416. //
  4417. // If you try to create a VPC peering connection between VPCs that have overlapping
  4418. // CIDR blocks, the VPC peering connection status goes to failed.
  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 CreateVpcPeeringConnection for usage and error information.
  4426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
  4427. func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  4428. req, out := c.CreateVpcPeeringConnectionRequest(input)
  4429. return out, req.Send()
  4430. }
  4431. // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  4432. // the ability to pass a context and additional request options.
  4433. //
  4434. // See CreateVpcPeeringConnection 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) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  4441. req, out := c.CreateVpcPeeringConnectionRequest(input)
  4442. req.SetContext(ctx)
  4443. req.ApplyOptions(opts...)
  4444. return out, req.Send()
  4445. }
  4446. const opCreateVpnConnection = "CreateVpnConnection"
  4447. // CreateVpnConnectionRequest generates a "aws/request.Request" representing the
  4448. // client's request for the CreateVpnConnection 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 CreateVpnConnection 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 CreateVpnConnection 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 CreateVpnConnectionRequest method.
  4464. // req, resp := client.CreateVpnConnectionRequest(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/CreateVpnConnection
  4472. func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
  4473. op := &request.Operation{
  4474. Name: opCreateVpnConnection,
  4475. HTTPMethod: "POST",
  4476. HTTPPath: "/",
  4477. }
  4478. if input == nil {
  4479. input = &CreateVpnConnectionInput{}
  4480. }
  4481. output = &CreateVpnConnectionOutput{}
  4482. req = c.newRequest(op, input, output)
  4483. return
  4484. }
  4485. // CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
  4486. //
  4487. // Creates a VPN connection between an existing virtual private gateway and
  4488. // a VPN customer gateway. The only supported connection type is ipsec.1.
  4489. //
  4490. // The response includes information that you need to give to your network administrator
  4491. // to configure your customer gateway.
  4492. //
  4493. // We strongly recommend that you use HTTPS when calling this operation because
  4494. // the response contains sensitive cryptographic information for configuring
  4495. // your customer gateway.
  4496. //
  4497. // If you decide to shut down your VPN connection for any reason and later create
  4498. // a new VPN connection, you must reconfigure your customer gateway with the
  4499. // new information returned from this call.
  4500. //
  4501. // This is an idempotent operation. If you perform the operation more than once,
  4502. // Amazon EC2 doesn't return an error.
  4503. //
  4504. // For more information about VPN connections, see Adding a Hardware Virtual
  4505. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4506. // in the Amazon Virtual Private Cloud User Guide.
  4507. //
  4508. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4509. // with awserr.Error's Code and Message methods to get detailed information about
  4510. // the error.
  4511. //
  4512. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4513. // API operation CreateVpnConnection for usage and error information.
  4514. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
  4515. func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
  4516. req, out := c.CreateVpnConnectionRequest(input)
  4517. return out, req.Send()
  4518. }
  4519. // CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
  4520. // the ability to pass a context and additional request options.
  4521. //
  4522. // See CreateVpnConnection for details on how to use this API operation.
  4523. //
  4524. // The context must be non-nil and will be used for request cancellation. If
  4525. // the context is nil a panic will occur. In the future the SDK may create
  4526. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4527. // for more information on using Contexts.
  4528. func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
  4529. req, out := c.CreateVpnConnectionRequest(input)
  4530. req.SetContext(ctx)
  4531. req.ApplyOptions(opts...)
  4532. return out, req.Send()
  4533. }
  4534. const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
  4535. // CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  4536. // client's request for the CreateVpnConnectionRoute operation. The "output" return
  4537. // value can be used to capture response data after the request's "Send" method
  4538. // is called.
  4539. //
  4540. // See CreateVpnConnectionRoute for usage and error information.
  4541. //
  4542. // Creating a request object using this method should be used when you want to inject
  4543. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4544. // access properties on the request object before or after sending the request. If
  4545. // you just want the service response, call the CreateVpnConnectionRoute method directly
  4546. // instead.
  4547. //
  4548. // Note: You must call the "Send" method on the returned request object in order
  4549. // to execute the request.
  4550. //
  4551. // // Example sending a request using the CreateVpnConnectionRouteRequest method.
  4552. // req, resp := client.CreateVpnConnectionRouteRequest(params)
  4553. //
  4554. // err := req.Send()
  4555. // if err == nil { // resp is now filled
  4556. // fmt.Println(resp)
  4557. // }
  4558. //
  4559. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  4560. func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
  4561. op := &request.Operation{
  4562. Name: opCreateVpnConnectionRoute,
  4563. HTTPMethod: "POST",
  4564. HTTPPath: "/",
  4565. }
  4566. if input == nil {
  4567. input = &CreateVpnConnectionRouteInput{}
  4568. }
  4569. output = &CreateVpnConnectionRouteOutput{}
  4570. req = c.newRequest(op, input, output)
  4571. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4572. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4573. return
  4574. }
  4575. // CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  4576. //
  4577. // Creates a static route associated with a VPN connection between an existing
  4578. // virtual private gateway and a VPN customer gateway. The static route allows
  4579. // traffic to be routed from the virtual private gateway to the VPN customer
  4580. // gateway.
  4581. //
  4582. // For more information about VPN connections, see Adding a Hardware Virtual
  4583. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4584. // in the Amazon Virtual Private Cloud User Guide.
  4585. //
  4586. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4587. // with awserr.Error's Code and Message methods to get detailed information about
  4588. // the error.
  4589. //
  4590. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4591. // API operation CreateVpnConnectionRoute for usage and error information.
  4592. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
  4593. func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
  4594. req, out := c.CreateVpnConnectionRouteRequest(input)
  4595. return out, req.Send()
  4596. }
  4597. // CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
  4598. // the ability to pass a context and additional request options.
  4599. //
  4600. // See CreateVpnConnectionRoute for details on how to use this API operation.
  4601. //
  4602. // The context must be non-nil and will be used for request cancellation. If
  4603. // the context is nil a panic will occur. In the future the SDK may create
  4604. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4605. // for more information on using Contexts.
  4606. func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
  4607. req, out := c.CreateVpnConnectionRouteRequest(input)
  4608. req.SetContext(ctx)
  4609. req.ApplyOptions(opts...)
  4610. return out, req.Send()
  4611. }
  4612. const opCreateVpnGateway = "CreateVpnGateway"
  4613. // CreateVpnGatewayRequest generates a "aws/request.Request" representing the
  4614. // client's request for the CreateVpnGateway operation. The "output" return
  4615. // value can be used to capture response data after the request's "Send" method
  4616. // is called.
  4617. //
  4618. // See CreateVpnGateway for usage and error information.
  4619. //
  4620. // Creating a request object using this method should be used when you want to inject
  4621. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4622. // access properties on the request object before or after sending the request. If
  4623. // you just want the service response, call the CreateVpnGateway method directly
  4624. // instead.
  4625. //
  4626. // Note: You must call the "Send" method on the returned request object in order
  4627. // to execute the request.
  4628. //
  4629. // // Example sending a request using the CreateVpnGatewayRequest method.
  4630. // req, resp := client.CreateVpnGatewayRequest(params)
  4631. //
  4632. // err := req.Send()
  4633. // if err == nil { // resp is now filled
  4634. // fmt.Println(resp)
  4635. // }
  4636. //
  4637. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  4638. func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
  4639. op := &request.Operation{
  4640. Name: opCreateVpnGateway,
  4641. HTTPMethod: "POST",
  4642. HTTPPath: "/",
  4643. }
  4644. if input == nil {
  4645. input = &CreateVpnGatewayInput{}
  4646. }
  4647. output = &CreateVpnGatewayOutput{}
  4648. req = c.newRequest(op, input, output)
  4649. return
  4650. }
  4651. // CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
  4652. //
  4653. // Creates a virtual private gateway. A virtual private gateway is the endpoint
  4654. // on the VPC side of your VPN connection. You can create a virtual private
  4655. // gateway before creating the VPC itself.
  4656. //
  4657. // For more information about virtual private gateways, see Adding a Hardware
  4658. // Virtual Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  4659. // in the Amazon Virtual Private Cloud User Guide.
  4660. //
  4661. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4662. // with awserr.Error's Code and Message methods to get detailed information about
  4663. // the error.
  4664. //
  4665. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4666. // API operation CreateVpnGateway for usage and error information.
  4667. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
  4668. func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
  4669. req, out := c.CreateVpnGatewayRequest(input)
  4670. return out, req.Send()
  4671. }
  4672. // CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
  4673. // the ability to pass a context and additional request options.
  4674. //
  4675. // See CreateVpnGateway for details on how to use this API operation.
  4676. //
  4677. // The context must be non-nil and will be used for request cancellation. If
  4678. // the context is nil a panic will occur. In the future the SDK may create
  4679. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4680. // for more information on using Contexts.
  4681. func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
  4682. req, out := c.CreateVpnGatewayRequest(input)
  4683. req.SetContext(ctx)
  4684. req.ApplyOptions(opts...)
  4685. return out, req.Send()
  4686. }
  4687. const opDeleteCustomerGateway = "DeleteCustomerGateway"
  4688. // DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
  4689. // client's request for the DeleteCustomerGateway operation. The "output" return
  4690. // value can be used to capture response data after the request's "Send" method
  4691. // is called.
  4692. //
  4693. // See DeleteCustomerGateway for usage and error information.
  4694. //
  4695. // Creating a request object using this method should be used when you want to inject
  4696. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4697. // access properties on the request object before or after sending the request. If
  4698. // you just want the service response, call the DeleteCustomerGateway method directly
  4699. // instead.
  4700. //
  4701. // Note: You must call the "Send" method on the returned request object in order
  4702. // to execute the request.
  4703. //
  4704. // // Example sending a request using the DeleteCustomerGatewayRequest method.
  4705. // req, resp := client.DeleteCustomerGatewayRequest(params)
  4706. //
  4707. // err := req.Send()
  4708. // if err == nil { // resp is now filled
  4709. // fmt.Println(resp)
  4710. // }
  4711. //
  4712. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  4713. func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
  4714. op := &request.Operation{
  4715. Name: opDeleteCustomerGateway,
  4716. HTTPMethod: "POST",
  4717. HTTPPath: "/",
  4718. }
  4719. if input == nil {
  4720. input = &DeleteCustomerGatewayInput{}
  4721. }
  4722. output = &DeleteCustomerGatewayOutput{}
  4723. req = c.newRequest(op, input, output)
  4724. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4725. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4726. return
  4727. }
  4728. // DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
  4729. //
  4730. // Deletes the specified customer gateway. You must delete the VPN connection
  4731. // before you can delete the customer gateway.
  4732. //
  4733. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4734. // with awserr.Error's Code and Message methods to get detailed information about
  4735. // the error.
  4736. //
  4737. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4738. // API operation DeleteCustomerGateway for usage and error information.
  4739. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
  4740. func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
  4741. req, out := c.DeleteCustomerGatewayRequest(input)
  4742. return out, req.Send()
  4743. }
  4744. // DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
  4745. // the ability to pass a context and additional request options.
  4746. //
  4747. // See DeleteCustomerGateway for details on how to use this API operation.
  4748. //
  4749. // The context must be non-nil and will be used for request cancellation. If
  4750. // the context is nil a panic will occur. In the future the SDK may create
  4751. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4752. // for more information on using Contexts.
  4753. func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
  4754. req, out := c.DeleteCustomerGatewayRequest(input)
  4755. req.SetContext(ctx)
  4756. req.ApplyOptions(opts...)
  4757. return out, req.Send()
  4758. }
  4759. const opDeleteDhcpOptions = "DeleteDhcpOptions"
  4760. // DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
  4761. // client's request for the DeleteDhcpOptions operation. The "output" return
  4762. // value can be used to capture response data after the request's "Send" method
  4763. // is called.
  4764. //
  4765. // See DeleteDhcpOptions for usage and error information.
  4766. //
  4767. // Creating a request object using this method should be used when you want to inject
  4768. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4769. // access properties on the request object before or after sending the request. If
  4770. // you just want the service response, call the DeleteDhcpOptions method directly
  4771. // instead.
  4772. //
  4773. // Note: You must call the "Send" method on the returned request object in order
  4774. // to execute the request.
  4775. //
  4776. // // Example sending a request using the DeleteDhcpOptionsRequest method.
  4777. // req, resp := client.DeleteDhcpOptionsRequest(params)
  4778. //
  4779. // err := req.Send()
  4780. // if err == nil { // resp is now filled
  4781. // fmt.Println(resp)
  4782. // }
  4783. //
  4784. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  4785. func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
  4786. op := &request.Operation{
  4787. Name: opDeleteDhcpOptions,
  4788. HTTPMethod: "POST",
  4789. HTTPPath: "/",
  4790. }
  4791. if input == nil {
  4792. input = &DeleteDhcpOptionsInput{}
  4793. }
  4794. output = &DeleteDhcpOptionsOutput{}
  4795. req = c.newRequest(op, input, output)
  4796. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  4797. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  4798. return
  4799. }
  4800. // DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
  4801. //
  4802. // Deletes the specified set of DHCP options. You must disassociate the set
  4803. // of DHCP options before you can delete it. You can disassociate the set of
  4804. // DHCP options by associating either a new set of options or the default set
  4805. // of options with the VPC.
  4806. //
  4807. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4808. // with awserr.Error's Code and Message methods to get detailed information about
  4809. // the error.
  4810. //
  4811. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4812. // API operation DeleteDhcpOptions for usage and error information.
  4813. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
  4814. func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
  4815. req, out := c.DeleteDhcpOptionsRequest(input)
  4816. return out, req.Send()
  4817. }
  4818. // DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
  4819. // the ability to pass a context and additional request options.
  4820. //
  4821. // See DeleteDhcpOptions for details on how to use this API operation.
  4822. //
  4823. // The context must be non-nil and will be used for request cancellation. If
  4824. // the context is nil a panic will occur. In the future the SDK may create
  4825. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4826. // for more information on using Contexts.
  4827. func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
  4828. req, out := c.DeleteDhcpOptionsRequest(input)
  4829. req.SetContext(ctx)
  4830. req.ApplyOptions(opts...)
  4831. return out, req.Send()
  4832. }
  4833. const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
  4834. // DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
  4835. // client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
  4836. // value can be used to capture response data after the request's "Send" method
  4837. // is called.
  4838. //
  4839. // See DeleteEgressOnlyInternetGateway for usage and error information.
  4840. //
  4841. // Creating a request object using this method should be used when you want to inject
  4842. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4843. // access properties on the request object before or after sending the request. If
  4844. // you just want the service response, call the DeleteEgressOnlyInternetGateway method directly
  4845. // instead.
  4846. //
  4847. // Note: You must call the "Send" method on the returned request object in order
  4848. // to execute the request.
  4849. //
  4850. // // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
  4851. // req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
  4852. //
  4853. // err := req.Send()
  4854. // if err == nil { // resp is now filled
  4855. // fmt.Println(resp)
  4856. // }
  4857. //
  4858. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  4859. func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
  4860. op := &request.Operation{
  4861. Name: opDeleteEgressOnlyInternetGateway,
  4862. HTTPMethod: "POST",
  4863. HTTPPath: "/",
  4864. }
  4865. if input == nil {
  4866. input = &DeleteEgressOnlyInternetGatewayInput{}
  4867. }
  4868. output = &DeleteEgressOnlyInternetGatewayOutput{}
  4869. req = c.newRequest(op, input, output)
  4870. return
  4871. }
  4872. // DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
  4873. //
  4874. // Deletes an egress-only Internet gateway.
  4875. //
  4876. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4877. // with awserr.Error's Code and Message methods to get detailed information about
  4878. // the error.
  4879. //
  4880. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4881. // API operation DeleteEgressOnlyInternetGateway for usage and error information.
  4882. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
  4883. func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  4884. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  4885. return out, req.Send()
  4886. }
  4887. // DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
  4888. // the ability to pass a context and additional request options.
  4889. //
  4890. // See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
  4891. //
  4892. // The context must be non-nil and will be used for request cancellation. If
  4893. // the context is nil a panic will occur. In the future the SDK may create
  4894. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4895. // for more information on using Contexts.
  4896. func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
  4897. req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
  4898. req.SetContext(ctx)
  4899. req.ApplyOptions(opts...)
  4900. return out, req.Send()
  4901. }
  4902. const opDeleteFlowLogs = "DeleteFlowLogs"
  4903. // DeleteFlowLogsRequest generates a "aws/request.Request" representing the
  4904. // client's request for the DeleteFlowLogs operation. The "output" return
  4905. // value can be used to capture response data after the request's "Send" method
  4906. // is called.
  4907. //
  4908. // See DeleteFlowLogs for usage and error information.
  4909. //
  4910. // Creating a request object using this method should be used when you want to inject
  4911. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4912. // access properties on the request object before or after sending the request. If
  4913. // you just want the service response, call the DeleteFlowLogs method directly
  4914. // instead.
  4915. //
  4916. // Note: You must call the "Send" method on the returned request object in order
  4917. // to execute the request.
  4918. //
  4919. // // Example sending a request using the DeleteFlowLogsRequest method.
  4920. // req, resp := client.DeleteFlowLogsRequest(params)
  4921. //
  4922. // err := req.Send()
  4923. // if err == nil { // resp is now filled
  4924. // fmt.Println(resp)
  4925. // }
  4926. //
  4927. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  4928. func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
  4929. op := &request.Operation{
  4930. Name: opDeleteFlowLogs,
  4931. HTTPMethod: "POST",
  4932. HTTPPath: "/",
  4933. }
  4934. if input == nil {
  4935. input = &DeleteFlowLogsInput{}
  4936. }
  4937. output = &DeleteFlowLogsOutput{}
  4938. req = c.newRequest(op, input, output)
  4939. return
  4940. }
  4941. // DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
  4942. //
  4943. // Deletes one or more flow logs.
  4944. //
  4945. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4946. // with awserr.Error's Code and Message methods to get detailed information about
  4947. // the error.
  4948. //
  4949. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  4950. // API operation DeleteFlowLogs for usage and error information.
  4951. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
  4952. func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
  4953. req, out := c.DeleteFlowLogsRequest(input)
  4954. return out, req.Send()
  4955. }
  4956. // DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
  4957. // the ability to pass a context and additional request options.
  4958. //
  4959. // See DeleteFlowLogs for details on how to use this API operation.
  4960. //
  4961. // The context must be non-nil and will be used for request cancellation. If
  4962. // the context is nil a panic will occur. In the future the SDK may create
  4963. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4964. // for more information on using Contexts.
  4965. func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
  4966. req, out := c.DeleteFlowLogsRequest(input)
  4967. req.SetContext(ctx)
  4968. req.ApplyOptions(opts...)
  4969. return out, req.Send()
  4970. }
  4971. const opDeleteInternetGateway = "DeleteInternetGateway"
  4972. // DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
  4973. // client's request for the DeleteInternetGateway operation. The "output" return
  4974. // value can be used to capture response data after the request's "Send" method
  4975. // is called.
  4976. //
  4977. // See DeleteInternetGateway for usage and error information.
  4978. //
  4979. // Creating a request object using this method should be used when you want to inject
  4980. // custom logic into the request's lifecycle using a custom handler, or if you want to
  4981. // access properties on the request object before or after sending the request. If
  4982. // you just want the service response, call the DeleteInternetGateway method directly
  4983. // instead.
  4984. //
  4985. // Note: You must call the "Send" method on the returned request object in order
  4986. // to execute the request.
  4987. //
  4988. // // Example sending a request using the DeleteInternetGatewayRequest method.
  4989. // req, resp := client.DeleteInternetGatewayRequest(params)
  4990. //
  4991. // err := req.Send()
  4992. // if err == nil { // resp is now filled
  4993. // fmt.Println(resp)
  4994. // }
  4995. //
  4996. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  4997. func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
  4998. op := &request.Operation{
  4999. Name: opDeleteInternetGateway,
  5000. HTTPMethod: "POST",
  5001. HTTPPath: "/",
  5002. }
  5003. if input == nil {
  5004. input = &DeleteInternetGatewayInput{}
  5005. }
  5006. output = &DeleteInternetGatewayOutput{}
  5007. req = c.newRequest(op, input, output)
  5008. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5009. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5010. return
  5011. }
  5012. // DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
  5013. //
  5014. // Deletes the specified Internet gateway. You must detach the Internet gateway
  5015. // from the VPC before you can delete it.
  5016. //
  5017. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5018. // with awserr.Error's Code and Message methods to get detailed information about
  5019. // the error.
  5020. //
  5021. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5022. // API operation DeleteInternetGateway for usage and error information.
  5023. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
  5024. func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
  5025. req, out := c.DeleteInternetGatewayRequest(input)
  5026. return out, req.Send()
  5027. }
  5028. // DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
  5029. // the ability to pass a context and additional request options.
  5030. //
  5031. // See DeleteInternetGateway for details on how to use this API operation.
  5032. //
  5033. // The context must be non-nil and will be used for request cancellation. If
  5034. // the context is nil a panic will occur. In the future the SDK may create
  5035. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5036. // for more information on using Contexts.
  5037. func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
  5038. req, out := c.DeleteInternetGatewayRequest(input)
  5039. req.SetContext(ctx)
  5040. req.ApplyOptions(opts...)
  5041. return out, req.Send()
  5042. }
  5043. const opDeleteKeyPair = "DeleteKeyPair"
  5044. // DeleteKeyPairRequest generates a "aws/request.Request" representing the
  5045. // client's request for the DeleteKeyPair operation. The "output" return
  5046. // value can be used to capture response data after the request's "Send" method
  5047. // is called.
  5048. //
  5049. // See DeleteKeyPair for usage and error information.
  5050. //
  5051. // Creating a request object using this method should be used when you want to inject
  5052. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5053. // access properties on the request object before or after sending the request. If
  5054. // you just want the service response, call the DeleteKeyPair method directly
  5055. // instead.
  5056. //
  5057. // Note: You must call the "Send" method on the returned request object in order
  5058. // to execute the request.
  5059. //
  5060. // // Example sending a request using the DeleteKeyPairRequest method.
  5061. // req, resp := client.DeleteKeyPairRequest(params)
  5062. //
  5063. // err := req.Send()
  5064. // if err == nil { // resp is now filled
  5065. // fmt.Println(resp)
  5066. // }
  5067. //
  5068. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5069. func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
  5070. op := &request.Operation{
  5071. Name: opDeleteKeyPair,
  5072. HTTPMethod: "POST",
  5073. HTTPPath: "/",
  5074. }
  5075. if input == nil {
  5076. input = &DeleteKeyPairInput{}
  5077. }
  5078. output = &DeleteKeyPairOutput{}
  5079. req = c.newRequest(op, input, output)
  5080. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5081. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5082. return
  5083. }
  5084. // DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
  5085. //
  5086. // Deletes the specified key pair, by removing the public key from Amazon EC2.
  5087. //
  5088. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5089. // with awserr.Error's Code and Message methods to get detailed information about
  5090. // the error.
  5091. //
  5092. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5093. // API operation DeleteKeyPair for usage and error information.
  5094. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
  5095. func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
  5096. req, out := c.DeleteKeyPairRequest(input)
  5097. return out, req.Send()
  5098. }
  5099. // DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
  5100. // the ability to pass a context and additional request options.
  5101. //
  5102. // See DeleteKeyPair for details on how to use this API operation.
  5103. //
  5104. // The context must be non-nil and will be used for request cancellation. If
  5105. // the context is nil a panic will occur. In the future the SDK may create
  5106. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5107. // for more information on using Contexts.
  5108. func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
  5109. req, out := c.DeleteKeyPairRequest(input)
  5110. req.SetContext(ctx)
  5111. req.ApplyOptions(opts...)
  5112. return out, req.Send()
  5113. }
  5114. const opDeleteNatGateway = "DeleteNatGateway"
  5115. // DeleteNatGatewayRequest generates a "aws/request.Request" representing the
  5116. // client's request for the DeleteNatGateway operation. The "output" return
  5117. // value can be used to capture response data after the request's "Send" method
  5118. // is called.
  5119. //
  5120. // See DeleteNatGateway for usage and error information.
  5121. //
  5122. // Creating a request object using this method should be used when you want to inject
  5123. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5124. // access properties on the request object before or after sending the request. If
  5125. // you just want the service response, call the DeleteNatGateway method directly
  5126. // instead.
  5127. //
  5128. // Note: You must call the "Send" method on the returned request object in order
  5129. // to execute the request.
  5130. //
  5131. // // Example sending a request using the DeleteNatGatewayRequest method.
  5132. // req, resp := client.DeleteNatGatewayRequest(params)
  5133. //
  5134. // err := req.Send()
  5135. // if err == nil { // resp is now filled
  5136. // fmt.Println(resp)
  5137. // }
  5138. //
  5139. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5140. func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
  5141. op := &request.Operation{
  5142. Name: opDeleteNatGateway,
  5143. HTTPMethod: "POST",
  5144. HTTPPath: "/",
  5145. }
  5146. if input == nil {
  5147. input = &DeleteNatGatewayInput{}
  5148. }
  5149. output = &DeleteNatGatewayOutput{}
  5150. req = c.newRequest(op, input, output)
  5151. return
  5152. }
  5153. // DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
  5154. //
  5155. // Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
  5156. // Elastic IP address, but does not release the address from your account. Deleting
  5157. // a NAT gateway does not delete any NAT gateway routes in your route tables.
  5158. //
  5159. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5160. // with awserr.Error's Code and Message methods to get detailed information about
  5161. // the error.
  5162. //
  5163. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5164. // API operation DeleteNatGateway for usage and error information.
  5165. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
  5166. func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
  5167. req, out := c.DeleteNatGatewayRequest(input)
  5168. return out, req.Send()
  5169. }
  5170. // DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
  5171. // the ability to pass a context and additional request options.
  5172. //
  5173. // See DeleteNatGateway for details on how to use this API operation.
  5174. //
  5175. // The context must be non-nil and will be used for request cancellation. If
  5176. // the context is nil a panic will occur. In the future the SDK may create
  5177. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5178. // for more information on using Contexts.
  5179. func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
  5180. req, out := c.DeleteNatGatewayRequest(input)
  5181. req.SetContext(ctx)
  5182. req.ApplyOptions(opts...)
  5183. return out, req.Send()
  5184. }
  5185. const opDeleteNetworkAcl = "DeleteNetworkAcl"
  5186. // DeleteNetworkAclRequest generates a "aws/request.Request" representing the
  5187. // client's request for the DeleteNetworkAcl operation. The "output" return
  5188. // value can be used to capture response data after the request's "Send" method
  5189. // is called.
  5190. //
  5191. // See DeleteNetworkAcl for usage and error information.
  5192. //
  5193. // Creating a request object using this method should be used when you want to inject
  5194. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5195. // access properties on the request object before or after sending the request. If
  5196. // you just want the service response, call the DeleteNetworkAcl method directly
  5197. // instead.
  5198. //
  5199. // Note: You must call the "Send" method on the returned request object in order
  5200. // to execute the request.
  5201. //
  5202. // // Example sending a request using the DeleteNetworkAclRequest method.
  5203. // req, resp := client.DeleteNetworkAclRequest(params)
  5204. //
  5205. // err := req.Send()
  5206. // if err == nil { // resp is now filled
  5207. // fmt.Println(resp)
  5208. // }
  5209. //
  5210. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  5211. func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
  5212. op := &request.Operation{
  5213. Name: opDeleteNetworkAcl,
  5214. HTTPMethod: "POST",
  5215. HTTPPath: "/",
  5216. }
  5217. if input == nil {
  5218. input = &DeleteNetworkAclInput{}
  5219. }
  5220. output = &DeleteNetworkAclOutput{}
  5221. req = c.newRequest(op, input, output)
  5222. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5223. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5224. return
  5225. }
  5226. // DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
  5227. //
  5228. // Deletes the specified network ACL. You can't delete the ACL if it's associated
  5229. // with any subnets. You can't delete the default network ACL.
  5230. //
  5231. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5232. // with awserr.Error's Code and Message methods to get detailed information about
  5233. // the error.
  5234. //
  5235. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5236. // API operation DeleteNetworkAcl for usage and error information.
  5237. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
  5238. func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
  5239. req, out := c.DeleteNetworkAclRequest(input)
  5240. return out, req.Send()
  5241. }
  5242. // DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
  5243. // the ability to pass a context and additional request options.
  5244. //
  5245. // See DeleteNetworkAcl for details on how to use this API operation.
  5246. //
  5247. // The context must be non-nil and will be used for request cancellation. If
  5248. // the context is nil a panic will occur. In the future the SDK may create
  5249. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5250. // for more information on using Contexts.
  5251. func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
  5252. req, out := c.DeleteNetworkAclRequest(input)
  5253. req.SetContext(ctx)
  5254. req.ApplyOptions(opts...)
  5255. return out, req.Send()
  5256. }
  5257. const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
  5258. // DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
  5259. // client's request for the DeleteNetworkAclEntry operation. The "output" return
  5260. // value can be used to capture response data after the request's "Send" method
  5261. // is called.
  5262. //
  5263. // See DeleteNetworkAclEntry for usage and error information.
  5264. //
  5265. // Creating a request object using this method should be used when you want to inject
  5266. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5267. // access properties on the request object before or after sending the request. If
  5268. // you just want the service response, call the DeleteNetworkAclEntry method directly
  5269. // instead.
  5270. //
  5271. // Note: You must call the "Send" method on the returned request object in order
  5272. // to execute the request.
  5273. //
  5274. // // Example sending a request using the DeleteNetworkAclEntryRequest method.
  5275. // req, resp := client.DeleteNetworkAclEntryRequest(params)
  5276. //
  5277. // err := req.Send()
  5278. // if err == nil { // resp is now filled
  5279. // fmt.Println(resp)
  5280. // }
  5281. //
  5282. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  5283. func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
  5284. op := &request.Operation{
  5285. Name: opDeleteNetworkAclEntry,
  5286. HTTPMethod: "POST",
  5287. HTTPPath: "/",
  5288. }
  5289. if input == nil {
  5290. input = &DeleteNetworkAclEntryInput{}
  5291. }
  5292. output = &DeleteNetworkAclEntryOutput{}
  5293. req = c.newRequest(op, input, output)
  5294. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5295. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5296. return
  5297. }
  5298. // DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  5299. //
  5300. // Deletes the specified ingress or egress entry (rule) from the specified network
  5301. // ACL.
  5302. //
  5303. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5304. // with awserr.Error's Code and Message methods to get detailed information about
  5305. // the error.
  5306. //
  5307. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5308. // API operation DeleteNetworkAclEntry for usage and error information.
  5309. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
  5310. func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
  5311. req, out := c.DeleteNetworkAclEntryRequest(input)
  5312. return out, req.Send()
  5313. }
  5314. // DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
  5315. // the ability to pass a context and additional request options.
  5316. //
  5317. // See DeleteNetworkAclEntry for details on how to use this API operation.
  5318. //
  5319. // The context must be non-nil and will be used for request cancellation. If
  5320. // the context is nil a panic will occur. In the future the SDK may create
  5321. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5322. // for more information on using Contexts.
  5323. func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
  5324. req, out := c.DeleteNetworkAclEntryRequest(input)
  5325. req.SetContext(ctx)
  5326. req.ApplyOptions(opts...)
  5327. return out, req.Send()
  5328. }
  5329. const opDeleteNetworkInterface = "DeleteNetworkInterface"
  5330. // DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
  5331. // client's request for the DeleteNetworkInterface operation. The "output" return
  5332. // value can be used to capture response data after the request's "Send" method
  5333. // is called.
  5334. //
  5335. // See DeleteNetworkInterface for usage and error information.
  5336. //
  5337. // Creating a request object using this method should be used when you want to inject
  5338. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5339. // access properties on the request object before or after sending the request. If
  5340. // you just want the service response, call the DeleteNetworkInterface method directly
  5341. // instead.
  5342. //
  5343. // Note: You must call the "Send" method on the returned request object in order
  5344. // to execute the request.
  5345. //
  5346. // // Example sending a request using the DeleteNetworkInterfaceRequest method.
  5347. // req, resp := client.DeleteNetworkInterfaceRequest(params)
  5348. //
  5349. // err := req.Send()
  5350. // if err == nil { // resp is now filled
  5351. // fmt.Println(resp)
  5352. // }
  5353. //
  5354. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  5355. func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
  5356. op := &request.Operation{
  5357. Name: opDeleteNetworkInterface,
  5358. HTTPMethod: "POST",
  5359. HTTPPath: "/",
  5360. }
  5361. if input == nil {
  5362. input = &DeleteNetworkInterfaceInput{}
  5363. }
  5364. output = &DeleteNetworkInterfaceOutput{}
  5365. req = c.newRequest(op, input, output)
  5366. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5367. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5368. return
  5369. }
  5370. // DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
  5371. //
  5372. // Deletes the specified network interface. You must detach the network interface
  5373. // before you can delete it.
  5374. //
  5375. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5376. // with awserr.Error's Code and Message methods to get detailed information about
  5377. // the error.
  5378. //
  5379. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5380. // API operation DeleteNetworkInterface for usage and error information.
  5381. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
  5382. func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
  5383. req, out := c.DeleteNetworkInterfaceRequest(input)
  5384. return out, req.Send()
  5385. }
  5386. // DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
  5387. // the ability to pass a context and additional request options.
  5388. //
  5389. // See DeleteNetworkInterface for details on how to use this API operation.
  5390. //
  5391. // The context must be non-nil and will be used for request cancellation. If
  5392. // the context is nil a panic will occur. In the future the SDK may create
  5393. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5394. // for more information on using Contexts.
  5395. func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
  5396. req, out := c.DeleteNetworkInterfaceRequest(input)
  5397. req.SetContext(ctx)
  5398. req.ApplyOptions(opts...)
  5399. return out, req.Send()
  5400. }
  5401. const opDeletePlacementGroup = "DeletePlacementGroup"
  5402. // DeletePlacementGroupRequest generates a "aws/request.Request" representing the
  5403. // client's request for the DeletePlacementGroup operation. The "output" return
  5404. // value can be used to capture response data after the request's "Send" method
  5405. // is called.
  5406. //
  5407. // See DeletePlacementGroup for usage and error information.
  5408. //
  5409. // Creating a request object using this method should be used when you want to inject
  5410. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5411. // access properties on the request object before or after sending the request. If
  5412. // you just want the service response, call the DeletePlacementGroup method directly
  5413. // instead.
  5414. //
  5415. // Note: You must call the "Send" method on the returned request object in order
  5416. // to execute the request.
  5417. //
  5418. // // Example sending a request using the DeletePlacementGroupRequest method.
  5419. // req, resp := client.DeletePlacementGroupRequest(params)
  5420. //
  5421. // err := req.Send()
  5422. // if err == nil { // resp is now filled
  5423. // fmt.Println(resp)
  5424. // }
  5425. //
  5426. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  5427. func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
  5428. op := &request.Operation{
  5429. Name: opDeletePlacementGroup,
  5430. HTTPMethod: "POST",
  5431. HTTPPath: "/",
  5432. }
  5433. if input == nil {
  5434. input = &DeletePlacementGroupInput{}
  5435. }
  5436. output = &DeletePlacementGroupOutput{}
  5437. req = c.newRequest(op, input, output)
  5438. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5439. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5440. return
  5441. }
  5442. // DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
  5443. //
  5444. // Deletes the specified placement group. You must terminate all instances in
  5445. // the placement group before you can delete the placement group. For more information
  5446. // about placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  5447. // in the Amazon Elastic Compute Cloud User Guide.
  5448. //
  5449. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5450. // with awserr.Error's Code and Message methods to get detailed information about
  5451. // the error.
  5452. //
  5453. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5454. // API operation DeletePlacementGroup for usage and error information.
  5455. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
  5456. func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
  5457. req, out := c.DeletePlacementGroupRequest(input)
  5458. return out, req.Send()
  5459. }
  5460. // DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
  5461. // the ability to pass a context and additional request options.
  5462. //
  5463. // See DeletePlacementGroup for details on how to use this API operation.
  5464. //
  5465. // The context must be non-nil and will be used for request cancellation. If
  5466. // the context is nil a panic will occur. In the future the SDK may create
  5467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5468. // for more information on using Contexts.
  5469. func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
  5470. req, out := c.DeletePlacementGroupRequest(input)
  5471. req.SetContext(ctx)
  5472. req.ApplyOptions(opts...)
  5473. return out, req.Send()
  5474. }
  5475. const opDeleteRoute = "DeleteRoute"
  5476. // DeleteRouteRequest generates a "aws/request.Request" representing the
  5477. // client's request for the DeleteRoute operation. The "output" return
  5478. // value can be used to capture response data after the request's "Send" method
  5479. // is called.
  5480. //
  5481. // See DeleteRoute for usage and error information.
  5482. //
  5483. // Creating a request object using this method should be used when you want to inject
  5484. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5485. // access properties on the request object before or after sending the request. If
  5486. // you just want the service response, call the DeleteRoute method directly
  5487. // instead.
  5488. //
  5489. // Note: You must call the "Send" method on the returned request object in order
  5490. // to execute the request.
  5491. //
  5492. // // Example sending a request using the DeleteRouteRequest method.
  5493. // req, resp := client.DeleteRouteRequest(params)
  5494. //
  5495. // err := req.Send()
  5496. // if err == nil { // resp is now filled
  5497. // fmt.Println(resp)
  5498. // }
  5499. //
  5500. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  5501. func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
  5502. op := &request.Operation{
  5503. Name: opDeleteRoute,
  5504. HTTPMethod: "POST",
  5505. HTTPPath: "/",
  5506. }
  5507. if input == nil {
  5508. input = &DeleteRouteInput{}
  5509. }
  5510. output = &DeleteRouteOutput{}
  5511. req = c.newRequest(op, input, output)
  5512. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5513. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5514. return
  5515. }
  5516. // DeleteRoute API operation for Amazon Elastic Compute Cloud.
  5517. //
  5518. // Deletes the specified route from the specified route table.
  5519. //
  5520. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5521. // with awserr.Error's Code and Message methods to get detailed information about
  5522. // the error.
  5523. //
  5524. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5525. // API operation DeleteRoute for usage and error information.
  5526. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
  5527. func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
  5528. req, out := c.DeleteRouteRequest(input)
  5529. return out, req.Send()
  5530. }
  5531. // DeleteRouteWithContext is the same as DeleteRoute with the addition of
  5532. // the ability to pass a context and additional request options.
  5533. //
  5534. // See DeleteRoute for details on how to use this API operation.
  5535. //
  5536. // The context must be non-nil and will be used for request cancellation. If
  5537. // the context is nil a panic will occur. In the future the SDK may create
  5538. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5539. // for more information on using Contexts.
  5540. func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
  5541. req, out := c.DeleteRouteRequest(input)
  5542. req.SetContext(ctx)
  5543. req.ApplyOptions(opts...)
  5544. return out, req.Send()
  5545. }
  5546. const opDeleteRouteTable = "DeleteRouteTable"
  5547. // DeleteRouteTableRequest generates a "aws/request.Request" representing the
  5548. // client's request for the DeleteRouteTable operation. The "output" return
  5549. // value can be used to capture response data after the request's "Send" method
  5550. // is called.
  5551. //
  5552. // See DeleteRouteTable for usage and error information.
  5553. //
  5554. // Creating a request object using this method should be used when you want to inject
  5555. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5556. // access properties on the request object before or after sending the request. If
  5557. // you just want the service response, call the DeleteRouteTable method directly
  5558. // instead.
  5559. //
  5560. // Note: You must call the "Send" method on the returned request object in order
  5561. // to execute the request.
  5562. //
  5563. // // Example sending a request using the DeleteRouteTableRequest method.
  5564. // req, resp := client.DeleteRouteTableRequest(params)
  5565. //
  5566. // err := req.Send()
  5567. // if err == nil { // resp is now filled
  5568. // fmt.Println(resp)
  5569. // }
  5570. //
  5571. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  5572. func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
  5573. op := &request.Operation{
  5574. Name: opDeleteRouteTable,
  5575. HTTPMethod: "POST",
  5576. HTTPPath: "/",
  5577. }
  5578. if input == nil {
  5579. input = &DeleteRouteTableInput{}
  5580. }
  5581. output = &DeleteRouteTableOutput{}
  5582. req = c.newRequest(op, input, output)
  5583. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5584. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5585. return
  5586. }
  5587. // DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
  5588. //
  5589. // Deletes the specified route table. You must disassociate the route table
  5590. // from any subnets before you can delete it. You can't delete the main route
  5591. // table.
  5592. //
  5593. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5594. // with awserr.Error's Code and Message methods to get detailed information about
  5595. // the error.
  5596. //
  5597. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5598. // API operation DeleteRouteTable for usage and error information.
  5599. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
  5600. func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
  5601. req, out := c.DeleteRouteTableRequest(input)
  5602. return out, req.Send()
  5603. }
  5604. // DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
  5605. // the ability to pass a context and additional request options.
  5606. //
  5607. // See DeleteRouteTable for details on how to use this API operation.
  5608. //
  5609. // The context must be non-nil and will be used for request cancellation. If
  5610. // the context is nil a panic will occur. In the future the SDK may create
  5611. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5612. // for more information on using Contexts.
  5613. func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
  5614. req, out := c.DeleteRouteTableRequest(input)
  5615. req.SetContext(ctx)
  5616. req.ApplyOptions(opts...)
  5617. return out, req.Send()
  5618. }
  5619. const opDeleteSecurityGroup = "DeleteSecurityGroup"
  5620. // DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
  5621. // client's request for the DeleteSecurityGroup operation. The "output" return
  5622. // value can be used to capture response data after the request's "Send" method
  5623. // is called.
  5624. //
  5625. // See DeleteSecurityGroup for usage and error information.
  5626. //
  5627. // Creating a request object using this method should be used when you want to inject
  5628. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5629. // access properties on the request object before or after sending the request. If
  5630. // you just want the service response, call the DeleteSecurityGroup method directly
  5631. // instead.
  5632. //
  5633. // Note: You must call the "Send" method on the returned request object in order
  5634. // to execute the request.
  5635. //
  5636. // // Example sending a request using the DeleteSecurityGroupRequest method.
  5637. // req, resp := client.DeleteSecurityGroupRequest(params)
  5638. //
  5639. // err := req.Send()
  5640. // if err == nil { // resp is now filled
  5641. // fmt.Println(resp)
  5642. // }
  5643. //
  5644. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  5645. func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
  5646. op := &request.Operation{
  5647. Name: opDeleteSecurityGroup,
  5648. HTTPMethod: "POST",
  5649. HTTPPath: "/",
  5650. }
  5651. if input == nil {
  5652. input = &DeleteSecurityGroupInput{}
  5653. }
  5654. output = &DeleteSecurityGroupOutput{}
  5655. req = c.newRequest(op, input, output)
  5656. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5657. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5658. return
  5659. }
  5660. // DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
  5661. //
  5662. // Deletes a security group.
  5663. //
  5664. // If you attempt to delete a security group that is associated with an instance,
  5665. // or is referenced by another security group, the operation fails with InvalidGroup.InUse
  5666. // in EC2-Classic or DependencyViolation in EC2-VPC.
  5667. //
  5668. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5669. // with awserr.Error's Code and Message methods to get detailed information about
  5670. // the error.
  5671. //
  5672. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5673. // API operation DeleteSecurityGroup for usage and error information.
  5674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
  5675. func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
  5676. req, out := c.DeleteSecurityGroupRequest(input)
  5677. return out, req.Send()
  5678. }
  5679. // DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
  5680. // the ability to pass a context and additional request options.
  5681. //
  5682. // See DeleteSecurityGroup for details on how to use this API operation.
  5683. //
  5684. // The context must be non-nil and will be used for request cancellation. If
  5685. // the context is nil a panic will occur. In the future the SDK may create
  5686. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5687. // for more information on using Contexts.
  5688. func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
  5689. req, out := c.DeleteSecurityGroupRequest(input)
  5690. req.SetContext(ctx)
  5691. req.ApplyOptions(opts...)
  5692. return out, req.Send()
  5693. }
  5694. const opDeleteSnapshot = "DeleteSnapshot"
  5695. // DeleteSnapshotRequest generates a "aws/request.Request" representing the
  5696. // client's request for the DeleteSnapshot operation. The "output" return
  5697. // value can be used to capture response data after the request's "Send" method
  5698. // is called.
  5699. //
  5700. // See DeleteSnapshot for usage and error information.
  5701. //
  5702. // Creating a request object using this method should be used when you want to inject
  5703. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5704. // access properties on the request object before or after sending the request. If
  5705. // you just want the service response, call the DeleteSnapshot method directly
  5706. // instead.
  5707. //
  5708. // Note: You must call the "Send" method on the returned request object in order
  5709. // to execute the request.
  5710. //
  5711. // // Example sending a request using the DeleteSnapshotRequest method.
  5712. // req, resp := client.DeleteSnapshotRequest(params)
  5713. //
  5714. // err := req.Send()
  5715. // if err == nil { // resp is now filled
  5716. // fmt.Println(resp)
  5717. // }
  5718. //
  5719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  5720. func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
  5721. op := &request.Operation{
  5722. Name: opDeleteSnapshot,
  5723. HTTPMethod: "POST",
  5724. HTTPPath: "/",
  5725. }
  5726. if input == nil {
  5727. input = &DeleteSnapshotInput{}
  5728. }
  5729. output = &DeleteSnapshotOutput{}
  5730. req = c.newRequest(op, input, output)
  5731. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5732. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5733. return
  5734. }
  5735. // DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
  5736. //
  5737. // Deletes the specified snapshot.
  5738. //
  5739. // When you make periodic snapshots of a volume, the snapshots are incremental,
  5740. // and only the blocks on the device that have changed since your last snapshot
  5741. // are saved in the new snapshot. When you delete a snapshot, only the data
  5742. // not needed for any other snapshot is removed. So regardless of which prior
  5743. // snapshots have been deleted, all active snapshots will have access to all
  5744. // the information needed to restore the volume.
  5745. //
  5746. // You cannot delete a snapshot of the root device of an EBS volume used by
  5747. // a registered AMI. You must first de-register the AMI before you can delete
  5748. // the snapshot.
  5749. //
  5750. // For more information, see Deleting an Amazon EBS Snapshot (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
  5751. // in the Amazon Elastic Compute Cloud User Guide.
  5752. //
  5753. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5754. // with awserr.Error's Code and Message methods to get detailed information about
  5755. // the error.
  5756. //
  5757. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5758. // API operation DeleteSnapshot for usage and error information.
  5759. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
  5760. func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
  5761. req, out := c.DeleteSnapshotRequest(input)
  5762. return out, req.Send()
  5763. }
  5764. // DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
  5765. // the ability to pass a context and additional request options.
  5766. //
  5767. // See DeleteSnapshot for details on how to use this API operation.
  5768. //
  5769. // The context must be non-nil and will be used for request cancellation. If
  5770. // the context is nil a panic will occur. In the future the SDK may create
  5771. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5772. // for more information on using Contexts.
  5773. func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
  5774. req, out := c.DeleteSnapshotRequest(input)
  5775. req.SetContext(ctx)
  5776. req.ApplyOptions(opts...)
  5777. return out, req.Send()
  5778. }
  5779. const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
  5780. // DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  5781. // client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
  5782. // value can be used to capture response data after the request's "Send" method
  5783. // is called.
  5784. //
  5785. // See DeleteSpotDatafeedSubscription for usage and error information.
  5786. //
  5787. // Creating a request object using this method should be used when you want to inject
  5788. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5789. // access properties on the request object before or after sending the request. If
  5790. // you just want the service response, call the DeleteSpotDatafeedSubscription method directly
  5791. // instead.
  5792. //
  5793. // Note: You must call the "Send" method on the returned request object in order
  5794. // to execute the request.
  5795. //
  5796. // // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
  5797. // req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
  5798. //
  5799. // err := req.Send()
  5800. // if err == nil { // resp is now filled
  5801. // fmt.Println(resp)
  5802. // }
  5803. //
  5804. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  5805. func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
  5806. op := &request.Operation{
  5807. Name: opDeleteSpotDatafeedSubscription,
  5808. HTTPMethod: "POST",
  5809. HTTPPath: "/",
  5810. }
  5811. if input == nil {
  5812. input = &DeleteSpotDatafeedSubscriptionInput{}
  5813. }
  5814. output = &DeleteSpotDatafeedSubscriptionOutput{}
  5815. req = c.newRequest(op, input, output)
  5816. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5817. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5818. return
  5819. }
  5820. // DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  5821. //
  5822. // Deletes the data feed for Spot instances.
  5823. //
  5824. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5825. // with awserr.Error's Code and Message methods to get detailed information about
  5826. // the error.
  5827. //
  5828. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5829. // API operation DeleteSpotDatafeedSubscription for usage and error information.
  5830. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
  5831. func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  5832. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  5833. return out, req.Send()
  5834. }
  5835. // DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
  5836. // the ability to pass a context and additional request options.
  5837. //
  5838. // See DeleteSpotDatafeedSubscription for details on how to use this API operation.
  5839. //
  5840. // The context must be non-nil and will be used for request cancellation. If
  5841. // the context is nil a panic will occur. In the future the SDK may create
  5842. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5843. // for more information on using Contexts.
  5844. func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
  5845. req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
  5846. req.SetContext(ctx)
  5847. req.ApplyOptions(opts...)
  5848. return out, req.Send()
  5849. }
  5850. const opDeleteSubnet = "DeleteSubnet"
  5851. // DeleteSubnetRequest generates a "aws/request.Request" representing the
  5852. // client's request for the DeleteSubnet operation. The "output" return
  5853. // value can be used to capture response data after the request's "Send" method
  5854. // is called.
  5855. //
  5856. // See DeleteSubnet for usage and error information.
  5857. //
  5858. // Creating a request object using this method should be used when you want to inject
  5859. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5860. // access properties on the request object before or after sending the request. If
  5861. // you just want the service response, call the DeleteSubnet method directly
  5862. // instead.
  5863. //
  5864. // Note: You must call the "Send" method on the returned request object in order
  5865. // to execute the request.
  5866. //
  5867. // // Example sending a request using the DeleteSubnetRequest method.
  5868. // req, resp := client.DeleteSubnetRequest(params)
  5869. //
  5870. // err := req.Send()
  5871. // if err == nil { // resp is now filled
  5872. // fmt.Println(resp)
  5873. // }
  5874. //
  5875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  5876. func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
  5877. op := &request.Operation{
  5878. Name: opDeleteSubnet,
  5879. HTTPMethod: "POST",
  5880. HTTPPath: "/",
  5881. }
  5882. if input == nil {
  5883. input = &DeleteSubnetInput{}
  5884. }
  5885. output = &DeleteSubnetOutput{}
  5886. req = c.newRequest(op, input, output)
  5887. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5888. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5889. return
  5890. }
  5891. // DeleteSubnet API operation for Amazon Elastic Compute Cloud.
  5892. //
  5893. // Deletes the specified subnet. You must terminate all running instances in
  5894. // the subnet before you can delete the subnet.
  5895. //
  5896. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5897. // with awserr.Error's Code and Message methods to get detailed information about
  5898. // the error.
  5899. //
  5900. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5901. // API operation DeleteSubnet for usage and error information.
  5902. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
  5903. func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
  5904. req, out := c.DeleteSubnetRequest(input)
  5905. return out, req.Send()
  5906. }
  5907. // DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
  5908. // the ability to pass a context and additional request options.
  5909. //
  5910. // See DeleteSubnet for details on how to use this API operation.
  5911. //
  5912. // The context must be non-nil and will be used for request cancellation. If
  5913. // the context is nil a panic will occur. In the future the SDK may create
  5914. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5915. // for more information on using Contexts.
  5916. func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
  5917. req, out := c.DeleteSubnetRequest(input)
  5918. req.SetContext(ctx)
  5919. req.ApplyOptions(opts...)
  5920. return out, req.Send()
  5921. }
  5922. const opDeleteTags = "DeleteTags"
  5923. // DeleteTagsRequest generates a "aws/request.Request" representing the
  5924. // client's request for the DeleteTags operation. The "output" return
  5925. // value can be used to capture response data after the request's "Send" method
  5926. // is called.
  5927. //
  5928. // See DeleteTags for usage and error information.
  5929. //
  5930. // Creating a request object using this method should be used when you want to inject
  5931. // custom logic into the request's lifecycle using a custom handler, or if you want to
  5932. // access properties on the request object before or after sending the request. If
  5933. // you just want the service response, call the DeleteTags method directly
  5934. // instead.
  5935. //
  5936. // Note: You must call the "Send" method on the returned request object in order
  5937. // to execute the request.
  5938. //
  5939. // // Example sending a request using the DeleteTagsRequest method.
  5940. // req, resp := client.DeleteTagsRequest(params)
  5941. //
  5942. // err := req.Send()
  5943. // if err == nil { // resp is now filled
  5944. // fmt.Println(resp)
  5945. // }
  5946. //
  5947. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  5948. func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
  5949. op := &request.Operation{
  5950. Name: opDeleteTags,
  5951. HTTPMethod: "POST",
  5952. HTTPPath: "/",
  5953. }
  5954. if input == nil {
  5955. input = &DeleteTagsInput{}
  5956. }
  5957. output = &DeleteTagsOutput{}
  5958. req = c.newRequest(op, input, output)
  5959. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  5960. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  5961. return
  5962. }
  5963. // DeleteTags API operation for Amazon Elastic Compute Cloud.
  5964. //
  5965. // Deletes the specified set of tags from the specified set of resources. This
  5966. // call is designed to follow a DescribeTags request.
  5967. //
  5968. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  5969. // in the Amazon Elastic Compute Cloud User Guide.
  5970. //
  5971. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5972. // with awserr.Error's Code and Message methods to get detailed information about
  5973. // the error.
  5974. //
  5975. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  5976. // API operation DeleteTags for usage and error information.
  5977. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
  5978. func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
  5979. req, out := c.DeleteTagsRequest(input)
  5980. return out, req.Send()
  5981. }
  5982. // DeleteTagsWithContext is the same as DeleteTags with the addition of
  5983. // the ability to pass a context and additional request options.
  5984. //
  5985. // See DeleteTags for details on how to use this API operation.
  5986. //
  5987. // The context must be non-nil and will be used for request cancellation. If
  5988. // the context is nil a panic will occur. In the future the SDK may create
  5989. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5990. // for more information on using Contexts.
  5991. func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
  5992. req, out := c.DeleteTagsRequest(input)
  5993. req.SetContext(ctx)
  5994. req.ApplyOptions(opts...)
  5995. return out, req.Send()
  5996. }
  5997. const opDeleteVolume = "DeleteVolume"
  5998. // DeleteVolumeRequest generates a "aws/request.Request" representing the
  5999. // client's request for the DeleteVolume operation. The "output" return
  6000. // value can be used to capture response data after the request's "Send" method
  6001. // is called.
  6002. //
  6003. // See DeleteVolume for usage and error information.
  6004. //
  6005. // Creating a request object using this method should be used when you want to inject
  6006. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6007. // access properties on the request object before or after sending the request. If
  6008. // you just want the service response, call the DeleteVolume method directly
  6009. // instead.
  6010. //
  6011. // Note: You must call the "Send" method on the returned request object in order
  6012. // to execute the request.
  6013. //
  6014. // // Example sending a request using the DeleteVolumeRequest method.
  6015. // req, resp := client.DeleteVolumeRequest(params)
  6016. //
  6017. // err := req.Send()
  6018. // if err == nil { // resp is now filled
  6019. // fmt.Println(resp)
  6020. // }
  6021. //
  6022. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  6023. func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
  6024. op := &request.Operation{
  6025. Name: opDeleteVolume,
  6026. HTTPMethod: "POST",
  6027. HTTPPath: "/",
  6028. }
  6029. if input == nil {
  6030. input = &DeleteVolumeInput{}
  6031. }
  6032. output = &DeleteVolumeOutput{}
  6033. req = c.newRequest(op, input, output)
  6034. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6035. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6036. return
  6037. }
  6038. // DeleteVolume API operation for Amazon Elastic Compute Cloud.
  6039. //
  6040. // Deletes the specified EBS volume. The volume must be in the available state
  6041. // (not attached to an instance).
  6042. //
  6043. // The volume may remain in the deleting state for several minutes.
  6044. //
  6045. // For more information, see Deleting an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
  6046. // in the Amazon Elastic Compute Cloud User Guide.
  6047. //
  6048. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6049. // with awserr.Error's Code and Message methods to get detailed information about
  6050. // the error.
  6051. //
  6052. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6053. // API operation DeleteVolume for usage and error information.
  6054. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
  6055. func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
  6056. req, out := c.DeleteVolumeRequest(input)
  6057. return out, req.Send()
  6058. }
  6059. // DeleteVolumeWithContext is the same as DeleteVolume with the addition of
  6060. // the ability to pass a context and additional request options.
  6061. //
  6062. // See DeleteVolume for details on how to use this API operation.
  6063. //
  6064. // The context must be non-nil and will be used for request cancellation. If
  6065. // the context is nil a panic will occur. In the future the SDK may create
  6066. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6067. // for more information on using Contexts.
  6068. func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
  6069. req, out := c.DeleteVolumeRequest(input)
  6070. req.SetContext(ctx)
  6071. req.ApplyOptions(opts...)
  6072. return out, req.Send()
  6073. }
  6074. const opDeleteVpc = "DeleteVpc"
  6075. // DeleteVpcRequest generates a "aws/request.Request" representing the
  6076. // client's request for the DeleteVpc operation. The "output" return
  6077. // value can be used to capture response data after the request's "Send" method
  6078. // is called.
  6079. //
  6080. // See DeleteVpc for usage and error information.
  6081. //
  6082. // Creating a request object using this method should be used when you want to inject
  6083. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6084. // access properties on the request object before or after sending the request. If
  6085. // you just want the service response, call the DeleteVpc method directly
  6086. // instead.
  6087. //
  6088. // Note: You must call the "Send" method on the returned request object in order
  6089. // to execute the request.
  6090. //
  6091. // // Example sending a request using the DeleteVpcRequest method.
  6092. // req, resp := client.DeleteVpcRequest(params)
  6093. //
  6094. // err := req.Send()
  6095. // if err == nil { // resp is now filled
  6096. // fmt.Println(resp)
  6097. // }
  6098. //
  6099. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6100. func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
  6101. op := &request.Operation{
  6102. Name: opDeleteVpc,
  6103. HTTPMethod: "POST",
  6104. HTTPPath: "/",
  6105. }
  6106. if input == nil {
  6107. input = &DeleteVpcInput{}
  6108. }
  6109. output = &DeleteVpcOutput{}
  6110. req = c.newRequest(op, input, output)
  6111. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6112. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6113. return
  6114. }
  6115. // DeleteVpc API operation for Amazon Elastic Compute Cloud.
  6116. //
  6117. // Deletes the specified VPC. You must detach or delete all gateways and resources
  6118. // that are associated with the VPC before you can delete it. For example, you
  6119. // must terminate all instances running in the VPC, delete all security groups
  6120. // associated with the VPC (except the default one), delete all route tables
  6121. // associated with the VPC (except the default one), and so on.
  6122. //
  6123. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6124. // with awserr.Error's Code and Message methods to get detailed information about
  6125. // the error.
  6126. //
  6127. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6128. // API operation DeleteVpc for usage and error information.
  6129. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
  6130. func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
  6131. req, out := c.DeleteVpcRequest(input)
  6132. return out, req.Send()
  6133. }
  6134. // DeleteVpcWithContext is the same as DeleteVpc with the addition of
  6135. // the ability to pass a context and additional request options.
  6136. //
  6137. // See DeleteVpc for details on how to use this API operation.
  6138. //
  6139. // The context must be non-nil and will be used for request cancellation. If
  6140. // the context is nil a panic will occur. In the future the SDK may create
  6141. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6142. // for more information on using Contexts.
  6143. func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
  6144. req, out := c.DeleteVpcRequest(input)
  6145. req.SetContext(ctx)
  6146. req.ApplyOptions(opts...)
  6147. return out, req.Send()
  6148. }
  6149. const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
  6150. // DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
  6151. // client's request for the DeleteVpcEndpoints operation. The "output" return
  6152. // value can be used to capture response data after the request's "Send" method
  6153. // is called.
  6154. //
  6155. // See DeleteVpcEndpoints for usage and error information.
  6156. //
  6157. // Creating a request object using this method should be used when you want to inject
  6158. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6159. // access properties on the request object before or after sending the request. If
  6160. // you just want the service response, call the DeleteVpcEndpoints method directly
  6161. // instead.
  6162. //
  6163. // Note: You must call the "Send" method on the returned request object in order
  6164. // to execute the request.
  6165. //
  6166. // // Example sending a request using the DeleteVpcEndpointsRequest method.
  6167. // req, resp := client.DeleteVpcEndpointsRequest(params)
  6168. //
  6169. // err := req.Send()
  6170. // if err == nil { // resp is now filled
  6171. // fmt.Println(resp)
  6172. // }
  6173. //
  6174. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  6175. func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
  6176. op := &request.Operation{
  6177. Name: opDeleteVpcEndpoints,
  6178. HTTPMethod: "POST",
  6179. HTTPPath: "/",
  6180. }
  6181. if input == nil {
  6182. input = &DeleteVpcEndpointsInput{}
  6183. }
  6184. output = &DeleteVpcEndpointsOutput{}
  6185. req = c.newRequest(op, input, output)
  6186. return
  6187. }
  6188. // DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  6189. //
  6190. // Deletes one or more specified VPC endpoints. Deleting the endpoint also deletes
  6191. // the endpoint routes in the route tables that were associated with the endpoint.
  6192. //
  6193. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6194. // with awserr.Error's Code and Message methods to get detailed information about
  6195. // the error.
  6196. //
  6197. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6198. // API operation DeleteVpcEndpoints for usage and error information.
  6199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
  6200. func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
  6201. req, out := c.DeleteVpcEndpointsRequest(input)
  6202. return out, req.Send()
  6203. }
  6204. // DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
  6205. // the ability to pass a context and additional request options.
  6206. //
  6207. // See DeleteVpcEndpoints for details on how to use this API operation.
  6208. //
  6209. // The context must be non-nil and will be used for request cancellation. If
  6210. // the context is nil a panic will occur. In the future the SDK may create
  6211. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6212. // for more information on using Contexts.
  6213. func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
  6214. req, out := c.DeleteVpcEndpointsRequest(input)
  6215. req.SetContext(ctx)
  6216. req.ApplyOptions(opts...)
  6217. return out, req.Send()
  6218. }
  6219. const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  6220. // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  6221. // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  6222. // value can be used to capture response data after the request's "Send" method
  6223. // is called.
  6224. //
  6225. // See DeleteVpcPeeringConnection for usage and error information.
  6226. //
  6227. // Creating a request object using this method should be used when you want to inject
  6228. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6229. // access properties on the request object before or after sending the request. If
  6230. // you just want the service response, call the DeleteVpcPeeringConnection method directly
  6231. // instead.
  6232. //
  6233. // Note: You must call the "Send" method on the returned request object in order
  6234. // to execute the request.
  6235. //
  6236. // // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  6237. // req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  6238. //
  6239. // err := req.Send()
  6240. // if err == nil { // resp is now filled
  6241. // fmt.Println(resp)
  6242. // }
  6243. //
  6244. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  6245. func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  6246. op := &request.Operation{
  6247. Name: opDeleteVpcPeeringConnection,
  6248. HTTPMethod: "POST",
  6249. HTTPPath: "/",
  6250. }
  6251. if input == nil {
  6252. input = &DeleteVpcPeeringConnectionInput{}
  6253. }
  6254. output = &DeleteVpcPeeringConnectionOutput{}
  6255. req = c.newRequest(op, input, output)
  6256. return
  6257. }
  6258. // DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  6259. //
  6260. // Deletes a VPC peering connection. Either the owner of the requester VPC or
  6261. // the owner of the peer VPC can delete the VPC peering connection if it's in
  6262. // the active state. The owner of the requester VPC can delete a VPC peering
  6263. // connection in the pending-acceptance state.
  6264. //
  6265. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6266. // with awserr.Error's Code and Message methods to get detailed information about
  6267. // the error.
  6268. //
  6269. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6270. // API operation DeleteVpcPeeringConnection for usage and error information.
  6271. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
  6272. func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  6273. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  6274. return out, req.Send()
  6275. }
  6276. // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  6277. // the ability to pass a context and additional request options.
  6278. //
  6279. // See DeleteVpcPeeringConnection for details on how to use this API operation.
  6280. //
  6281. // The context must be non-nil and will be used for request cancellation. If
  6282. // the context is nil a panic will occur. In the future the SDK may create
  6283. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6284. // for more information on using Contexts.
  6285. func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  6286. req, out := c.DeleteVpcPeeringConnectionRequest(input)
  6287. req.SetContext(ctx)
  6288. req.ApplyOptions(opts...)
  6289. return out, req.Send()
  6290. }
  6291. const opDeleteVpnConnection = "DeleteVpnConnection"
  6292. // DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
  6293. // client's request for the DeleteVpnConnection operation. The "output" return
  6294. // value can be used to capture response data after the request's "Send" method
  6295. // is called.
  6296. //
  6297. // See DeleteVpnConnection for usage and error information.
  6298. //
  6299. // Creating a request object using this method should be used when you want to inject
  6300. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6301. // access properties on the request object before or after sending the request. If
  6302. // you just want the service response, call the DeleteVpnConnection method directly
  6303. // instead.
  6304. //
  6305. // Note: You must call the "Send" method on the returned request object in order
  6306. // to execute the request.
  6307. //
  6308. // // Example sending a request using the DeleteVpnConnectionRequest method.
  6309. // req, resp := client.DeleteVpnConnectionRequest(params)
  6310. //
  6311. // err := req.Send()
  6312. // if err == nil { // resp is now filled
  6313. // fmt.Println(resp)
  6314. // }
  6315. //
  6316. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  6317. func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
  6318. op := &request.Operation{
  6319. Name: opDeleteVpnConnection,
  6320. HTTPMethod: "POST",
  6321. HTTPPath: "/",
  6322. }
  6323. if input == nil {
  6324. input = &DeleteVpnConnectionInput{}
  6325. }
  6326. output = &DeleteVpnConnectionOutput{}
  6327. req = c.newRequest(op, input, output)
  6328. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6329. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6330. return
  6331. }
  6332. // DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
  6333. //
  6334. // Deletes the specified VPN connection.
  6335. //
  6336. // If you're deleting the VPC and its associated components, we recommend that
  6337. // you detach the virtual private gateway from the VPC and delete the VPC before
  6338. // deleting the VPN connection. If you believe that the tunnel credentials for
  6339. // your VPN connection have been compromised, you can delete the VPN connection
  6340. // and create a new one that has new keys, without needing to delete the VPC
  6341. // or virtual private gateway. If you create a new VPN connection, you must
  6342. // reconfigure the customer gateway using the new configuration information
  6343. // returned with the new VPN connection ID.
  6344. //
  6345. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6346. // with awserr.Error's Code and Message methods to get detailed information about
  6347. // the error.
  6348. //
  6349. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6350. // API operation DeleteVpnConnection for usage and error information.
  6351. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
  6352. func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
  6353. req, out := c.DeleteVpnConnectionRequest(input)
  6354. return out, req.Send()
  6355. }
  6356. // DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
  6357. // the ability to pass a context and additional request options.
  6358. //
  6359. // See DeleteVpnConnection for details on how to use this API operation.
  6360. //
  6361. // The context must be non-nil and will be used for request cancellation. If
  6362. // the context is nil a panic will occur. In the future the SDK may create
  6363. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6364. // for more information on using Contexts.
  6365. func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
  6366. req, out := c.DeleteVpnConnectionRequest(input)
  6367. req.SetContext(ctx)
  6368. req.ApplyOptions(opts...)
  6369. return out, req.Send()
  6370. }
  6371. const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
  6372. // DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
  6373. // client's request for the DeleteVpnConnectionRoute operation. The "output" return
  6374. // value can be used to capture response data after the request's "Send" method
  6375. // is called.
  6376. //
  6377. // See DeleteVpnConnectionRoute for usage and error information.
  6378. //
  6379. // Creating a request object using this method should be used when you want to inject
  6380. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6381. // access properties on the request object before or after sending the request. If
  6382. // you just want the service response, call the DeleteVpnConnectionRoute method directly
  6383. // instead.
  6384. //
  6385. // Note: You must call the "Send" method on the returned request object in order
  6386. // to execute the request.
  6387. //
  6388. // // Example sending a request using the DeleteVpnConnectionRouteRequest method.
  6389. // req, resp := client.DeleteVpnConnectionRouteRequest(params)
  6390. //
  6391. // err := req.Send()
  6392. // if err == nil { // resp is now filled
  6393. // fmt.Println(resp)
  6394. // }
  6395. //
  6396. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  6397. func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
  6398. op := &request.Operation{
  6399. Name: opDeleteVpnConnectionRoute,
  6400. HTTPMethod: "POST",
  6401. HTTPPath: "/",
  6402. }
  6403. if input == nil {
  6404. input = &DeleteVpnConnectionRouteInput{}
  6405. }
  6406. output = &DeleteVpnConnectionRouteOutput{}
  6407. req = c.newRequest(op, input, output)
  6408. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6409. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6410. return
  6411. }
  6412. // DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
  6413. //
  6414. // Deletes the specified static route associated with a VPN connection between
  6415. // an existing virtual private gateway and a VPN customer gateway. The static
  6416. // route allows traffic to be routed from the virtual private gateway to the
  6417. // VPN customer gateway.
  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 DeleteVpnConnectionRoute for usage and error information.
  6425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
  6426. func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
  6427. req, out := c.DeleteVpnConnectionRouteRequest(input)
  6428. return out, req.Send()
  6429. }
  6430. // DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
  6431. // the ability to pass a context and additional request options.
  6432. //
  6433. // See DeleteVpnConnectionRoute 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) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
  6440. req, out := c.DeleteVpnConnectionRouteRequest(input)
  6441. req.SetContext(ctx)
  6442. req.ApplyOptions(opts...)
  6443. return out, req.Send()
  6444. }
  6445. const opDeleteVpnGateway = "DeleteVpnGateway"
  6446. // DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
  6447. // client's request for the DeleteVpnGateway 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 DeleteVpnGateway 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 DeleteVpnGateway 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 DeleteVpnGatewayRequest method.
  6463. // req, resp := client.DeleteVpnGatewayRequest(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/DeleteVpnGateway
  6471. func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
  6472. op := &request.Operation{
  6473. Name: opDeleteVpnGateway,
  6474. HTTPMethod: "POST",
  6475. HTTPPath: "/",
  6476. }
  6477. if input == nil {
  6478. input = &DeleteVpnGatewayInput{}
  6479. }
  6480. output = &DeleteVpnGatewayOutput{}
  6481. req = c.newRequest(op, input, output)
  6482. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6483. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6484. return
  6485. }
  6486. // DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
  6487. //
  6488. // Deletes the specified virtual private gateway. We recommend that before you
  6489. // delete a virtual private gateway, you detach it from the VPC and delete the
  6490. // VPN connection. Note that you don't need to delete the virtual private gateway
  6491. // if you plan to delete and recreate the VPN connection between your VPC and
  6492. // your network.
  6493. //
  6494. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6495. // with awserr.Error's Code and Message methods to get detailed information about
  6496. // the error.
  6497. //
  6498. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6499. // API operation DeleteVpnGateway for usage and error information.
  6500. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
  6501. func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
  6502. req, out := c.DeleteVpnGatewayRequest(input)
  6503. return out, req.Send()
  6504. }
  6505. // DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
  6506. // the ability to pass a context and additional request options.
  6507. //
  6508. // See DeleteVpnGateway for details on how to use this API operation.
  6509. //
  6510. // The context must be non-nil and will be used for request cancellation. If
  6511. // the context is nil a panic will occur. In the future the SDK may create
  6512. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6513. // for more information on using Contexts.
  6514. func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
  6515. req, out := c.DeleteVpnGatewayRequest(input)
  6516. req.SetContext(ctx)
  6517. req.ApplyOptions(opts...)
  6518. return out, req.Send()
  6519. }
  6520. const opDeregisterImage = "DeregisterImage"
  6521. // DeregisterImageRequest generates a "aws/request.Request" representing the
  6522. // client's request for the DeregisterImage operation. The "output" return
  6523. // value can be used to capture response data after the request's "Send" method
  6524. // is called.
  6525. //
  6526. // See DeregisterImage for usage and error information.
  6527. //
  6528. // Creating a request object using this method should be used when you want to inject
  6529. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6530. // access properties on the request object before or after sending the request. If
  6531. // you just want the service response, call the DeregisterImage method directly
  6532. // instead.
  6533. //
  6534. // Note: You must call the "Send" method on the returned request object in order
  6535. // to execute the request.
  6536. //
  6537. // // Example sending a request using the DeregisterImageRequest method.
  6538. // req, resp := client.DeregisterImageRequest(params)
  6539. //
  6540. // err := req.Send()
  6541. // if err == nil { // resp is now filled
  6542. // fmt.Println(resp)
  6543. // }
  6544. //
  6545. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  6546. func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
  6547. op := &request.Operation{
  6548. Name: opDeregisterImage,
  6549. HTTPMethod: "POST",
  6550. HTTPPath: "/",
  6551. }
  6552. if input == nil {
  6553. input = &DeregisterImageInput{}
  6554. }
  6555. output = &DeregisterImageOutput{}
  6556. req = c.newRequest(op, input, output)
  6557. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  6558. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  6559. return
  6560. }
  6561. // DeregisterImage API operation for Amazon Elastic Compute Cloud.
  6562. //
  6563. // Deregisters the specified AMI. After you deregister an AMI, it can't be used
  6564. // to launch new instances.
  6565. //
  6566. // This command does not delete the AMI.
  6567. //
  6568. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6569. // with awserr.Error's Code and Message methods to get detailed information about
  6570. // the error.
  6571. //
  6572. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6573. // API operation DeregisterImage for usage and error information.
  6574. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
  6575. func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
  6576. req, out := c.DeregisterImageRequest(input)
  6577. return out, req.Send()
  6578. }
  6579. // DeregisterImageWithContext is the same as DeregisterImage with the addition of
  6580. // the ability to pass a context and additional request options.
  6581. //
  6582. // See DeregisterImage for details on how to use this API operation.
  6583. //
  6584. // The context must be non-nil and will be used for request cancellation. If
  6585. // the context is nil a panic will occur. In the future the SDK may create
  6586. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6587. // for more information on using Contexts.
  6588. func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
  6589. req, out := c.DeregisterImageRequest(input)
  6590. req.SetContext(ctx)
  6591. req.ApplyOptions(opts...)
  6592. return out, req.Send()
  6593. }
  6594. const opDescribeAccountAttributes = "DescribeAccountAttributes"
  6595. // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  6596. // client's request for the DescribeAccountAttributes operation. The "output" return
  6597. // value can be used to capture response data after the request's "Send" method
  6598. // is called.
  6599. //
  6600. // See DescribeAccountAttributes for usage and error information.
  6601. //
  6602. // Creating a request object using this method should be used when you want to inject
  6603. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6604. // access properties on the request object before or after sending the request. If
  6605. // you just want the service response, call the DescribeAccountAttributes method directly
  6606. // instead.
  6607. //
  6608. // Note: You must call the "Send" method on the returned request object in order
  6609. // to execute the request.
  6610. //
  6611. // // Example sending a request using the DescribeAccountAttributesRequest method.
  6612. // req, resp := client.DescribeAccountAttributesRequest(params)
  6613. //
  6614. // err := req.Send()
  6615. // if err == nil { // resp is now filled
  6616. // fmt.Println(resp)
  6617. // }
  6618. //
  6619. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  6620. func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  6621. op := &request.Operation{
  6622. Name: opDescribeAccountAttributes,
  6623. HTTPMethod: "POST",
  6624. HTTPPath: "/",
  6625. }
  6626. if input == nil {
  6627. input = &DescribeAccountAttributesInput{}
  6628. }
  6629. output = &DescribeAccountAttributesOutput{}
  6630. req = c.newRequest(op, input, output)
  6631. return
  6632. }
  6633. // DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
  6634. //
  6635. // Describes attributes of your AWS account. The following are the supported
  6636. // account attributes:
  6637. //
  6638. // * supported-platforms: Indicates whether your account can launch instances
  6639. // into EC2-Classic and EC2-VPC, or only into EC2-VPC.
  6640. //
  6641. // * default-vpc: The ID of the default VPC for your account, or none.
  6642. //
  6643. // * max-instances: The maximum number of On-Demand instances that you can
  6644. // run.
  6645. //
  6646. // * vpc-max-security-groups-per-interface: The maximum number of security
  6647. // groups that you can assign to a network interface.
  6648. //
  6649. // * max-elastic-ips: The maximum number of Elastic IP addresses that you
  6650. // can allocate for use with EC2-Classic.
  6651. //
  6652. // * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
  6653. // you can allocate for use with EC2-VPC.
  6654. //
  6655. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6656. // with awserr.Error's Code and Message methods to get detailed information about
  6657. // the error.
  6658. //
  6659. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6660. // API operation DescribeAccountAttributes for usage and error information.
  6661. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
  6662. func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  6663. req, out := c.DescribeAccountAttributesRequest(input)
  6664. return out, req.Send()
  6665. }
  6666. // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  6667. // the ability to pass a context and additional request options.
  6668. //
  6669. // See DescribeAccountAttributes for details on how to use this API operation.
  6670. //
  6671. // The context must be non-nil and will be used for request cancellation. If
  6672. // the context is nil a panic will occur. In the future the SDK may create
  6673. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6674. // for more information on using Contexts.
  6675. func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  6676. req, out := c.DescribeAccountAttributesRequest(input)
  6677. req.SetContext(ctx)
  6678. req.ApplyOptions(opts...)
  6679. return out, req.Send()
  6680. }
  6681. const opDescribeAddresses = "DescribeAddresses"
  6682. // DescribeAddressesRequest generates a "aws/request.Request" representing the
  6683. // client's request for the DescribeAddresses operation. The "output" return
  6684. // value can be used to capture response data after the request's "Send" method
  6685. // is called.
  6686. //
  6687. // See DescribeAddresses for usage and error information.
  6688. //
  6689. // Creating a request object using this method should be used when you want to inject
  6690. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6691. // access properties on the request object before or after sending the request. If
  6692. // you just want the service response, call the DescribeAddresses method directly
  6693. // instead.
  6694. //
  6695. // Note: You must call the "Send" method on the returned request object in order
  6696. // to execute the request.
  6697. //
  6698. // // Example sending a request using the DescribeAddressesRequest method.
  6699. // req, resp := client.DescribeAddressesRequest(params)
  6700. //
  6701. // err := req.Send()
  6702. // if err == nil { // resp is now filled
  6703. // fmt.Println(resp)
  6704. // }
  6705. //
  6706. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  6707. func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
  6708. op := &request.Operation{
  6709. Name: opDescribeAddresses,
  6710. HTTPMethod: "POST",
  6711. HTTPPath: "/",
  6712. }
  6713. if input == nil {
  6714. input = &DescribeAddressesInput{}
  6715. }
  6716. output = &DescribeAddressesOutput{}
  6717. req = c.newRequest(op, input, output)
  6718. return
  6719. }
  6720. // DescribeAddresses API operation for Amazon Elastic Compute Cloud.
  6721. //
  6722. // Describes one or more of your Elastic IP addresses.
  6723. //
  6724. // An Elastic IP address is for use in either the EC2-Classic platform or in
  6725. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  6726. // in the Amazon Elastic Compute Cloud User Guide.
  6727. //
  6728. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6729. // with awserr.Error's Code and Message methods to get detailed information about
  6730. // the error.
  6731. //
  6732. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6733. // API operation DescribeAddresses for usage and error information.
  6734. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
  6735. func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
  6736. req, out := c.DescribeAddressesRequest(input)
  6737. return out, req.Send()
  6738. }
  6739. // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
  6740. // the ability to pass a context and additional request options.
  6741. //
  6742. // See DescribeAddresses for details on how to use this API operation.
  6743. //
  6744. // The context must be non-nil and will be used for request cancellation. If
  6745. // the context is nil a panic will occur. In the future the SDK may create
  6746. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6747. // for more information on using Contexts.
  6748. func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
  6749. req, out := c.DescribeAddressesRequest(input)
  6750. req.SetContext(ctx)
  6751. req.ApplyOptions(opts...)
  6752. return out, req.Send()
  6753. }
  6754. const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
  6755. // DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
  6756. // client's request for the DescribeAvailabilityZones operation. The "output" return
  6757. // value can be used to capture response data after the request's "Send" method
  6758. // is called.
  6759. //
  6760. // See DescribeAvailabilityZones for usage and error information.
  6761. //
  6762. // Creating a request object using this method should be used when you want to inject
  6763. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6764. // access properties on the request object before or after sending the request. If
  6765. // you just want the service response, call the DescribeAvailabilityZones method directly
  6766. // instead.
  6767. //
  6768. // Note: You must call the "Send" method on the returned request object in order
  6769. // to execute the request.
  6770. //
  6771. // // Example sending a request using the DescribeAvailabilityZonesRequest method.
  6772. // req, resp := client.DescribeAvailabilityZonesRequest(params)
  6773. //
  6774. // err := req.Send()
  6775. // if err == nil { // resp is now filled
  6776. // fmt.Println(resp)
  6777. // }
  6778. //
  6779. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  6780. func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
  6781. op := &request.Operation{
  6782. Name: opDescribeAvailabilityZones,
  6783. HTTPMethod: "POST",
  6784. HTTPPath: "/",
  6785. }
  6786. if input == nil {
  6787. input = &DescribeAvailabilityZonesInput{}
  6788. }
  6789. output = &DescribeAvailabilityZonesOutput{}
  6790. req = c.newRequest(op, input, output)
  6791. return
  6792. }
  6793. // DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
  6794. //
  6795. // Describes one or more of the Availability Zones that are available to you.
  6796. // The results include zones only for the region you're currently using. If
  6797. // there is an event impacting an Availability Zone, you can use this request
  6798. // to view the state and any provided message for that Availability Zone.
  6799. //
  6800. // For more information, see Regions and Availability Zones (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
  6801. // in the Amazon Elastic Compute Cloud User Guide.
  6802. //
  6803. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6804. // with awserr.Error's Code and Message methods to get detailed information about
  6805. // the error.
  6806. //
  6807. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6808. // API operation DescribeAvailabilityZones for usage and error information.
  6809. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
  6810. func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
  6811. req, out := c.DescribeAvailabilityZonesRequest(input)
  6812. return out, req.Send()
  6813. }
  6814. // DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
  6815. // the ability to pass a context and additional request options.
  6816. //
  6817. // See DescribeAvailabilityZones for details on how to use this API operation.
  6818. //
  6819. // The context must be non-nil and will be used for request cancellation. If
  6820. // the context is nil a panic will occur. In the future the SDK may create
  6821. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6822. // for more information on using Contexts.
  6823. func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
  6824. req, out := c.DescribeAvailabilityZonesRequest(input)
  6825. req.SetContext(ctx)
  6826. req.ApplyOptions(opts...)
  6827. return out, req.Send()
  6828. }
  6829. const opDescribeBundleTasks = "DescribeBundleTasks"
  6830. // DescribeBundleTasksRequest generates a "aws/request.Request" representing the
  6831. // client's request for the DescribeBundleTasks operation. The "output" return
  6832. // value can be used to capture response data after the request's "Send" method
  6833. // is called.
  6834. //
  6835. // See DescribeBundleTasks for usage and error information.
  6836. //
  6837. // Creating a request object using this method should be used when you want to inject
  6838. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6839. // access properties on the request object before or after sending the request. If
  6840. // you just want the service response, call the DescribeBundleTasks method directly
  6841. // instead.
  6842. //
  6843. // Note: You must call the "Send" method on the returned request object in order
  6844. // to execute the request.
  6845. //
  6846. // // Example sending a request using the DescribeBundleTasksRequest method.
  6847. // req, resp := client.DescribeBundleTasksRequest(params)
  6848. //
  6849. // err := req.Send()
  6850. // if err == nil { // resp is now filled
  6851. // fmt.Println(resp)
  6852. // }
  6853. //
  6854. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  6855. func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
  6856. op := &request.Operation{
  6857. Name: opDescribeBundleTasks,
  6858. HTTPMethod: "POST",
  6859. HTTPPath: "/",
  6860. }
  6861. if input == nil {
  6862. input = &DescribeBundleTasksInput{}
  6863. }
  6864. output = &DescribeBundleTasksOutput{}
  6865. req = c.newRequest(op, input, output)
  6866. return
  6867. }
  6868. // DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
  6869. //
  6870. // Describes one or more of your bundling tasks.
  6871. //
  6872. // Completed bundle tasks are listed for only a limited time. If your bundle
  6873. // task is no longer in the list, you can still register an AMI from it. Just
  6874. // use RegisterImage with the Amazon S3 bucket name and image manifest name
  6875. // you provided to the bundle task.
  6876. //
  6877. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6878. // with awserr.Error's Code and Message methods to get detailed information about
  6879. // the error.
  6880. //
  6881. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6882. // API operation DescribeBundleTasks for usage and error information.
  6883. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
  6884. func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
  6885. req, out := c.DescribeBundleTasksRequest(input)
  6886. return out, req.Send()
  6887. }
  6888. // DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
  6889. // the ability to pass a context and additional request options.
  6890. //
  6891. // See DescribeBundleTasks for details on how to use this API operation.
  6892. //
  6893. // The context must be non-nil and will be used for request cancellation. If
  6894. // the context is nil a panic will occur. In the future the SDK may create
  6895. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6896. // for more information on using Contexts.
  6897. func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
  6898. req, out := c.DescribeBundleTasksRequest(input)
  6899. req.SetContext(ctx)
  6900. req.ApplyOptions(opts...)
  6901. return out, req.Send()
  6902. }
  6903. const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
  6904. // DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
  6905. // client's request for the DescribeClassicLinkInstances operation. The "output" return
  6906. // value can be used to capture response data after the request's "Send" method
  6907. // is called.
  6908. //
  6909. // See DescribeClassicLinkInstances for usage and error information.
  6910. //
  6911. // Creating a request object using this method should be used when you want to inject
  6912. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6913. // access properties on the request object before or after sending the request. If
  6914. // you just want the service response, call the DescribeClassicLinkInstances method directly
  6915. // instead.
  6916. //
  6917. // Note: You must call the "Send" method on the returned request object in order
  6918. // to execute the request.
  6919. //
  6920. // // Example sending a request using the DescribeClassicLinkInstancesRequest method.
  6921. // req, resp := client.DescribeClassicLinkInstancesRequest(params)
  6922. //
  6923. // err := req.Send()
  6924. // if err == nil { // resp is now filled
  6925. // fmt.Println(resp)
  6926. // }
  6927. //
  6928. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  6929. func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
  6930. op := &request.Operation{
  6931. Name: opDescribeClassicLinkInstances,
  6932. HTTPMethod: "POST",
  6933. HTTPPath: "/",
  6934. }
  6935. if input == nil {
  6936. input = &DescribeClassicLinkInstancesInput{}
  6937. }
  6938. output = &DescribeClassicLinkInstancesOutput{}
  6939. req = c.newRequest(op, input, output)
  6940. return
  6941. }
  6942. // DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
  6943. //
  6944. // Describes one or more of your linked EC2-Classic instances. This request
  6945. // only returns information about EC2-Classic instances linked to a VPC through
  6946. // ClassicLink; you cannot use this request to return information about other
  6947. // instances.
  6948. //
  6949. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6950. // with awserr.Error's Code and Message methods to get detailed information about
  6951. // the error.
  6952. //
  6953. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  6954. // API operation DescribeClassicLinkInstances for usage and error information.
  6955. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
  6956. func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
  6957. req, out := c.DescribeClassicLinkInstancesRequest(input)
  6958. return out, req.Send()
  6959. }
  6960. // DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
  6961. // the ability to pass a context and additional request options.
  6962. //
  6963. // See DescribeClassicLinkInstances for details on how to use this API operation.
  6964. //
  6965. // The context must be non-nil and will be used for request cancellation. If
  6966. // the context is nil a panic will occur. In the future the SDK may create
  6967. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6968. // for more information on using Contexts.
  6969. func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
  6970. req, out := c.DescribeClassicLinkInstancesRequest(input)
  6971. req.SetContext(ctx)
  6972. req.ApplyOptions(opts...)
  6973. return out, req.Send()
  6974. }
  6975. const opDescribeConversionTasks = "DescribeConversionTasks"
  6976. // DescribeConversionTasksRequest generates a "aws/request.Request" representing the
  6977. // client's request for the DescribeConversionTasks operation. The "output" return
  6978. // value can be used to capture response data after the request's "Send" method
  6979. // is called.
  6980. //
  6981. // See DescribeConversionTasks for usage and error information.
  6982. //
  6983. // Creating a request object using this method should be used when you want to inject
  6984. // custom logic into the request's lifecycle using a custom handler, or if you want to
  6985. // access properties on the request object before or after sending the request. If
  6986. // you just want the service response, call the DescribeConversionTasks method directly
  6987. // instead.
  6988. //
  6989. // Note: You must call the "Send" method on the returned request object in order
  6990. // to execute the request.
  6991. //
  6992. // // Example sending a request using the DescribeConversionTasksRequest method.
  6993. // req, resp := client.DescribeConversionTasksRequest(params)
  6994. //
  6995. // err := req.Send()
  6996. // if err == nil { // resp is now filled
  6997. // fmt.Println(resp)
  6998. // }
  6999. //
  7000. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  7001. func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
  7002. op := &request.Operation{
  7003. Name: opDescribeConversionTasks,
  7004. HTTPMethod: "POST",
  7005. HTTPPath: "/",
  7006. }
  7007. if input == nil {
  7008. input = &DescribeConversionTasksInput{}
  7009. }
  7010. output = &DescribeConversionTasksOutput{}
  7011. req = c.newRequest(op, input, output)
  7012. return
  7013. }
  7014. // DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
  7015. //
  7016. // Describes one or more of your conversion tasks. For more information, see
  7017. // the VM Import/Export User Guide (http://docs.aws.amazon.com/vm-import/latest/userguide/).
  7018. //
  7019. // For information about the import manifest referenced by this API action,
  7020. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  7021. //
  7022. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7023. // with awserr.Error's Code and Message methods to get detailed information about
  7024. // the error.
  7025. //
  7026. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7027. // API operation DescribeConversionTasks for usage and error information.
  7028. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
  7029. func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
  7030. req, out := c.DescribeConversionTasksRequest(input)
  7031. return out, req.Send()
  7032. }
  7033. // DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
  7034. // the ability to pass a context and additional request options.
  7035. //
  7036. // See DescribeConversionTasks for details on how to use this API operation.
  7037. //
  7038. // The context must be non-nil and will be used for request cancellation. If
  7039. // the context is nil a panic will occur. In the future the SDK may create
  7040. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7041. // for more information on using Contexts.
  7042. func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
  7043. req, out := c.DescribeConversionTasksRequest(input)
  7044. req.SetContext(ctx)
  7045. req.ApplyOptions(opts...)
  7046. return out, req.Send()
  7047. }
  7048. const opDescribeCustomerGateways = "DescribeCustomerGateways"
  7049. // DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
  7050. // client's request for the DescribeCustomerGateways operation. The "output" return
  7051. // value can be used to capture response data after the request's "Send" method
  7052. // is called.
  7053. //
  7054. // See DescribeCustomerGateways for usage and error information.
  7055. //
  7056. // Creating a request object using this method should be used when you want to inject
  7057. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7058. // access properties on the request object before or after sending the request. If
  7059. // you just want the service response, call the DescribeCustomerGateways method directly
  7060. // instead.
  7061. //
  7062. // Note: You must call the "Send" method on the returned request object in order
  7063. // to execute the request.
  7064. //
  7065. // // Example sending a request using the DescribeCustomerGatewaysRequest method.
  7066. // req, resp := client.DescribeCustomerGatewaysRequest(params)
  7067. //
  7068. // err := req.Send()
  7069. // if err == nil { // resp is now filled
  7070. // fmt.Println(resp)
  7071. // }
  7072. //
  7073. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  7074. func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
  7075. op := &request.Operation{
  7076. Name: opDescribeCustomerGateways,
  7077. HTTPMethod: "POST",
  7078. HTTPPath: "/",
  7079. }
  7080. if input == nil {
  7081. input = &DescribeCustomerGatewaysInput{}
  7082. }
  7083. output = &DescribeCustomerGatewaysOutput{}
  7084. req = c.newRequest(op, input, output)
  7085. return
  7086. }
  7087. // DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
  7088. //
  7089. // Describes one or more of your VPN customer gateways.
  7090. //
  7091. // For more information about VPN customer gateways, see Adding a Hardware Virtual
  7092. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  7093. // in the Amazon Virtual Private Cloud User Guide.
  7094. //
  7095. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7096. // with awserr.Error's Code and Message methods to get detailed information about
  7097. // the error.
  7098. //
  7099. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7100. // API operation DescribeCustomerGateways for usage and error information.
  7101. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
  7102. func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
  7103. req, out := c.DescribeCustomerGatewaysRequest(input)
  7104. return out, req.Send()
  7105. }
  7106. // DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
  7107. // the ability to pass a context and additional request options.
  7108. //
  7109. // See DescribeCustomerGateways for details on how to use this API operation.
  7110. //
  7111. // The context must be non-nil and will be used for request cancellation. If
  7112. // the context is nil a panic will occur. In the future the SDK may create
  7113. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7114. // for more information on using Contexts.
  7115. func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
  7116. req, out := c.DescribeCustomerGatewaysRequest(input)
  7117. req.SetContext(ctx)
  7118. req.ApplyOptions(opts...)
  7119. return out, req.Send()
  7120. }
  7121. const opDescribeDhcpOptions = "DescribeDhcpOptions"
  7122. // DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
  7123. // client's request for the DescribeDhcpOptions operation. The "output" return
  7124. // value can be used to capture response data after the request's "Send" method
  7125. // is called.
  7126. //
  7127. // See DescribeDhcpOptions for usage and error information.
  7128. //
  7129. // Creating a request object using this method should be used when you want to inject
  7130. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7131. // access properties on the request object before or after sending the request. If
  7132. // you just want the service response, call the DescribeDhcpOptions method directly
  7133. // instead.
  7134. //
  7135. // Note: You must call the "Send" method on the returned request object in order
  7136. // to execute the request.
  7137. //
  7138. // // Example sending a request using the DescribeDhcpOptionsRequest method.
  7139. // req, resp := client.DescribeDhcpOptionsRequest(params)
  7140. //
  7141. // err := req.Send()
  7142. // if err == nil { // resp is now filled
  7143. // fmt.Println(resp)
  7144. // }
  7145. //
  7146. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  7147. func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
  7148. op := &request.Operation{
  7149. Name: opDescribeDhcpOptions,
  7150. HTTPMethod: "POST",
  7151. HTTPPath: "/",
  7152. }
  7153. if input == nil {
  7154. input = &DescribeDhcpOptionsInput{}
  7155. }
  7156. output = &DescribeDhcpOptionsOutput{}
  7157. req = c.newRequest(op, input, output)
  7158. return
  7159. }
  7160. // DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
  7161. //
  7162. // Describes one or more of your DHCP options sets.
  7163. //
  7164. // For more information about DHCP options sets, see DHCP Options Sets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_DHCP_Options.html)
  7165. // in the Amazon Virtual Private Cloud User Guide.
  7166. //
  7167. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7168. // with awserr.Error's Code and Message methods to get detailed information about
  7169. // the error.
  7170. //
  7171. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7172. // API operation DescribeDhcpOptions for usage and error information.
  7173. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
  7174. func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
  7175. req, out := c.DescribeDhcpOptionsRequest(input)
  7176. return out, req.Send()
  7177. }
  7178. // DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
  7179. // the ability to pass a context and additional request options.
  7180. //
  7181. // See DescribeDhcpOptions for details on how to use this API operation.
  7182. //
  7183. // The context must be non-nil and will be used for request cancellation. If
  7184. // the context is nil a panic will occur. In the future the SDK may create
  7185. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7186. // for more information on using Contexts.
  7187. func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
  7188. req, out := c.DescribeDhcpOptionsRequest(input)
  7189. req.SetContext(ctx)
  7190. req.ApplyOptions(opts...)
  7191. return out, req.Send()
  7192. }
  7193. const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
  7194. // DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
  7195. // client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
  7196. // value can be used to capture response data after the request's "Send" method
  7197. // is called.
  7198. //
  7199. // See DescribeEgressOnlyInternetGateways for usage and error information.
  7200. //
  7201. // Creating a request object using this method should be used when you want to inject
  7202. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7203. // access properties on the request object before or after sending the request. If
  7204. // you just want the service response, call the DescribeEgressOnlyInternetGateways method directly
  7205. // instead.
  7206. //
  7207. // Note: You must call the "Send" method on the returned request object in order
  7208. // to execute the request.
  7209. //
  7210. // // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
  7211. // req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
  7212. //
  7213. // err := req.Send()
  7214. // if err == nil { // resp is now filled
  7215. // fmt.Println(resp)
  7216. // }
  7217. //
  7218. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  7219. func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
  7220. op := &request.Operation{
  7221. Name: opDescribeEgressOnlyInternetGateways,
  7222. HTTPMethod: "POST",
  7223. HTTPPath: "/",
  7224. }
  7225. if input == nil {
  7226. input = &DescribeEgressOnlyInternetGatewaysInput{}
  7227. }
  7228. output = &DescribeEgressOnlyInternetGatewaysOutput{}
  7229. req = c.newRequest(op, input, output)
  7230. return
  7231. }
  7232. // DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
  7233. //
  7234. // Describes one or more of your egress-only Internet gateways.
  7235. //
  7236. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7237. // with awserr.Error's Code and Message methods to get detailed information about
  7238. // the error.
  7239. //
  7240. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7241. // API operation DescribeEgressOnlyInternetGateways for usage and error information.
  7242. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
  7243. func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  7244. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  7245. return out, req.Send()
  7246. }
  7247. // DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
  7248. // the ability to pass a context and additional request options.
  7249. //
  7250. // See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
  7251. //
  7252. // The context must be non-nil and will be used for request cancellation. If
  7253. // the context is nil a panic will occur. In the future the SDK may create
  7254. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7255. // for more information on using Contexts.
  7256. func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
  7257. req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
  7258. req.SetContext(ctx)
  7259. req.ApplyOptions(opts...)
  7260. return out, req.Send()
  7261. }
  7262. const opDescribeExportTasks = "DescribeExportTasks"
  7263. // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  7264. // client's request for the DescribeExportTasks operation. The "output" return
  7265. // value can be used to capture response data after the request's "Send" method
  7266. // is called.
  7267. //
  7268. // See DescribeExportTasks for usage and error information.
  7269. //
  7270. // Creating a request object using this method should be used when you want to inject
  7271. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7272. // access properties on the request object before or after sending the request. If
  7273. // you just want the service response, call the DescribeExportTasks method directly
  7274. // instead.
  7275. //
  7276. // Note: You must call the "Send" method on the returned request object in order
  7277. // to execute the request.
  7278. //
  7279. // // Example sending a request using the DescribeExportTasksRequest method.
  7280. // req, resp := client.DescribeExportTasksRequest(params)
  7281. //
  7282. // err := req.Send()
  7283. // if err == nil { // resp is now filled
  7284. // fmt.Println(resp)
  7285. // }
  7286. //
  7287. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  7288. func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  7289. op := &request.Operation{
  7290. Name: opDescribeExportTasks,
  7291. HTTPMethod: "POST",
  7292. HTTPPath: "/",
  7293. }
  7294. if input == nil {
  7295. input = &DescribeExportTasksInput{}
  7296. }
  7297. output = &DescribeExportTasksOutput{}
  7298. req = c.newRequest(op, input, output)
  7299. return
  7300. }
  7301. // DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
  7302. //
  7303. // Describes one or more of your export tasks.
  7304. //
  7305. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7306. // with awserr.Error's Code and Message methods to get detailed information about
  7307. // the error.
  7308. //
  7309. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7310. // API operation DescribeExportTasks for usage and error information.
  7311. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
  7312. func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  7313. req, out := c.DescribeExportTasksRequest(input)
  7314. return out, req.Send()
  7315. }
  7316. // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  7317. // the ability to pass a context and additional request options.
  7318. //
  7319. // See DescribeExportTasks for details on how to use this API operation.
  7320. //
  7321. // The context must be non-nil and will be used for request cancellation. If
  7322. // the context is nil a panic will occur. In the future the SDK may create
  7323. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7324. // for more information on using Contexts.
  7325. func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  7326. req, out := c.DescribeExportTasksRequest(input)
  7327. req.SetContext(ctx)
  7328. req.ApplyOptions(opts...)
  7329. return out, req.Send()
  7330. }
  7331. const opDescribeFlowLogs = "DescribeFlowLogs"
  7332. // DescribeFlowLogsRequest generates a "aws/request.Request" representing the
  7333. // client's request for the DescribeFlowLogs operation. The "output" return
  7334. // value can be used to capture response data after the request's "Send" method
  7335. // is called.
  7336. //
  7337. // See DescribeFlowLogs for usage and error information.
  7338. //
  7339. // Creating a request object using this method should be used when you want to inject
  7340. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7341. // access properties on the request object before or after sending the request. If
  7342. // you just want the service response, call the DescribeFlowLogs method directly
  7343. // instead.
  7344. //
  7345. // Note: You must call the "Send" method on the returned request object in order
  7346. // to execute the request.
  7347. //
  7348. // // Example sending a request using the DescribeFlowLogsRequest method.
  7349. // req, resp := client.DescribeFlowLogsRequest(params)
  7350. //
  7351. // err := req.Send()
  7352. // if err == nil { // resp is now filled
  7353. // fmt.Println(resp)
  7354. // }
  7355. //
  7356. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  7357. func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
  7358. op := &request.Operation{
  7359. Name: opDescribeFlowLogs,
  7360. HTTPMethod: "POST",
  7361. HTTPPath: "/",
  7362. }
  7363. if input == nil {
  7364. input = &DescribeFlowLogsInput{}
  7365. }
  7366. output = &DescribeFlowLogsOutput{}
  7367. req = c.newRequest(op, input, output)
  7368. return
  7369. }
  7370. // DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
  7371. //
  7372. // Describes one or more flow logs. To view the information in your flow logs
  7373. // (the log streams for the network interfaces), you must use the CloudWatch
  7374. // Logs console or the CloudWatch Logs API.
  7375. //
  7376. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7377. // with awserr.Error's Code and Message methods to get detailed information about
  7378. // the error.
  7379. //
  7380. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7381. // API operation DescribeFlowLogs for usage and error information.
  7382. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
  7383. func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
  7384. req, out := c.DescribeFlowLogsRequest(input)
  7385. return out, req.Send()
  7386. }
  7387. // DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
  7388. // the ability to pass a context and additional request options.
  7389. //
  7390. // See DescribeFlowLogs for details on how to use this API operation.
  7391. //
  7392. // The context must be non-nil and will be used for request cancellation. If
  7393. // the context is nil a panic will occur. In the future the SDK may create
  7394. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7395. // for more information on using Contexts.
  7396. func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
  7397. req, out := c.DescribeFlowLogsRequest(input)
  7398. req.SetContext(ctx)
  7399. req.ApplyOptions(opts...)
  7400. return out, req.Send()
  7401. }
  7402. const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
  7403. // DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
  7404. // client's request for the DescribeHostReservationOfferings operation. The "output" return
  7405. // value can be used to capture response data after the request's "Send" method
  7406. // is called.
  7407. //
  7408. // See DescribeHostReservationOfferings for usage and error information.
  7409. //
  7410. // Creating a request object using this method should be used when you want to inject
  7411. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7412. // access properties on the request object before or after sending the request. If
  7413. // you just want the service response, call the DescribeHostReservationOfferings method directly
  7414. // instead.
  7415. //
  7416. // Note: You must call the "Send" method on the returned request object in order
  7417. // to execute the request.
  7418. //
  7419. // // Example sending a request using the DescribeHostReservationOfferingsRequest method.
  7420. // req, resp := client.DescribeHostReservationOfferingsRequest(params)
  7421. //
  7422. // err := req.Send()
  7423. // if err == nil { // resp is now filled
  7424. // fmt.Println(resp)
  7425. // }
  7426. //
  7427. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  7428. func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
  7429. op := &request.Operation{
  7430. Name: opDescribeHostReservationOfferings,
  7431. HTTPMethod: "POST",
  7432. HTTPPath: "/",
  7433. }
  7434. if input == nil {
  7435. input = &DescribeHostReservationOfferingsInput{}
  7436. }
  7437. output = &DescribeHostReservationOfferingsOutput{}
  7438. req = c.newRequest(op, input, output)
  7439. return
  7440. }
  7441. // DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
  7442. //
  7443. // Describes the Dedicated Host Reservations that are available to purchase.
  7444. //
  7445. // The results describe all the Dedicated Host Reservation offerings, including
  7446. // offerings that may not match the instance family and region of your Dedicated
  7447. // Hosts. When purchasing an offering, ensure that the the instance family and
  7448. // region of the offering matches that of the Dedicated Host/s it will be associated
  7449. // with. For an overview of supported instance types, see Dedicated Hosts Overview
  7450. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
  7451. // in the Amazon Elastic Compute Cloud User Guide.
  7452. //
  7453. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7454. // with awserr.Error's Code and Message methods to get detailed information about
  7455. // the error.
  7456. //
  7457. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7458. // API operation DescribeHostReservationOfferings for usage and error information.
  7459. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
  7460. func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
  7461. req, out := c.DescribeHostReservationOfferingsRequest(input)
  7462. return out, req.Send()
  7463. }
  7464. // DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
  7465. // the ability to pass a context and additional request options.
  7466. //
  7467. // See DescribeHostReservationOfferings for details on how to use this API operation.
  7468. //
  7469. // The context must be non-nil and will be used for request cancellation. If
  7470. // the context is nil a panic will occur. In the future the SDK may create
  7471. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7472. // for more information on using Contexts.
  7473. func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
  7474. req, out := c.DescribeHostReservationOfferingsRequest(input)
  7475. req.SetContext(ctx)
  7476. req.ApplyOptions(opts...)
  7477. return out, req.Send()
  7478. }
  7479. const opDescribeHostReservations = "DescribeHostReservations"
  7480. // DescribeHostReservationsRequest generates a "aws/request.Request" representing the
  7481. // client's request for the DescribeHostReservations operation. The "output" return
  7482. // value can be used to capture response data after the request's "Send" method
  7483. // is called.
  7484. //
  7485. // See DescribeHostReservations for usage and error information.
  7486. //
  7487. // Creating a request object using this method should be used when you want to inject
  7488. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7489. // access properties on the request object before or after sending the request. If
  7490. // you just want the service response, call the DescribeHostReservations method directly
  7491. // instead.
  7492. //
  7493. // Note: You must call the "Send" method on the returned request object in order
  7494. // to execute the request.
  7495. //
  7496. // // Example sending a request using the DescribeHostReservationsRequest method.
  7497. // req, resp := client.DescribeHostReservationsRequest(params)
  7498. //
  7499. // err := req.Send()
  7500. // if err == nil { // resp is now filled
  7501. // fmt.Println(resp)
  7502. // }
  7503. //
  7504. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  7505. func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
  7506. op := &request.Operation{
  7507. Name: opDescribeHostReservations,
  7508. HTTPMethod: "POST",
  7509. HTTPPath: "/",
  7510. }
  7511. if input == nil {
  7512. input = &DescribeHostReservationsInput{}
  7513. }
  7514. output = &DescribeHostReservationsOutput{}
  7515. req = c.newRequest(op, input, output)
  7516. return
  7517. }
  7518. // DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
  7519. //
  7520. // Describes Dedicated Host Reservations which are associated with Dedicated
  7521. // Hosts in your account.
  7522. //
  7523. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7524. // with awserr.Error's Code and Message methods to get detailed information about
  7525. // the error.
  7526. //
  7527. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7528. // API operation DescribeHostReservations for usage and error information.
  7529. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
  7530. func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
  7531. req, out := c.DescribeHostReservationsRequest(input)
  7532. return out, req.Send()
  7533. }
  7534. // DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
  7535. // the ability to pass a context and additional request options.
  7536. //
  7537. // See DescribeHostReservations for details on how to use this API operation.
  7538. //
  7539. // The context must be non-nil and will be used for request cancellation. If
  7540. // the context is nil a panic will occur. In the future the SDK may create
  7541. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7542. // for more information on using Contexts.
  7543. func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
  7544. req, out := c.DescribeHostReservationsRequest(input)
  7545. req.SetContext(ctx)
  7546. req.ApplyOptions(opts...)
  7547. return out, req.Send()
  7548. }
  7549. const opDescribeHosts = "DescribeHosts"
  7550. // DescribeHostsRequest generates a "aws/request.Request" representing the
  7551. // client's request for the DescribeHosts operation. The "output" return
  7552. // value can be used to capture response data after the request's "Send" method
  7553. // is called.
  7554. //
  7555. // See DescribeHosts for usage and error information.
  7556. //
  7557. // Creating a request object using this method should be used when you want to inject
  7558. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7559. // access properties on the request object before or after sending the request. If
  7560. // you just want the service response, call the DescribeHosts method directly
  7561. // instead.
  7562. //
  7563. // Note: You must call the "Send" method on the returned request object in order
  7564. // to execute the request.
  7565. //
  7566. // // Example sending a request using the DescribeHostsRequest method.
  7567. // req, resp := client.DescribeHostsRequest(params)
  7568. //
  7569. // err := req.Send()
  7570. // if err == nil { // resp is now filled
  7571. // fmt.Println(resp)
  7572. // }
  7573. //
  7574. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  7575. func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
  7576. op := &request.Operation{
  7577. Name: opDescribeHosts,
  7578. HTTPMethod: "POST",
  7579. HTTPPath: "/",
  7580. }
  7581. if input == nil {
  7582. input = &DescribeHostsInput{}
  7583. }
  7584. output = &DescribeHostsOutput{}
  7585. req = c.newRequest(op, input, output)
  7586. return
  7587. }
  7588. // DescribeHosts API operation for Amazon Elastic Compute Cloud.
  7589. //
  7590. // Describes one or more of your Dedicated Hosts.
  7591. //
  7592. // The results describe only the Dedicated Hosts in the region you're currently
  7593. // using. All listed instances consume capacity on your Dedicated Host. Dedicated
  7594. // Hosts that have recently been released will be listed with the state released.
  7595. //
  7596. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7597. // with awserr.Error's Code and Message methods to get detailed information about
  7598. // the error.
  7599. //
  7600. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7601. // API operation DescribeHosts for usage and error information.
  7602. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
  7603. func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
  7604. req, out := c.DescribeHostsRequest(input)
  7605. return out, req.Send()
  7606. }
  7607. // DescribeHostsWithContext is the same as DescribeHosts with the addition of
  7608. // the ability to pass a context and additional request options.
  7609. //
  7610. // See DescribeHosts for details on how to use this API operation.
  7611. //
  7612. // The context must be non-nil and will be used for request cancellation. If
  7613. // the context is nil a panic will occur. In the future the SDK may create
  7614. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7615. // for more information on using Contexts.
  7616. func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
  7617. req, out := c.DescribeHostsRequest(input)
  7618. req.SetContext(ctx)
  7619. req.ApplyOptions(opts...)
  7620. return out, req.Send()
  7621. }
  7622. const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
  7623. // DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
  7624. // client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
  7625. // value can be used to capture response data after the request's "Send" method
  7626. // is called.
  7627. //
  7628. // See DescribeIamInstanceProfileAssociations for usage and error information.
  7629. //
  7630. // Creating a request object using this method should be used when you want to inject
  7631. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7632. // access properties on the request object before or after sending the request. If
  7633. // you just want the service response, call the DescribeIamInstanceProfileAssociations method directly
  7634. // instead.
  7635. //
  7636. // Note: You must call the "Send" method on the returned request object in order
  7637. // to execute the request.
  7638. //
  7639. // // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
  7640. // req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
  7641. //
  7642. // err := req.Send()
  7643. // if err == nil { // resp is now filled
  7644. // fmt.Println(resp)
  7645. // }
  7646. //
  7647. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  7648. func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
  7649. op := &request.Operation{
  7650. Name: opDescribeIamInstanceProfileAssociations,
  7651. HTTPMethod: "POST",
  7652. HTTPPath: "/",
  7653. }
  7654. if input == nil {
  7655. input = &DescribeIamInstanceProfileAssociationsInput{}
  7656. }
  7657. output = &DescribeIamInstanceProfileAssociationsOutput{}
  7658. req = c.newRequest(op, input, output)
  7659. return
  7660. }
  7661. // DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
  7662. //
  7663. // Describes your IAM instance profile associations.
  7664. //
  7665. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7666. // with awserr.Error's Code and Message methods to get detailed information about
  7667. // the error.
  7668. //
  7669. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7670. // API operation DescribeIamInstanceProfileAssociations for usage and error information.
  7671. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
  7672. func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  7673. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  7674. return out, req.Send()
  7675. }
  7676. // DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
  7677. // the ability to pass a context and additional request options.
  7678. //
  7679. // See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
  7680. //
  7681. // The context must be non-nil and will be used for request cancellation. If
  7682. // the context is nil a panic will occur. In the future the SDK may create
  7683. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7684. // for more information on using Contexts.
  7685. func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
  7686. req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
  7687. req.SetContext(ctx)
  7688. req.ApplyOptions(opts...)
  7689. return out, req.Send()
  7690. }
  7691. const opDescribeIdFormat = "DescribeIdFormat"
  7692. // DescribeIdFormatRequest generates a "aws/request.Request" representing the
  7693. // client's request for the DescribeIdFormat operation. The "output" return
  7694. // value can be used to capture response data after the request's "Send" method
  7695. // is called.
  7696. //
  7697. // See DescribeIdFormat for usage and error information.
  7698. //
  7699. // Creating a request object using this method should be used when you want to inject
  7700. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7701. // access properties on the request object before or after sending the request. If
  7702. // you just want the service response, call the DescribeIdFormat method directly
  7703. // instead.
  7704. //
  7705. // Note: You must call the "Send" method on the returned request object in order
  7706. // to execute the request.
  7707. //
  7708. // // Example sending a request using the DescribeIdFormatRequest method.
  7709. // req, resp := client.DescribeIdFormatRequest(params)
  7710. //
  7711. // err := req.Send()
  7712. // if err == nil { // resp is now filled
  7713. // fmt.Println(resp)
  7714. // }
  7715. //
  7716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  7717. func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
  7718. op := &request.Operation{
  7719. Name: opDescribeIdFormat,
  7720. HTTPMethod: "POST",
  7721. HTTPPath: "/",
  7722. }
  7723. if input == nil {
  7724. input = &DescribeIdFormatInput{}
  7725. }
  7726. output = &DescribeIdFormatOutput{}
  7727. req = c.newRequest(op, input, output)
  7728. return
  7729. }
  7730. // DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
  7731. //
  7732. // Describes the ID format settings for your resources on a per-region basis,
  7733. // for example, to view which resource types are enabled for longer IDs. This
  7734. // request only returns information about resource types whose ID formats can
  7735. // be modified; it does not return information about other resource types.
  7736. //
  7737. // The following resource types support longer IDs: instance | reservation |
  7738. // snapshot | volume.
  7739. //
  7740. // These settings apply to the IAM user who makes the request; they do not apply
  7741. // to the entire AWS account. By default, an IAM user defaults to the same settings
  7742. // as the root user, unless they explicitly override the settings by running
  7743. // the ModifyIdFormat command. Resources created with longer IDs are visible
  7744. // to all IAM users, regardless of these settings and provided that they have
  7745. // permission to use the relevant Describe command for the resource type.
  7746. //
  7747. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7748. // with awserr.Error's Code and Message methods to get detailed information about
  7749. // the error.
  7750. //
  7751. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7752. // API operation DescribeIdFormat for usage and error information.
  7753. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
  7754. func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
  7755. req, out := c.DescribeIdFormatRequest(input)
  7756. return out, req.Send()
  7757. }
  7758. // DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
  7759. // the ability to pass a context and additional request options.
  7760. //
  7761. // See DescribeIdFormat for details on how to use this API operation.
  7762. //
  7763. // The context must be non-nil and will be used for request cancellation. If
  7764. // the context is nil a panic will occur. In the future the SDK may create
  7765. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7766. // for more information on using Contexts.
  7767. func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
  7768. req, out := c.DescribeIdFormatRequest(input)
  7769. req.SetContext(ctx)
  7770. req.ApplyOptions(opts...)
  7771. return out, req.Send()
  7772. }
  7773. const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
  7774. // DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
  7775. // client's request for the DescribeIdentityIdFormat operation. The "output" return
  7776. // value can be used to capture response data after the request's "Send" method
  7777. // is called.
  7778. //
  7779. // See DescribeIdentityIdFormat for usage and error information.
  7780. //
  7781. // Creating a request object using this method should be used when you want to inject
  7782. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7783. // access properties on the request object before or after sending the request. If
  7784. // you just want the service response, call the DescribeIdentityIdFormat method directly
  7785. // instead.
  7786. //
  7787. // Note: You must call the "Send" method on the returned request object in order
  7788. // to execute the request.
  7789. //
  7790. // // Example sending a request using the DescribeIdentityIdFormatRequest method.
  7791. // req, resp := client.DescribeIdentityIdFormatRequest(params)
  7792. //
  7793. // err := req.Send()
  7794. // if err == nil { // resp is now filled
  7795. // fmt.Println(resp)
  7796. // }
  7797. //
  7798. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  7799. func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
  7800. op := &request.Operation{
  7801. Name: opDescribeIdentityIdFormat,
  7802. HTTPMethod: "POST",
  7803. HTTPPath: "/",
  7804. }
  7805. if input == nil {
  7806. input = &DescribeIdentityIdFormatInput{}
  7807. }
  7808. output = &DescribeIdentityIdFormatOutput{}
  7809. req = c.newRequest(op, input, output)
  7810. return
  7811. }
  7812. // DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  7813. //
  7814. // Describes the ID format settings for resources for the specified IAM user,
  7815. // IAM role, or root user. For example, you can view the resource types that
  7816. // are enabled for longer IDs. This request only returns information about resource
  7817. // types whose ID formats can be modified; it does not return information about
  7818. // other resource types. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  7819. // in the Amazon Elastic Compute Cloud User Guide.
  7820. //
  7821. // The following resource types support longer IDs: instance | reservation |
  7822. // snapshot | volume.
  7823. //
  7824. // These settings apply to the principal specified in the request. They do not
  7825. // apply to the principal that makes the request.
  7826. //
  7827. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7828. // with awserr.Error's Code and Message methods to get detailed information about
  7829. // the error.
  7830. //
  7831. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7832. // API operation DescribeIdentityIdFormat for usage and error information.
  7833. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
  7834. func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
  7835. req, out := c.DescribeIdentityIdFormatRequest(input)
  7836. return out, req.Send()
  7837. }
  7838. // DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
  7839. // the ability to pass a context and additional request options.
  7840. //
  7841. // See DescribeIdentityIdFormat for details on how to use this API operation.
  7842. //
  7843. // The context must be non-nil and will be used for request cancellation. If
  7844. // the context is nil a panic will occur. In the future the SDK may create
  7845. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7846. // for more information on using Contexts.
  7847. func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
  7848. req, out := c.DescribeIdentityIdFormatRequest(input)
  7849. req.SetContext(ctx)
  7850. req.ApplyOptions(opts...)
  7851. return out, req.Send()
  7852. }
  7853. const opDescribeImageAttribute = "DescribeImageAttribute"
  7854. // DescribeImageAttributeRequest generates a "aws/request.Request" representing the
  7855. // client's request for the DescribeImageAttribute operation. The "output" return
  7856. // value can be used to capture response data after the request's "Send" method
  7857. // is called.
  7858. //
  7859. // See DescribeImageAttribute for usage and error information.
  7860. //
  7861. // Creating a request object using this method should be used when you want to inject
  7862. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7863. // access properties on the request object before or after sending the request. If
  7864. // you just want the service response, call the DescribeImageAttribute method directly
  7865. // instead.
  7866. //
  7867. // Note: You must call the "Send" method on the returned request object in order
  7868. // to execute the request.
  7869. //
  7870. // // Example sending a request using the DescribeImageAttributeRequest method.
  7871. // req, resp := client.DescribeImageAttributeRequest(params)
  7872. //
  7873. // err := req.Send()
  7874. // if err == nil { // resp is now filled
  7875. // fmt.Println(resp)
  7876. // }
  7877. //
  7878. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  7879. func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
  7880. op := &request.Operation{
  7881. Name: opDescribeImageAttribute,
  7882. HTTPMethod: "POST",
  7883. HTTPPath: "/",
  7884. }
  7885. if input == nil {
  7886. input = &DescribeImageAttributeInput{}
  7887. }
  7888. output = &DescribeImageAttributeOutput{}
  7889. req = c.newRequest(op, input, output)
  7890. return
  7891. }
  7892. // DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
  7893. //
  7894. // Describes the specified attribute of the specified AMI. You can specify only
  7895. // one attribute at a time.
  7896. //
  7897. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7898. // with awserr.Error's Code and Message methods to get detailed information about
  7899. // the error.
  7900. //
  7901. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7902. // API operation DescribeImageAttribute for usage and error information.
  7903. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
  7904. func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
  7905. req, out := c.DescribeImageAttributeRequest(input)
  7906. return out, req.Send()
  7907. }
  7908. // DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
  7909. // the ability to pass a context and additional request options.
  7910. //
  7911. // See DescribeImageAttribute for details on how to use this API operation.
  7912. //
  7913. // The context must be non-nil and will be used for request cancellation. If
  7914. // the context is nil a panic will occur. In the future the SDK may create
  7915. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7916. // for more information on using Contexts.
  7917. func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
  7918. req, out := c.DescribeImageAttributeRequest(input)
  7919. req.SetContext(ctx)
  7920. req.ApplyOptions(opts...)
  7921. return out, req.Send()
  7922. }
  7923. const opDescribeImages = "DescribeImages"
  7924. // DescribeImagesRequest generates a "aws/request.Request" representing the
  7925. // client's request for the DescribeImages operation. The "output" return
  7926. // value can be used to capture response data after the request's "Send" method
  7927. // is called.
  7928. //
  7929. // See DescribeImages for usage and error information.
  7930. //
  7931. // Creating a request object using this method should be used when you want to inject
  7932. // custom logic into the request's lifecycle using a custom handler, or if you want to
  7933. // access properties on the request object before or after sending the request. If
  7934. // you just want the service response, call the DescribeImages method directly
  7935. // instead.
  7936. //
  7937. // Note: You must call the "Send" method on the returned request object in order
  7938. // to execute the request.
  7939. //
  7940. // // Example sending a request using the DescribeImagesRequest method.
  7941. // req, resp := client.DescribeImagesRequest(params)
  7942. //
  7943. // err := req.Send()
  7944. // if err == nil { // resp is now filled
  7945. // fmt.Println(resp)
  7946. // }
  7947. //
  7948. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  7949. func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
  7950. op := &request.Operation{
  7951. Name: opDescribeImages,
  7952. HTTPMethod: "POST",
  7953. HTTPPath: "/",
  7954. }
  7955. if input == nil {
  7956. input = &DescribeImagesInput{}
  7957. }
  7958. output = &DescribeImagesOutput{}
  7959. req = c.newRequest(op, input, output)
  7960. return
  7961. }
  7962. // DescribeImages API operation for Amazon Elastic Compute Cloud.
  7963. //
  7964. // Describes one or more of the images (AMIs, AKIs, and ARIs) available to you.
  7965. // Images available to you include public images, private images that you own,
  7966. // and private images owned by other AWS accounts but for which you have explicit
  7967. // launch permissions.
  7968. //
  7969. // Deregistered images are included in the returned results for an unspecified
  7970. // interval after deregistration.
  7971. //
  7972. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7973. // with awserr.Error's Code and Message methods to get detailed information about
  7974. // the error.
  7975. //
  7976. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  7977. // API operation DescribeImages for usage and error information.
  7978. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
  7979. func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
  7980. req, out := c.DescribeImagesRequest(input)
  7981. return out, req.Send()
  7982. }
  7983. // DescribeImagesWithContext is the same as DescribeImages with the addition of
  7984. // the ability to pass a context and additional request options.
  7985. //
  7986. // See DescribeImages for details on how to use this API operation.
  7987. //
  7988. // The context must be non-nil and will be used for request cancellation. If
  7989. // the context is nil a panic will occur. In the future the SDK may create
  7990. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7991. // for more information on using Contexts.
  7992. func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
  7993. req, out := c.DescribeImagesRequest(input)
  7994. req.SetContext(ctx)
  7995. req.ApplyOptions(opts...)
  7996. return out, req.Send()
  7997. }
  7998. const opDescribeImportImageTasks = "DescribeImportImageTasks"
  7999. // DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
  8000. // client's request for the DescribeImportImageTasks operation. The "output" return
  8001. // value can be used to capture response data after the request's "Send" method
  8002. // is called.
  8003. //
  8004. // See DescribeImportImageTasks for usage and error information.
  8005. //
  8006. // Creating a request object using this method should be used when you want to inject
  8007. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8008. // access properties on the request object before or after sending the request. If
  8009. // you just want the service response, call the DescribeImportImageTasks method directly
  8010. // instead.
  8011. //
  8012. // Note: You must call the "Send" method on the returned request object in order
  8013. // to execute the request.
  8014. //
  8015. // // Example sending a request using the DescribeImportImageTasksRequest method.
  8016. // req, resp := client.DescribeImportImageTasksRequest(params)
  8017. //
  8018. // err := req.Send()
  8019. // if err == nil { // resp is now filled
  8020. // fmt.Println(resp)
  8021. // }
  8022. //
  8023. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  8024. func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
  8025. op := &request.Operation{
  8026. Name: opDescribeImportImageTasks,
  8027. HTTPMethod: "POST",
  8028. HTTPPath: "/",
  8029. }
  8030. if input == nil {
  8031. input = &DescribeImportImageTasksInput{}
  8032. }
  8033. output = &DescribeImportImageTasksOutput{}
  8034. req = c.newRequest(op, input, output)
  8035. return
  8036. }
  8037. // DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
  8038. //
  8039. // Displays details about an import virtual machine or import snapshot tasks
  8040. // that are already created.
  8041. //
  8042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8043. // with awserr.Error's Code and Message methods to get detailed information about
  8044. // the error.
  8045. //
  8046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8047. // API operation DescribeImportImageTasks for usage and error information.
  8048. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
  8049. func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
  8050. req, out := c.DescribeImportImageTasksRequest(input)
  8051. return out, req.Send()
  8052. }
  8053. // DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
  8054. // the ability to pass a context and additional request options.
  8055. //
  8056. // See DescribeImportImageTasks for details on how to use this API operation.
  8057. //
  8058. // The context must be non-nil and will be used for request cancellation. If
  8059. // the context is nil a panic will occur. In the future the SDK may create
  8060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8061. // for more information on using Contexts.
  8062. func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
  8063. req, out := c.DescribeImportImageTasksRequest(input)
  8064. req.SetContext(ctx)
  8065. req.ApplyOptions(opts...)
  8066. return out, req.Send()
  8067. }
  8068. const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
  8069. // DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
  8070. // client's request for the DescribeImportSnapshotTasks operation. The "output" return
  8071. // value can be used to capture response data after the request's "Send" method
  8072. // is called.
  8073. //
  8074. // See DescribeImportSnapshotTasks for usage and error information.
  8075. //
  8076. // Creating a request object using this method should be used when you want to inject
  8077. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8078. // access properties on the request object before or after sending the request. If
  8079. // you just want the service response, call the DescribeImportSnapshotTasks method directly
  8080. // instead.
  8081. //
  8082. // Note: You must call the "Send" method on the returned request object in order
  8083. // to execute the request.
  8084. //
  8085. // // Example sending a request using the DescribeImportSnapshotTasksRequest method.
  8086. // req, resp := client.DescribeImportSnapshotTasksRequest(params)
  8087. //
  8088. // err := req.Send()
  8089. // if err == nil { // resp is now filled
  8090. // fmt.Println(resp)
  8091. // }
  8092. //
  8093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  8094. func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
  8095. op := &request.Operation{
  8096. Name: opDescribeImportSnapshotTasks,
  8097. HTTPMethod: "POST",
  8098. HTTPPath: "/",
  8099. }
  8100. if input == nil {
  8101. input = &DescribeImportSnapshotTasksInput{}
  8102. }
  8103. output = &DescribeImportSnapshotTasksOutput{}
  8104. req = c.newRequest(op, input, output)
  8105. return
  8106. }
  8107. // DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
  8108. //
  8109. // Describes your import snapshot tasks.
  8110. //
  8111. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8112. // with awserr.Error's Code and Message methods to get detailed information about
  8113. // the error.
  8114. //
  8115. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8116. // API operation DescribeImportSnapshotTasks for usage and error information.
  8117. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
  8118. func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
  8119. req, out := c.DescribeImportSnapshotTasksRequest(input)
  8120. return out, req.Send()
  8121. }
  8122. // DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
  8123. // the ability to pass a context and additional request options.
  8124. //
  8125. // See DescribeImportSnapshotTasks for details on how to use this API operation.
  8126. //
  8127. // The context must be non-nil and will be used for request cancellation. If
  8128. // the context is nil a panic will occur. In the future the SDK may create
  8129. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8130. // for more information on using Contexts.
  8131. func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
  8132. req, out := c.DescribeImportSnapshotTasksRequest(input)
  8133. req.SetContext(ctx)
  8134. req.ApplyOptions(opts...)
  8135. return out, req.Send()
  8136. }
  8137. const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
  8138. // DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
  8139. // client's request for the DescribeInstanceAttribute operation. The "output" return
  8140. // value can be used to capture response data after the request's "Send" method
  8141. // is called.
  8142. //
  8143. // See DescribeInstanceAttribute for usage and error information.
  8144. //
  8145. // Creating a request object using this method should be used when you want to inject
  8146. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8147. // access properties on the request object before or after sending the request. If
  8148. // you just want the service response, call the DescribeInstanceAttribute method directly
  8149. // instead.
  8150. //
  8151. // Note: You must call the "Send" method on the returned request object in order
  8152. // to execute the request.
  8153. //
  8154. // // Example sending a request using the DescribeInstanceAttributeRequest method.
  8155. // req, resp := client.DescribeInstanceAttributeRequest(params)
  8156. //
  8157. // err := req.Send()
  8158. // if err == nil { // resp is now filled
  8159. // fmt.Println(resp)
  8160. // }
  8161. //
  8162. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  8163. func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
  8164. op := &request.Operation{
  8165. Name: opDescribeInstanceAttribute,
  8166. HTTPMethod: "POST",
  8167. HTTPPath: "/",
  8168. }
  8169. if input == nil {
  8170. input = &DescribeInstanceAttributeInput{}
  8171. }
  8172. output = &DescribeInstanceAttributeOutput{}
  8173. req = c.newRequest(op, input, output)
  8174. return
  8175. }
  8176. // DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  8177. //
  8178. // Describes the specified attribute of the specified instance. You can specify
  8179. // only one attribute at a time. Valid attribute values are: instanceType |
  8180. // kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
  8181. // | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
  8182. // groupSet | ebsOptimized | sriovNetSupport
  8183. //
  8184. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8185. // with awserr.Error's Code and Message methods to get detailed information about
  8186. // the error.
  8187. //
  8188. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8189. // API operation DescribeInstanceAttribute for usage and error information.
  8190. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
  8191. func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
  8192. req, out := c.DescribeInstanceAttributeRequest(input)
  8193. return out, req.Send()
  8194. }
  8195. // DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
  8196. // the ability to pass a context and additional request options.
  8197. //
  8198. // See DescribeInstanceAttribute for details on how to use this API operation.
  8199. //
  8200. // The context must be non-nil and will be used for request cancellation. If
  8201. // the context is nil a panic will occur. In the future the SDK may create
  8202. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8203. // for more information on using Contexts.
  8204. func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
  8205. req, out := c.DescribeInstanceAttributeRequest(input)
  8206. req.SetContext(ctx)
  8207. req.ApplyOptions(opts...)
  8208. return out, req.Send()
  8209. }
  8210. const opDescribeInstanceStatus = "DescribeInstanceStatus"
  8211. // DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
  8212. // client's request for the DescribeInstanceStatus operation. The "output" return
  8213. // value can be used to capture response data after the request's "Send" method
  8214. // is called.
  8215. //
  8216. // See DescribeInstanceStatus for usage and error information.
  8217. //
  8218. // Creating a request object using this method should be used when you want to inject
  8219. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8220. // access properties on the request object before or after sending the request. If
  8221. // you just want the service response, call the DescribeInstanceStatus method directly
  8222. // instead.
  8223. //
  8224. // Note: You must call the "Send" method on the returned request object in order
  8225. // to execute the request.
  8226. //
  8227. // // Example sending a request using the DescribeInstanceStatusRequest method.
  8228. // req, resp := client.DescribeInstanceStatusRequest(params)
  8229. //
  8230. // err := req.Send()
  8231. // if err == nil { // resp is now filled
  8232. // fmt.Println(resp)
  8233. // }
  8234. //
  8235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  8236. func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
  8237. op := &request.Operation{
  8238. Name: opDescribeInstanceStatus,
  8239. HTTPMethod: "POST",
  8240. HTTPPath: "/",
  8241. Paginator: &request.Paginator{
  8242. InputTokens: []string{"NextToken"},
  8243. OutputTokens: []string{"NextToken"},
  8244. LimitToken: "MaxResults",
  8245. TruncationToken: "",
  8246. },
  8247. }
  8248. if input == nil {
  8249. input = &DescribeInstanceStatusInput{}
  8250. }
  8251. output = &DescribeInstanceStatusOutput{}
  8252. req = c.newRequest(op, input, output)
  8253. return
  8254. }
  8255. // DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
  8256. //
  8257. // Describes the status of one or more instances. By default, only running instances
  8258. // are described, unless specified otherwise.
  8259. //
  8260. // Instance status includes the following components:
  8261. //
  8262. // * Status checks - Amazon EC2 performs status checks on running EC2 instances
  8263. // to identify hardware and software issues. For more information, see Status
  8264. // Checks for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
  8265. // and Troubleshooting Instances with Failed Status Checks (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
  8266. // in the Amazon Elastic Compute Cloud User Guide.
  8267. //
  8268. // * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
  8269. // or terminate) for your instances related to hardware issues, software
  8270. // updates, or system maintenance. For more information, see Scheduled Events
  8271. // for Your Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
  8272. // in the Amazon Elastic Compute Cloud User Guide.
  8273. //
  8274. // * Instance state - You can manage your instances from the moment you launch
  8275. // them through their termination. For more information, see Instance Lifecycle
  8276. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  8277. // in the Amazon Elastic Compute Cloud User Guide.
  8278. //
  8279. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8280. // with awserr.Error's Code and Message methods to get detailed information about
  8281. // the error.
  8282. //
  8283. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8284. // API operation DescribeInstanceStatus for usage and error information.
  8285. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
  8286. func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
  8287. req, out := c.DescribeInstanceStatusRequest(input)
  8288. return out, req.Send()
  8289. }
  8290. // DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
  8291. // the ability to pass a context and additional request options.
  8292. //
  8293. // See DescribeInstanceStatus for details on how to use this API operation.
  8294. //
  8295. // The context must be non-nil and will be used for request cancellation. If
  8296. // the context is nil a panic will occur. In the future the SDK may create
  8297. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8298. // for more information on using Contexts.
  8299. func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
  8300. req, out := c.DescribeInstanceStatusRequest(input)
  8301. req.SetContext(ctx)
  8302. req.ApplyOptions(opts...)
  8303. return out, req.Send()
  8304. }
  8305. // DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
  8306. // calling the "fn" function with the response data for each page. To stop
  8307. // iterating, return false from the fn function.
  8308. //
  8309. // See DescribeInstanceStatus method for more information on how to use this operation.
  8310. //
  8311. // Note: This operation can generate multiple requests to a service.
  8312. //
  8313. // // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
  8314. // pageNum := 0
  8315. // err := client.DescribeInstanceStatusPages(params,
  8316. // func(page *DescribeInstanceStatusOutput, lastPage bool) bool {
  8317. // pageNum++
  8318. // fmt.Println(page)
  8319. // return pageNum <= 3
  8320. // })
  8321. //
  8322. func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
  8323. return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  8324. }
  8325. // DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
  8326. // it takes a Context and allows setting request options on the pages.
  8327. //
  8328. // The context must be non-nil and will be used for request cancellation. If
  8329. // the context is nil a panic will occur. In the future the SDK may create
  8330. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8331. // for more information on using Contexts.
  8332. func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
  8333. p := request.Pagination{
  8334. NewRequest: func() (*request.Request, error) {
  8335. var inCpy *DescribeInstanceStatusInput
  8336. if input != nil {
  8337. tmp := *input
  8338. inCpy = &tmp
  8339. }
  8340. req, _ := c.DescribeInstanceStatusRequest(inCpy)
  8341. req.SetContext(ctx)
  8342. req.ApplyOptions(opts...)
  8343. return req, nil
  8344. },
  8345. }
  8346. cont := true
  8347. for p.Next() && cont {
  8348. cont = fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage())
  8349. }
  8350. return p.Err()
  8351. }
  8352. const opDescribeInstances = "DescribeInstances"
  8353. // DescribeInstancesRequest generates a "aws/request.Request" representing the
  8354. // client's request for the DescribeInstances operation. The "output" return
  8355. // value can be used to capture response data after the request's "Send" method
  8356. // is called.
  8357. //
  8358. // See DescribeInstances for usage and error information.
  8359. //
  8360. // Creating a request object using this method should be used when you want to inject
  8361. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8362. // access properties on the request object before or after sending the request. If
  8363. // you just want the service response, call the DescribeInstances method directly
  8364. // instead.
  8365. //
  8366. // Note: You must call the "Send" method on the returned request object in order
  8367. // to execute the request.
  8368. //
  8369. // // Example sending a request using the DescribeInstancesRequest method.
  8370. // req, resp := client.DescribeInstancesRequest(params)
  8371. //
  8372. // err := req.Send()
  8373. // if err == nil { // resp is now filled
  8374. // fmt.Println(resp)
  8375. // }
  8376. //
  8377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  8378. func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  8379. op := &request.Operation{
  8380. Name: opDescribeInstances,
  8381. HTTPMethod: "POST",
  8382. HTTPPath: "/",
  8383. Paginator: &request.Paginator{
  8384. InputTokens: []string{"NextToken"},
  8385. OutputTokens: []string{"NextToken"},
  8386. LimitToken: "MaxResults",
  8387. TruncationToken: "",
  8388. },
  8389. }
  8390. if input == nil {
  8391. input = &DescribeInstancesInput{}
  8392. }
  8393. output = &DescribeInstancesOutput{}
  8394. req = c.newRequest(op, input, output)
  8395. return
  8396. }
  8397. // DescribeInstances API operation for Amazon Elastic Compute Cloud.
  8398. //
  8399. // Describes one or more of your instances.
  8400. //
  8401. // If you specify one or more instance IDs, Amazon EC2 returns information for
  8402. // those instances. If you do not specify instance IDs, Amazon EC2 returns information
  8403. // for all relevant instances. If you specify an instance ID that is not valid,
  8404. // an error is returned. If you specify an instance that you do not own, it
  8405. // is not included in the returned results.
  8406. //
  8407. // Recently terminated instances might appear in the returned results. This
  8408. // interval is usually less than one hour.
  8409. //
  8410. // If you describe instances in the rare case where an Availability Zone is
  8411. // experiencing a service disruption and you specify instance IDs that are in
  8412. // the affected zone, or do not specify any instance IDs at all, the call fails.
  8413. // If you describe instances and specify only instance IDs that are in an unaffected
  8414. // zone, the call works normally.
  8415. //
  8416. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8417. // with awserr.Error's Code and Message methods to get detailed information about
  8418. // the error.
  8419. //
  8420. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8421. // API operation DescribeInstances for usage and error information.
  8422. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
  8423. func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  8424. req, out := c.DescribeInstancesRequest(input)
  8425. return out, req.Send()
  8426. }
  8427. // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  8428. // the ability to pass a context and additional request options.
  8429. //
  8430. // See DescribeInstances for details on how to use this API operation.
  8431. //
  8432. // The context must be non-nil and will be used for request cancellation. If
  8433. // the context is nil a panic will occur. In the future the SDK may create
  8434. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8435. // for more information on using Contexts.
  8436. func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  8437. req, out := c.DescribeInstancesRequest(input)
  8438. req.SetContext(ctx)
  8439. req.ApplyOptions(opts...)
  8440. return out, req.Send()
  8441. }
  8442. // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  8443. // calling the "fn" function with the response data for each page. To stop
  8444. // iterating, return false from the fn function.
  8445. //
  8446. // See DescribeInstances method for more information on how to use this operation.
  8447. //
  8448. // Note: This operation can generate multiple requests to a service.
  8449. //
  8450. // // Example iterating over at most 3 pages of a DescribeInstances operation.
  8451. // pageNum := 0
  8452. // err := client.DescribeInstancesPages(params,
  8453. // func(page *DescribeInstancesOutput, lastPage bool) bool {
  8454. // pageNum++
  8455. // fmt.Println(page)
  8456. // return pageNum <= 3
  8457. // })
  8458. //
  8459. func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  8460. return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  8461. }
  8462. // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  8463. // it takes a Context and allows setting request options on the pages.
  8464. //
  8465. // The context must be non-nil and will be used for request cancellation. If
  8466. // the context is nil a panic will occur. In the future the SDK may create
  8467. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8468. // for more information on using Contexts.
  8469. func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  8470. p := request.Pagination{
  8471. NewRequest: func() (*request.Request, error) {
  8472. var inCpy *DescribeInstancesInput
  8473. if input != nil {
  8474. tmp := *input
  8475. inCpy = &tmp
  8476. }
  8477. req, _ := c.DescribeInstancesRequest(inCpy)
  8478. req.SetContext(ctx)
  8479. req.ApplyOptions(opts...)
  8480. return req, nil
  8481. },
  8482. }
  8483. cont := true
  8484. for p.Next() && cont {
  8485. cont = fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage())
  8486. }
  8487. return p.Err()
  8488. }
  8489. const opDescribeInternetGateways = "DescribeInternetGateways"
  8490. // DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
  8491. // client's request for the DescribeInternetGateways operation. The "output" return
  8492. // value can be used to capture response data after the request's "Send" method
  8493. // is called.
  8494. //
  8495. // See DescribeInternetGateways for usage and error information.
  8496. //
  8497. // Creating a request object using this method should be used when you want to inject
  8498. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8499. // access properties on the request object before or after sending the request. If
  8500. // you just want the service response, call the DescribeInternetGateways method directly
  8501. // instead.
  8502. //
  8503. // Note: You must call the "Send" method on the returned request object in order
  8504. // to execute the request.
  8505. //
  8506. // // Example sending a request using the DescribeInternetGatewaysRequest method.
  8507. // req, resp := client.DescribeInternetGatewaysRequest(params)
  8508. //
  8509. // err := req.Send()
  8510. // if err == nil { // resp is now filled
  8511. // fmt.Println(resp)
  8512. // }
  8513. //
  8514. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  8515. func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
  8516. op := &request.Operation{
  8517. Name: opDescribeInternetGateways,
  8518. HTTPMethod: "POST",
  8519. HTTPPath: "/",
  8520. }
  8521. if input == nil {
  8522. input = &DescribeInternetGatewaysInput{}
  8523. }
  8524. output = &DescribeInternetGatewaysOutput{}
  8525. req = c.newRequest(op, input, output)
  8526. return
  8527. }
  8528. // DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
  8529. //
  8530. // Describes one or more of your Internet gateways.
  8531. //
  8532. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8533. // with awserr.Error's Code and Message methods to get detailed information about
  8534. // the error.
  8535. //
  8536. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8537. // API operation DescribeInternetGateways for usage and error information.
  8538. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
  8539. func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
  8540. req, out := c.DescribeInternetGatewaysRequest(input)
  8541. return out, req.Send()
  8542. }
  8543. // DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
  8544. // the ability to pass a context and additional request options.
  8545. //
  8546. // See DescribeInternetGateways for details on how to use this API operation.
  8547. //
  8548. // The context must be non-nil and will be used for request cancellation. If
  8549. // the context is nil a panic will occur. In the future the SDK may create
  8550. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8551. // for more information on using Contexts.
  8552. func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
  8553. req, out := c.DescribeInternetGatewaysRequest(input)
  8554. req.SetContext(ctx)
  8555. req.ApplyOptions(opts...)
  8556. return out, req.Send()
  8557. }
  8558. const opDescribeKeyPairs = "DescribeKeyPairs"
  8559. // DescribeKeyPairsRequest generates a "aws/request.Request" representing the
  8560. // client's request for the DescribeKeyPairs operation. The "output" return
  8561. // value can be used to capture response data after the request's "Send" method
  8562. // is called.
  8563. //
  8564. // See DescribeKeyPairs for usage and error information.
  8565. //
  8566. // Creating a request object using this method should be used when you want to inject
  8567. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8568. // access properties on the request object before or after sending the request. If
  8569. // you just want the service response, call the DescribeKeyPairs method directly
  8570. // instead.
  8571. //
  8572. // Note: You must call the "Send" method on the returned request object in order
  8573. // to execute the request.
  8574. //
  8575. // // Example sending a request using the DescribeKeyPairsRequest method.
  8576. // req, resp := client.DescribeKeyPairsRequest(params)
  8577. //
  8578. // err := req.Send()
  8579. // if err == nil { // resp is now filled
  8580. // fmt.Println(resp)
  8581. // }
  8582. //
  8583. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  8584. func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
  8585. op := &request.Operation{
  8586. Name: opDescribeKeyPairs,
  8587. HTTPMethod: "POST",
  8588. HTTPPath: "/",
  8589. }
  8590. if input == nil {
  8591. input = &DescribeKeyPairsInput{}
  8592. }
  8593. output = &DescribeKeyPairsOutput{}
  8594. req = c.newRequest(op, input, output)
  8595. return
  8596. }
  8597. // DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
  8598. //
  8599. // Describes one or more of your key pairs.
  8600. //
  8601. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  8602. // in the Amazon Elastic Compute Cloud User Guide.
  8603. //
  8604. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8605. // with awserr.Error's Code and Message methods to get detailed information about
  8606. // the error.
  8607. //
  8608. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8609. // API operation DescribeKeyPairs for usage and error information.
  8610. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
  8611. func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
  8612. req, out := c.DescribeKeyPairsRequest(input)
  8613. return out, req.Send()
  8614. }
  8615. // DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
  8616. // the ability to pass a context and additional request options.
  8617. //
  8618. // See DescribeKeyPairs for details on how to use this API operation.
  8619. //
  8620. // The context must be non-nil and will be used for request cancellation. If
  8621. // the context is nil a panic will occur. In the future the SDK may create
  8622. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8623. // for more information on using Contexts.
  8624. func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
  8625. req, out := c.DescribeKeyPairsRequest(input)
  8626. req.SetContext(ctx)
  8627. req.ApplyOptions(opts...)
  8628. return out, req.Send()
  8629. }
  8630. const opDescribeMovingAddresses = "DescribeMovingAddresses"
  8631. // DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
  8632. // client's request for the DescribeMovingAddresses operation. The "output" return
  8633. // value can be used to capture response data after the request's "Send" method
  8634. // is called.
  8635. //
  8636. // See DescribeMovingAddresses for usage and error information.
  8637. //
  8638. // Creating a request object using this method should be used when you want to inject
  8639. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8640. // access properties on the request object before or after sending the request. If
  8641. // you just want the service response, call the DescribeMovingAddresses method directly
  8642. // instead.
  8643. //
  8644. // Note: You must call the "Send" method on the returned request object in order
  8645. // to execute the request.
  8646. //
  8647. // // Example sending a request using the DescribeMovingAddressesRequest method.
  8648. // req, resp := client.DescribeMovingAddressesRequest(params)
  8649. //
  8650. // err := req.Send()
  8651. // if err == nil { // resp is now filled
  8652. // fmt.Println(resp)
  8653. // }
  8654. //
  8655. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  8656. func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
  8657. op := &request.Operation{
  8658. Name: opDescribeMovingAddresses,
  8659. HTTPMethod: "POST",
  8660. HTTPPath: "/",
  8661. }
  8662. if input == nil {
  8663. input = &DescribeMovingAddressesInput{}
  8664. }
  8665. output = &DescribeMovingAddressesOutput{}
  8666. req = c.newRequest(op, input, output)
  8667. return
  8668. }
  8669. // DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
  8670. //
  8671. // Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
  8672. // or that are being restored to the EC2-Classic platform. This request does
  8673. // not return information about any other Elastic IP addresses in your account.
  8674. //
  8675. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8676. // with awserr.Error's Code and Message methods to get detailed information about
  8677. // the error.
  8678. //
  8679. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8680. // API operation DescribeMovingAddresses for usage and error information.
  8681. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
  8682. func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
  8683. req, out := c.DescribeMovingAddressesRequest(input)
  8684. return out, req.Send()
  8685. }
  8686. // DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
  8687. // the ability to pass a context and additional request options.
  8688. //
  8689. // See DescribeMovingAddresses for details on how to use this API operation.
  8690. //
  8691. // The context must be non-nil and will be used for request cancellation. If
  8692. // the context is nil a panic will occur. In the future the SDK may create
  8693. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8694. // for more information on using Contexts.
  8695. func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
  8696. req, out := c.DescribeMovingAddressesRequest(input)
  8697. req.SetContext(ctx)
  8698. req.ApplyOptions(opts...)
  8699. return out, req.Send()
  8700. }
  8701. const opDescribeNatGateways = "DescribeNatGateways"
  8702. // DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
  8703. // client's request for the DescribeNatGateways operation. The "output" return
  8704. // value can be used to capture response data after the request's "Send" method
  8705. // is called.
  8706. //
  8707. // See DescribeNatGateways for usage and error information.
  8708. //
  8709. // Creating a request object using this method should be used when you want to inject
  8710. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8711. // access properties on the request object before or after sending the request. If
  8712. // you just want the service response, call the DescribeNatGateways method directly
  8713. // instead.
  8714. //
  8715. // Note: You must call the "Send" method on the returned request object in order
  8716. // to execute the request.
  8717. //
  8718. // // Example sending a request using the DescribeNatGatewaysRequest method.
  8719. // req, resp := client.DescribeNatGatewaysRequest(params)
  8720. //
  8721. // err := req.Send()
  8722. // if err == nil { // resp is now filled
  8723. // fmt.Println(resp)
  8724. // }
  8725. //
  8726. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  8727. func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
  8728. op := &request.Operation{
  8729. Name: opDescribeNatGateways,
  8730. HTTPMethod: "POST",
  8731. HTTPPath: "/",
  8732. Paginator: &request.Paginator{
  8733. InputTokens: []string{"NextToken"},
  8734. OutputTokens: []string{"NextToken"},
  8735. LimitToken: "MaxResults",
  8736. TruncationToken: "",
  8737. },
  8738. }
  8739. if input == nil {
  8740. input = &DescribeNatGatewaysInput{}
  8741. }
  8742. output = &DescribeNatGatewaysOutput{}
  8743. req = c.newRequest(op, input, output)
  8744. return
  8745. }
  8746. // DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
  8747. //
  8748. // Describes one or more of the your NAT gateways.
  8749. //
  8750. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8751. // with awserr.Error's Code and Message methods to get detailed information about
  8752. // the error.
  8753. //
  8754. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8755. // API operation DescribeNatGateways for usage and error information.
  8756. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
  8757. func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
  8758. req, out := c.DescribeNatGatewaysRequest(input)
  8759. return out, req.Send()
  8760. }
  8761. // DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
  8762. // the ability to pass a context and additional request options.
  8763. //
  8764. // See DescribeNatGateways for details on how to use this API operation.
  8765. //
  8766. // The context must be non-nil and will be used for request cancellation. If
  8767. // the context is nil a panic will occur. In the future the SDK may create
  8768. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8769. // for more information on using Contexts.
  8770. func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
  8771. req, out := c.DescribeNatGatewaysRequest(input)
  8772. req.SetContext(ctx)
  8773. req.ApplyOptions(opts...)
  8774. return out, req.Send()
  8775. }
  8776. // DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
  8777. // calling the "fn" function with the response data for each page. To stop
  8778. // iterating, return false from the fn function.
  8779. //
  8780. // See DescribeNatGateways method for more information on how to use this operation.
  8781. //
  8782. // Note: This operation can generate multiple requests to a service.
  8783. //
  8784. // // Example iterating over at most 3 pages of a DescribeNatGateways operation.
  8785. // pageNum := 0
  8786. // err := client.DescribeNatGatewaysPages(params,
  8787. // func(page *DescribeNatGatewaysOutput, lastPage bool) bool {
  8788. // pageNum++
  8789. // fmt.Println(page)
  8790. // return pageNum <= 3
  8791. // })
  8792. //
  8793. func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
  8794. return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
  8795. }
  8796. // DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
  8797. // it takes a Context and allows setting request options on the pages.
  8798. //
  8799. // The context must be non-nil and will be used for request cancellation. If
  8800. // the context is nil a panic will occur. In the future the SDK may create
  8801. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8802. // for more information on using Contexts.
  8803. func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
  8804. p := request.Pagination{
  8805. NewRequest: func() (*request.Request, error) {
  8806. var inCpy *DescribeNatGatewaysInput
  8807. if input != nil {
  8808. tmp := *input
  8809. inCpy = &tmp
  8810. }
  8811. req, _ := c.DescribeNatGatewaysRequest(inCpy)
  8812. req.SetContext(ctx)
  8813. req.ApplyOptions(opts...)
  8814. return req, nil
  8815. },
  8816. }
  8817. cont := true
  8818. for p.Next() && cont {
  8819. cont = fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage())
  8820. }
  8821. return p.Err()
  8822. }
  8823. const opDescribeNetworkAcls = "DescribeNetworkAcls"
  8824. // DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
  8825. // client's request for the DescribeNetworkAcls operation. The "output" return
  8826. // value can be used to capture response data after the request's "Send" method
  8827. // is called.
  8828. //
  8829. // See DescribeNetworkAcls for usage and error information.
  8830. //
  8831. // Creating a request object using this method should be used when you want to inject
  8832. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8833. // access properties on the request object before or after sending the request. If
  8834. // you just want the service response, call the DescribeNetworkAcls method directly
  8835. // instead.
  8836. //
  8837. // Note: You must call the "Send" method on the returned request object in order
  8838. // to execute the request.
  8839. //
  8840. // // Example sending a request using the DescribeNetworkAclsRequest method.
  8841. // req, resp := client.DescribeNetworkAclsRequest(params)
  8842. //
  8843. // err := req.Send()
  8844. // if err == nil { // resp is now filled
  8845. // fmt.Println(resp)
  8846. // }
  8847. //
  8848. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  8849. func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
  8850. op := &request.Operation{
  8851. Name: opDescribeNetworkAcls,
  8852. HTTPMethod: "POST",
  8853. HTTPPath: "/",
  8854. }
  8855. if input == nil {
  8856. input = &DescribeNetworkAclsInput{}
  8857. }
  8858. output = &DescribeNetworkAclsOutput{}
  8859. req = c.newRequest(op, input, output)
  8860. return
  8861. }
  8862. // DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
  8863. //
  8864. // Describes one or more of your network ACLs.
  8865. //
  8866. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  8867. // in the Amazon Virtual Private Cloud User Guide.
  8868. //
  8869. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8870. // with awserr.Error's Code and Message methods to get detailed information about
  8871. // the error.
  8872. //
  8873. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8874. // API operation DescribeNetworkAcls for usage and error information.
  8875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
  8876. func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
  8877. req, out := c.DescribeNetworkAclsRequest(input)
  8878. return out, req.Send()
  8879. }
  8880. // DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
  8881. // the ability to pass a context and additional request options.
  8882. //
  8883. // See DescribeNetworkAcls for details on how to use this API operation.
  8884. //
  8885. // The context must be non-nil and will be used for request cancellation. If
  8886. // the context is nil a panic will occur. In the future the SDK may create
  8887. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8888. // for more information on using Contexts.
  8889. func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
  8890. req, out := c.DescribeNetworkAclsRequest(input)
  8891. req.SetContext(ctx)
  8892. req.ApplyOptions(opts...)
  8893. return out, req.Send()
  8894. }
  8895. const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
  8896. // DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  8897. // client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
  8898. // value can be used to capture response data after the request's "Send" method
  8899. // is called.
  8900. //
  8901. // See DescribeNetworkInterfaceAttribute for usage and error information.
  8902. //
  8903. // Creating a request object using this method should be used when you want to inject
  8904. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8905. // access properties on the request object before or after sending the request. If
  8906. // you just want the service response, call the DescribeNetworkInterfaceAttribute method directly
  8907. // instead.
  8908. //
  8909. // Note: You must call the "Send" method on the returned request object in order
  8910. // to execute the request.
  8911. //
  8912. // // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
  8913. // req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
  8914. //
  8915. // err := req.Send()
  8916. // if err == nil { // resp is now filled
  8917. // fmt.Println(resp)
  8918. // }
  8919. //
  8920. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  8921. func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
  8922. op := &request.Operation{
  8923. Name: opDescribeNetworkInterfaceAttribute,
  8924. HTTPMethod: "POST",
  8925. HTTPPath: "/",
  8926. }
  8927. if input == nil {
  8928. input = &DescribeNetworkInterfaceAttributeInput{}
  8929. }
  8930. output = &DescribeNetworkInterfaceAttributeOutput{}
  8931. req = c.newRequest(op, input, output)
  8932. return
  8933. }
  8934. // DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  8935. //
  8936. // Describes a network interface attribute. You can specify only one attribute
  8937. // at a time.
  8938. //
  8939. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8940. // with awserr.Error's Code and Message methods to get detailed information about
  8941. // the error.
  8942. //
  8943. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  8944. // API operation DescribeNetworkInterfaceAttribute for usage and error information.
  8945. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
  8946. func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
  8947. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  8948. return out, req.Send()
  8949. }
  8950. // DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
  8951. // the ability to pass a context and additional request options.
  8952. //
  8953. // See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
  8954. //
  8955. // The context must be non-nil and will be used for request cancellation. If
  8956. // the context is nil a panic will occur. In the future the SDK may create
  8957. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8958. // for more information on using Contexts.
  8959. func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
  8960. req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
  8961. req.SetContext(ctx)
  8962. req.ApplyOptions(opts...)
  8963. return out, req.Send()
  8964. }
  8965. const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
  8966. // DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
  8967. // client's request for the DescribeNetworkInterfaces operation. The "output" return
  8968. // value can be used to capture response data after the request's "Send" method
  8969. // is called.
  8970. //
  8971. // See DescribeNetworkInterfaces for usage and error information.
  8972. //
  8973. // Creating a request object using this method should be used when you want to inject
  8974. // custom logic into the request's lifecycle using a custom handler, or if you want to
  8975. // access properties on the request object before or after sending the request. If
  8976. // you just want the service response, call the DescribeNetworkInterfaces method directly
  8977. // instead.
  8978. //
  8979. // Note: You must call the "Send" method on the returned request object in order
  8980. // to execute the request.
  8981. //
  8982. // // Example sending a request using the DescribeNetworkInterfacesRequest method.
  8983. // req, resp := client.DescribeNetworkInterfacesRequest(params)
  8984. //
  8985. // err := req.Send()
  8986. // if err == nil { // resp is now filled
  8987. // fmt.Println(resp)
  8988. // }
  8989. //
  8990. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  8991. func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
  8992. op := &request.Operation{
  8993. Name: opDescribeNetworkInterfaces,
  8994. HTTPMethod: "POST",
  8995. HTTPPath: "/",
  8996. }
  8997. if input == nil {
  8998. input = &DescribeNetworkInterfacesInput{}
  8999. }
  9000. output = &DescribeNetworkInterfacesOutput{}
  9001. req = c.newRequest(op, input, output)
  9002. return
  9003. }
  9004. // DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
  9005. //
  9006. // Describes one or more of your network interfaces.
  9007. //
  9008. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9009. // with awserr.Error's Code and Message methods to get detailed information about
  9010. // the error.
  9011. //
  9012. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9013. // API operation DescribeNetworkInterfaces for usage and error information.
  9014. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
  9015. func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
  9016. req, out := c.DescribeNetworkInterfacesRequest(input)
  9017. return out, req.Send()
  9018. }
  9019. // DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
  9020. // the ability to pass a context and additional request options.
  9021. //
  9022. // See DescribeNetworkInterfaces for details on how to use this API operation.
  9023. //
  9024. // The context must be non-nil and will be used for request cancellation. If
  9025. // the context is nil a panic will occur. In the future the SDK may create
  9026. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9027. // for more information on using Contexts.
  9028. func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
  9029. req, out := c.DescribeNetworkInterfacesRequest(input)
  9030. req.SetContext(ctx)
  9031. req.ApplyOptions(opts...)
  9032. return out, req.Send()
  9033. }
  9034. const opDescribePlacementGroups = "DescribePlacementGroups"
  9035. // DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
  9036. // client's request for the DescribePlacementGroups operation. The "output" return
  9037. // value can be used to capture response data after the request's "Send" method
  9038. // is called.
  9039. //
  9040. // See DescribePlacementGroups for usage and error information.
  9041. //
  9042. // Creating a request object using this method should be used when you want to inject
  9043. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9044. // access properties on the request object before or after sending the request. If
  9045. // you just want the service response, call the DescribePlacementGroups method directly
  9046. // instead.
  9047. //
  9048. // Note: You must call the "Send" method on the returned request object in order
  9049. // to execute the request.
  9050. //
  9051. // // Example sending a request using the DescribePlacementGroupsRequest method.
  9052. // req, resp := client.DescribePlacementGroupsRequest(params)
  9053. //
  9054. // err := req.Send()
  9055. // if err == nil { // resp is now filled
  9056. // fmt.Println(resp)
  9057. // }
  9058. //
  9059. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  9060. func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
  9061. op := &request.Operation{
  9062. Name: opDescribePlacementGroups,
  9063. HTTPMethod: "POST",
  9064. HTTPPath: "/",
  9065. }
  9066. if input == nil {
  9067. input = &DescribePlacementGroupsInput{}
  9068. }
  9069. output = &DescribePlacementGroupsOutput{}
  9070. req = c.newRequest(op, input, output)
  9071. return
  9072. }
  9073. // DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
  9074. //
  9075. // Describes one or more of your placement groups. For more information about
  9076. // placement groups and cluster instances, see Cluster Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html)
  9077. // in the Amazon Elastic Compute Cloud User Guide.
  9078. //
  9079. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9080. // with awserr.Error's Code and Message methods to get detailed information about
  9081. // the error.
  9082. //
  9083. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9084. // API operation DescribePlacementGroups for usage and error information.
  9085. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
  9086. func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
  9087. req, out := c.DescribePlacementGroupsRequest(input)
  9088. return out, req.Send()
  9089. }
  9090. // DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
  9091. // the ability to pass a context and additional request options.
  9092. //
  9093. // See DescribePlacementGroups for details on how to use this API operation.
  9094. //
  9095. // The context must be non-nil and will be used for request cancellation. If
  9096. // the context is nil a panic will occur. In the future the SDK may create
  9097. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9098. // for more information on using Contexts.
  9099. func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
  9100. req, out := c.DescribePlacementGroupsRequest(input)
  9101. req.SetContext(ctx)
  9102. req.ApplyOptions(opts...)
  9103. return out, req.Send()
  9104. }
  9105. const opDescribePrefixLists = "DescribePrefixLists"
  9106. // DescribePrefixListsRequest generates a "aws/request.Request" representing the
  9107. // client's request for the DescribePrefixLists operation. The "output" return
  9108. // value can be used to capture response data after the request's "Send" method
  9109. // is called.
  9110. //
  9111. // See DescribePrefixLists for usage and error information.
  9112. //
  9113. // Creating a request object using this method should be used when you want to inject
  9114. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9115. // access properties on the request object before or after sending the request. If
  9116. // you just want the service response, call the DescribePrefixLists method directly
  9117. // instead.
  9118. //
  9119. // Note: You must call the "Send" method on the returned request object in order
  9120. // to execute the request.
  9121. //
  9122. // // Example sending a request using the DescribePrefixListsRequest method.
  9123. // req, resp := client.DescribePrefixListsRequest(params)
  9124. //
  9125. // err := req.Send()
  9126. // if err == nil { // resp is now filled
  9127. // fmt.Println(resp)
  9128. // }
  9129. //
  9130. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  9131. func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
  9132. op := &request.Operation{
  9133. Name: opDescribePrefixLists,
  9134. HTTPMethod: "POST",
  9135. HTTPPath: "/",
  9136. }
  9137. if input == nil {
  9138. input = &DescribePrefixListsInput{}
  9139. }
  9140. output = &DescribePrefixListsOutput{}
  9141. req = c.newRequest(op, input, output)
  9142. return
  9143. }
  9144. // DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
  9145. //
  9146. // Describes available AWS services in a prefix list format, which includes
  9147. // the prefix list name and prefix list ID of the service and the IP address
  9148. // range for the service. A prefix list ID is required for creating an outbound
  9149. // security group rule that allows traffic from a VPC to access an AWS service
  9150. // through a VPC endpoint.
  9151. //
  9152. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9153. // with awserr.Error's Code and Message methods to get detailed information about
  9154. // the error.
  9155. //
  9156. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9157. // API operation DescribePrefixLists for usage and error information.
  9158. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
  9159. func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
  9160. req, out := c.DescribePrefixListsRequest(input)
  9161. return out, req.Send()
  9162. }
  9163. // DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
  9164. // the ability to pass a context and additional request options.
  9165. //
  9166. // See DescribePrefixLists for details on how to use this API operation.
  9167. //
  9168. // The context must be non-nil and will be used for request cancellation. If
  9169. // the context is nil a panic will occur. In the future the SDK may create
  9170. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9171. // for more information on using Contexts.
  9172. func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
  9173. req, out := c.DescribePrefixListsRequest(input)
  9174. req.SetContext(ctx)
  9175. req.ApplyOptions(opts...)
  9176. return out, req.Send()
  9177. }
  9178. const opDescribeRegions = "DescribeRegions"
  9179. // DescribeRegionsRequest generates a "aws/request.Request" representing the
  9180. // client's request for the DescribeRegions operation. The "output" return
  9181. // value can be used to capture response data after the request's "Send" method
  9182. // is called.
  9183. //
  9184. // See DescribeRegions for usage and error information.
  9185. //
  9186. // Creating a request object using this method should be used when you want to inject
  9187. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9188. // access properties on the request object before or after sending the request. If
  9189. // you just want the service response, call the DescribeRegions method directly
  9190. // instead.
  9191. //
  9192. // Note: You must call the "Send" method on the returned request object in order
  9193. // to execute the request.
  9194. //
  9195. // // Example sending a request using the DescribeRegionsRequest method.
  9196. // req, resp := client.DescribeRegionsRequest(params)
  9197. //
  9198. // err := req.Send()
  9199. // if err == nil { // resp is now filled
  9200. // fmt.Println(resp)
  9201. // }
  9202. //
  9203. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  9204. func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
  9205. op := &request.Operation{
  9206. Name: opDescribeRegions,
  9207. HTTPMethod: "POST",
  9208. HTTPPath: "/",
  9209. }
  9210. if input == nil {
  9211. input = &DescribeRegionsInput{}
  9212. }
  9213. output = &DescribeRegionsOutput{}
  9214. req = c.newRequest(op, input, output)
  9215. return
  9216. }
  9217. // DescribeRegions API operation for Amazon Elastic Compute Cloud.
  9218. //
  9219. // Describes one or more regions that are currently available to you.
  9220. //
  9221. // For a list of the regions supported by Amazon EC2, see Regions and Endpoints
  9222. // (http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
  9223. //
  9224. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9225. // with awserr.Error's Code and Message methods to get detailed information about
  9226. // the error.
  9227. //
  9228. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9229. // API operation DescribeRegions for usage and error information.
  9230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
  9231. func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
  9232. req, out := c.DescribeRegionsRequest(input)
  9233. return out, req.Send()
  9234. }
  9235. // DescribeRegionsWithContext is the same as DescribeRegions with the addition of
  9236. // the ability to pass a context and additional request options.
  9237. //
  9238. // See DescribeRegions for details on how to use this API operation.
  9239. //
  9240. // The context must be non-nil and will be used for request cancellation. If
  9241. // the context is nil a panic will occur. In the future the SDK may create
  9242. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9243. // for more information on using Contexts.
  9244. func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
  9245. req, out := c.DescribeRegionsRequest(input)
  9246. req.SetContext(ctx)
  9247. req.ApplyOptions(opts...)
  9248. return out, req.Send()
  9249. }
  9250. const opDescribeReservedInstances = "DescribeReservedInstances"
  9251. // DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
  9252. // client's request for the DescribeReservedInstances operation. The "output" return
  9253. // value can be used to capture response data after the request's "Send" method
  9254. // is called.
  9255. //
  9256. // See DescribeReservedInstances for usage and error information.
  9257. //
  9258. // Creating a request object using this method should be used when you want to inject
  9259. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9260. // access properties on the request object before or after sending the request. If
  9261. // you just want the service response, call the DescribeReservedInstances method directly
  9262. // instead.
  9263. //
  9264. // Note: You must call the "Send" method on the returned request object in order
  9265. // to execute the request.
  9266. //
  9267. // // Example sending a request using the DescribeReservedInstancesRequest method.
  9268. // req, resp := client.DescribeReservedInstancesRequest(params)
  9269. //
  9270. // err := req.Send()
  9271. // if err == nil { // resp is now filled
  9272. // fmt.Println(resp)
  9273. // }
  9274. //
  9275. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  9276. func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
  9277. op := &request.Operation{
  9278. Name: opDescribeReservedInstances,
  9279. HTTPMethod: "POST",
  9280. HTTPPath: "/",
  9281. }
  9282. if input == nil {
  9283. input = &DescribeReservedInstancesInput{}
  9284. }
  9285. output = &DescribeReservedInstancesOutput{}
  9286. req = c.newRequest(op, input, output)
  9287. return
  9288. }
  9289. // DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
  9290. //
  9291. // Describes one or more of the Reserved Instances that you purchased.
  9292. //
  9293. // For more information about Reserved Instances, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  9294. // in the Amazon Elastic Compute Cloud User Guide.
  9295. //
  9296. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9297. // with awserr.Error's Code and Message methods to get detailed information about
  9298. // the error.
  9299. //
  9300. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9301. // API operation DescribeReservedInstances for usage and error information.
  9302. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
  9303. func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
  9304. req, out := c.DescribeReservedInstancesRequest(input)
  9305. return out, req.Send()
  9306. }
  9307. // DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
  9308. // the ability to pass a context and additional request options.
  9309. //
  9310. // See DescribeReservedInstances for details on how to use this API operation.
  9311. //
  9312. // The context must be non-nil and will be used for request cancellation. If
  9313. // the context is nil a panic will occur. In the future the SDK may create
  9314. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9315. // for more information on using Contexts.
  9316. func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
  9317. req, out := c.DescribeReservedInstancesRequest(input)
  9318. req.SetContext(ctx)
  9319. req.ApplyOptions(opts...)
  9320. return out, req.Send()
  9321. }
  9322. const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
  9323. // DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
  9324. // client's request for the DescribeReservedInstancesListings operation. The "output" return
  9325. // value can be used to capture response data after the request's "Send" method
  9326. // is called.
  9327. //
  9328. // See DescribeReservedInstancesListings for usage and error information.
  9329. //
  9330. // Creating a request object using this method should be used when you want to inject
  9331. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9332. // access properties on the request object before or after sending the request. If
  9333. // you just want the service response, call the DescribeReservedInstancesListings method directly
  9334. // instead.
  9335. //
  9336. // Note: You must call the "Send" method on the returned request object in order
  9337. // to execute the request.
  9338. //
  9339. // // Example sending a request using the DescribeReservedInstancesListingsRequest method.
  9340. // req, resp := client.DescribeReservedInstancesListingsRequest(params)
  9341. //
  9342. // err := req.Send()
  9343. // if err == nil { // resp is now filled
  9344. // fmt.Println(resp)
  9345. // }
  9346. //
  9347. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  9348. func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
  9349. op := &request.Operation{
  9350. Name: opDescribeReservedInstancesListings,
  9351. HTTPMethod: "POST",
  9352. HTTPPath: "/",
  9353. }
  9354. if input == nil {
  9355. input = &DescribeReservedInstancesListingsInput{}
  9356. }
  9357. output = &DescribeReservedInstancesListingsOutput{}
  9358. req = c.newRequest(op, input, output)
  9359. return
  9360. }
  9361. // DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
  9362. //
  9363. // Describes your account's Reserved Instance listings in the Reserved Instance
  9364. // Marketplace.
  9365. //
  9366. // The Reserved Instance Marketplace matches sellers who want to resell Reserved
  9367. // Instance capacity that they no longer need with buyers who want to purchase
  9368. // additional capacity. Reserved Instances bought and sold through the Reserved
  9369. // Instance Marketplace work like any other Reserved Instances.
  9370. //
  9371. // As a seller, you choose to list some or all of your Reserved Instances, and
  9372. // you specify the upfront price to receive for them. Your Reserved Instances
  9373. // are then listed in the Reserved Instance Marketplace and are available for
  9374. // purchase.
  9375. //
  9376. // As a buyer, you specify the configuration of the Reserved Instance to purchase,
  9377. // and the Marketplace matches what you're searching for with what's available.
  9378. // The Marketplace first sells the lowest priced Reserved Instances to you,
  9379. // and continues to sell available Reserved Instance listings to you until your
  9380. // demand is met. You are charged based on the total price of all of the listings
  9381. // that you purchase.
  9382. //
  9383. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  9384. // in the Amazon Elastic Compute Cloud User Guide.
  9385. //
  9386. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9387. // with awserr.Error's Code and Message methods to get detailed information about
  9388. // the error.
  9389. //
  9390. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9391. // API operation DescribeReservedInstancesListings for usage and error information.
  9392. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
  9393. func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
  9394. req, out := c.DescribeReservedInstancesListingsRequest(input)
  9395. return out, req.Send()
  9396. }
  9397. // DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
  9398. // the ability to pass a context and additional request options.
  9399. //
  9400. // See DescribeReservedInstancesListings for details on how to use this API operation.
  9401. //
  9402. // The context must be non-nil and will be used for request cancellation. If
  9403. // the context is nil a panic will occur. In the future the SDK may create
  9404. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9405. // for more information on using Contexts.
  9406. func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
  9407. req, out := c.DescribeReservedInstancesListingsRequest(input)
  9408. req.SetContext(ctx)
  9409. req.ApplyOptions(opts...)
  9410. return out, req.Send()
  9411. }
  9412. const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
  9413. // DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
  9414. // client's request for the DescribeReservedInstancesModifications operation. The "output" return
  9415. // value can be used to capture response data after the request's "Send" method
  9416. // is called.
  9417. //
  9418. // See DescribeReservedInstancesModifications for usage and error information.
  9419. //
  9420. // Creating a request object using this method should be used when you want to inject
  9421. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9422. // access properties on the request object before or after sending the request. If
  9423. // you just want the service response, call the DescribeReservedInstancesModifications method directly
  9424. // instead.
  9425. //
  9426. // Note: You must call the "Send" method on the returned request object in order
  9427. // to execute the request.
  9428. //
  9429. // // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
  9430. // req, resp := client.DescribeReservedInstancesModificationsRequest(params)
  9431. //
  9432. // err := req.Send()
  9433. // if err == nil { // resp is now filled
  9434. // fmt.Println(resp)
  9435. // }
  9436. //
  9437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  9438. func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
  9439. op := &request.Operation{
  9440. Name: opDescribeReservedInstancesModifications,
  9441. HTTPMethod: "POST",
  9442. HTTPPath: "/",
  9443. Paginator: &request.Paginator{
  9444. InputTokens: []string{"NextToken"},
  9445. OutputTokens: []string{"NextToken"},
  9446. LimitToken: "",
  9447. TruncationToken: "",
  9448. },
  9449. }
  9450. if input == nil {
  9451. input = &DescribeReservedInstancesModificationsInput{}
  9452. }
  9453. output = &DescribeReservedInstancesModificationsOutput{}
  9454. req = c.newRequest(op, input, output)
  9455. return
  9456. }
  9457. // DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
  9458. //
  9459. // Describes the modifications made to your Reserved Instances. If no parameter
  9460. // is specified, information about all your Reserved Instances modification
  9461. // requests is returned. If a modification ID is specified, only information
  9462. // about the specific modification is returned.
  9463. //
  9464. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  9465. // in the Amazon Elastic Compute Cloud User Guide.
  9466. //
  9467. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9468. // with awserr.Error's Code and Message methods to get detailed information about
  9469. // the error.
  9470. //
  9471. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9472. // API operation DescribeReservedInstancesModifications for usage and error information.
  9473. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
  9474. func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
  9475. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  9476. return out, req.Send()
  9477. }
  9478. // DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
  9479. // the ability to pass a context and additional request options.
  9480. //
  9481. // See DescribeReservedInstancesModifications for details on how to use this API operation.
  9482. //
  9483. // The context must be non-nil and will be used for request cancellation. If
  9484. // the context is nil a panic will occur. In the future the SDK may create
  9485. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9486. // for more information on using Contexts.
  9487. func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
  9488. req, out := c.DescribeReservedInstancesModificationsRequest(input)
  9489. req.SetContext(ctx)
  9490. req.ApplyOptions(opts...)
  9491. return out, req.Send()
  9492. }
  9493. // DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
  9494. // calling the "fn" function with the response data for each page. To stop
  9495. // iterating, return false from the fn function.
  9496. //
  9497. // See DescribeReservedInstancesModifications method for more information on how to use this operation.
  9498. //
  9499. // Note: This operation can generate multiple requests to a service.
  9500. //
  9501. // // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
  9502. // pageNum := 0
  9503. // err := client.DescribeReservedInstancesModificationsPages(params,
  9504. // func(page *DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
  9505. // pageNum++
  9506. // fmt.Println(page)
  9507. // return pageNum <= 3
  9508. // })
  9509. //
  9510. func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
  9511. return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
  9512. }
  9513. // DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
  9514. // it takes a Context and allows setting request options on the pages.
  9515. //
  9516. // The context must be non-nil and will be used for request cancellation. If
  9517. // the context is nil a panic will occur. In the future the SDK may create
  9518. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9519. // for more information on using Contexts.
  9520. func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
  9521. p := request.Pagination{
  9522. NewRequest: func() (*request.Request, error) {
  9523. var inCpy *DescribeReservedInstancesModificationsInput
  9524. if input != nil {
  9525. tmp := *input
  9526. inCpy = &tmp
  9527. }
  9528. req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
  9529. req.SetContext(ctx)
  9530. req.ApplyOptions(opts...)
  9531. return req, nil
  9532. },
  9533. }
  9534. cont := true
  9535. for p.Next() && cont {
  9536. cont = fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage())
  9537. }
  9538. return p.Err()
  9539. }
  9540. const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
  9541. // DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
  9542. // client's request for the DescribeReservedInstancesOfferings operation. The "output" return
  9543. // value can be used to capture response data after the request's "Send" method
  9544. // is called.
  9545. //
  9546. // See DescribeReservedInstancesOfferings for usage and error information.
  9547. //
  9548. // Creating a request object using this method should be used when you want to inject
  9549. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9550. // access properties on the request object before or after sending the request. If
  9551. // you just want the service response, call the DescribeReservedInstancesOfferings method directly
  9552. // instead.
  9553. //
  9554. // Note: You must call the "Send" method on the returned request object in order
  9555. // to execute the request.
  9556. //
  9557. // // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
  9558. // req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
  9559. //
  9560. // err := req.Send()
  9561. // if err == nil { // resp is now filled
  9562. // fmt.Println(resp)
  9563. // }
  9564. //
  9565. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  9566. func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
  9567. op := &request.Operation{
  9568. Name: opDescribeReservedInstancesOfferings,
  9569. HTTPMethod: "POST",
  9570. HTTPPath: "/",
  9571. Paginator: &request.Paginator{
  9572. InputTokens: []string{"NextToken"},
  9573. OutputTokens: []string{"NextToken"},
  9574. LimitToken: "MaxResults",
  9575. TruncationToken: "",
  9576. },
  9577. }
  9578. if input == nil {
  9579. input = &DescribeReservedInstancesOfferingsInput{}
  9580. }
  9581. output = &DescribeReservedInstancesOfferingsOutput{}
  9582. req = c.newRequest(op, input, output)
  9583. return
  9584. }
  9585. // DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
  9586. //
  9587. // Describes Reserved Instance offerings that are available for purchase. With
  9588. // Reserved Instances, you purchase the right to launch instances for a period
  9589. // of time. During that time period, you do not receive insufficient capacity
  9590. // errors, and you pay a lower usage rate than the rate charged for On-Demand
  9591. // instances for the actual time used.
  9592. //
  9593. // If you have listed your own Reserved Instances for sale in the Reserved Instance
  9594. // Marketplace, they will be excluded from these results. This is to ensure
  9595. // that you do not purchase your own Reserved Instances.
  9596. //
  9597. // For more information, see Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  9598. // in the Amazon Elastic Compute Cloud User Guide.
  9599. //
  9600. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9601. // with awserr.Error's Code and Message methods to get detailed information about
  9602. // the error.
  9603. //
  9604. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9605. // API operation DescribeReservedInstancesOfferings for usage and error information.
  9606. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
  9607. func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
  9608. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  9609. return out, req.Send()
  9610. }
  9611. // DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
  9612. // the ability to pass a context and additional request options.
  9613. //
  9614. // See DescribeReservedInstancesOfferings for details on how to use this API operation.
  9615. //
  9616. // The context must be non-nil and will be used for request cancellation. If
  9617. // the context is nil a panic will occur. In the future the SDK may create
  9618. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9619. // for more information on using Contexts.
  9620. func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
  9621. req, out := c.DescribeReservedInstancesOfferingsRequest(input)
  9622. req.SetContext(ctx)
  9623. req.ApplyOptions(opts...)
  9624. return out, req.Send()
  9625. }
  9626. // DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
  9627. // calling the "fn" function with the response data for each page. To stop
  9628. // iterating, return false from the fn function.
  9629. //
  9630. // See DescribeReservedInstancesOfferings method for more information on how to use this operation.
  9631. //
  9632. // Note: This operation can generate multiple requests to a service.
  9633. //
  9634. // // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
  9635. // pageNum := 0
  9636. // err := client.DescribeReservedInstancesOfferingsPages(params,
  9637. // func(page *DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
  9638. // pageNum++
  9639. // fmt.Println(page)
  9640. // return pageNum <= 3
  9641. // })
  9642. //
  9643. func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
  9644. return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  9645. }
  9646. // DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
  9647. // it takes a Context and allows setting request options on the pages.
  9648. //
  9649. // The context must be non-nil and will be used for request cancellation. If
  9650. // the context is nil a panic will occur. In the future the SDK may create
  9651. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9652. // for more information on using Contexts.
  9653. func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  9654. p := request.Pagination{
  9655. NewRequest: func() (*request.Request, error) {
  9656. var inCpy *DescribeReservedInstancesOfferingsInput
  9657. if input != nil {
  9658. tmp := *input
  9659. inCpy = &tmp
  9660. }
  9661. req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
  9662. req.SetContext(ctx)
  9663. req.ApplyOptions(opts...)
  9664. return req, nil
  9665. },
  9666. }
  9667. cont := true
  9668. for p.Next() && cont {
  9669. cont = fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage())
  9670. }
  9671. return p.Err()
  9672. }
  9673. const opDescribeRouteTables = "DescribeRouteTables"
  9674. // DescribeRouteTablesRequest generates a "aws/request.Request" representing the
  9675. // client's request for the DescribeRouteTables operation. The "output" return
  9676. // value can be used to capture response data after the request's "Send" method
  9677. // is called.
  9678. //
  9679. // See DescribeRouteTables for usage and error information.
  9680. //
  9681. // Creating a request object using this method should be used when you want to inject
  9682. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9683. // access properties on the request object before or after sending the request. If
  9684. // you just want the service response, call the DescribeRouteTables method directly
  9685. // instead.
  9686. //
  9687. // Note: You must call the "Send" method on the returned request object in order
  9688. // to execute the request.
  9689. //
  9690. // // Example sending a request using the DescribeRouteTablesRequest method.
  9691. // req, resp := client.DescribeRouteTablesRequest(params)
  9692. //
  9693. // err := req.Send()
  9694. // if err == nil { // resp is now filled
  9695. // fmt.Println(resp)
  9696. // }
  9697. //
  9698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  9699. func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
  9700. op := &request.Operation{
  9701. Name: opDescribeRouteTables,
  9702. HTTPMethod: "POST",
  9703. HTTPPath: "/",
  9704. }
  9705. if input == nil {
  9706. input = &DescribeRouteTablesInput{}
  9707. }
  9708. output = &DescribeRouteTablesOutput{}
  9709. req = c.newRequest(op, input, output)
  9710. return
  9711. }
  9712. // DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
  9713. //
  9714. // Describes one or more of your route tables.
  9715. //
  9716. // Each subnet in your VPC must be associated with a route table. If a subnet
  9717. // is not explicitly associated with any route table, it is implicitly associated
  9718. // with the main route table. This command does not return the subnet ID for
  9719. // implicit associations.
  9720. //
  9721. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  9722. // in the Amazon Virtual Private Cloud User Guide.
  9723. //
  9724. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9725. // with awserr.Error's Code and Message methods to get detailed information about
  9726. // the error.
  9727. //
  9728. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9729. // API operation DescribeRouteTables for usage and error information.
  9730. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
  9731. func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
  9732. req, out := c.DescribeRouteTablesRequest(input)
  9733. return out, req.Send()
  9734. }
  9735. // DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
  9736. // the ability to pass a context and additional request options.
  9737. //
  9738. // See DescribeRouteTables for details on how to use this API operation.
  9739. //
  9740. // The context must be non-nil and will be used for request cancellation. If
  9741. // the context is nil a panic will occur. In the future the SDK may create
  9742. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9743. // for more information on using Contexts.
  9744. func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
  9745. req, out := c.DescribeRouteTablesRequest(input)
  9746. req.SetContext(ctx)
  9747. req.ApplyOptions(opts...)
  9748. return out, req.Send()
  9749. }
  9750. const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
  9751. // DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
  9752. // client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
  9753. // value can be used to capture response data after the request's "Send" method
  9754. // is called.
  9755. //
  9756. // See DescribeScheduledInstanceAvailability for usage and error information.
  9757. //
  9758. // Creating a request object using this method should be used when you want to inject
  9759. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9760. // access properties on the request object before or after sending the request. If
  9761. // you just want the service response, call the DescribeScheduledInstanceAvailability method directly
  9762. // instead.
  9763. //
  9764. // Note: You must call the "Send" method on the returned request object in order
  9765. // to execute the request.
  9766. //
  9767. // // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
  9768. // req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
  9769. //
  9770. // err := req.Send()
  9771. // if err == nil { // resp is now filled
  9772. // fmt.Println(resp)
  9773. // }
  9774. //
  9775. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  9776. func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
  9777. op := &request.Operation{
  9778. Name: opDescribeScheduledInstanceAvailability,
  9779. HTTPMethod: "POST",
  9780. HTTPPath: "/",
  9781. }
  9782. if input == nil {
  9783. input = &DescribeScheduledInstanceAvailabilityInput{}
  9784. }
  9785. output = &DescribeScheduledInstanceAvailabilityOutput{}
  9786. req = c.newRequest(op, input, output)
  9787. return
  9788. }
  9789. // DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
  9790. //
  9791. // Finds available schedules that meet the specified criteria.
  9792. //
  9793. // You can search for an available schedule no more than 3 months in advance.
  9794. // You must meet the minimum required duration of 1,200 hours per year. For
  9795. // example, the minimum daily schedule is 4 hours, the minimum weekly schedule
  9796. // is 24 hours, and the minimum monthly schedule is 100 hours.
  9797. //
  9798. // After you find a schedule that meets your needs, call PurchaseScheduledInstances
  9799. // to purchase Scheduled Instances with that schedule.
  9800. //
  9801. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9802. // with awserr.Error's Code and Message methods to get detailed information about
  9803. // the error.
  9804. //
  9805. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9806. // API operation DescribeScheduledInstanceAvailability for usage and error information.
  9807. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
  9808. func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  9809. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  9810. return out, req.Send()
  9811. }
  9812. // DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
  9813. // the ability to pass a context and additional request options.
  9814. //
  9815. // See DescribeScheduledInstanceAvailability for details on how to use this API operation.
  9816. //
  9817. // The context must be non-nil and will be used for request cancellation. If
  9818. // the context is nil a panic will occur. In the future the SDK may create
  9819. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9820. // for more information on using Contexts.
  9821. func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
  9822. req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
  9823. req.SetContext(ctx)
  9824. req.ApplyOptions(opts...)
  9825. return out, req.Send()
  9826. }
  9827. const opDescribeScheduledInstances = "DescribeScheduledInstances"
  9828. // DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
  9829. // client's request for the DescribeScheduledInstances operation. The "output" return
  9830. // value can be used to capture response data after the request's "Send" method
  9831. // is called.
  9832. //
  9833. // See DescribeScheduledInstances for usage and error information.
  9834. //
  9835. // Creating a request object using this method should be used when you want to inject
  9836. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9837. // access properties on the request object before or after sending the request. If
  9838. // you just want the service response, call the DescribeScheduledInstances method directly
  9839. // instead.
  9840. //
  9841. // Note: You must call the "Send" method on the returned request object in order
  9842. // to execute the request.
  9843. //
  9844. // // Example sending a request using the DescribeScheduledInstancesRequest method.
  9845. // req, resp := client.DescribeScheduledInstancesRequest(params)
  9846. //
  9847. // err := req.Send()
  9848. // if err == nil { // resp is now filled
  9849. // fmt.Println(resp)
  9850. // }
  9851. //
  9852. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  9853. func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
  9854. op := &request.Operation{
  9855. Name: opDescribeScheduledInstances,
  9856. HTTPMethod: "POST",
  9857. HTTPPath: "/",
  9858. }
  9859. if input == nil {
  9860. input = &DescribeScheduledInstancesInput{}
  9861. }
  9862. output = &DescribeScheduledInstancesOutput{}
  9863. req = c.newRequest(op, input, output)
  9864. return
  9865. }
  9866. // DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
  9867. //
  9868. // Describes one or more of your Scheduled Instances.
  9869. //
  9870. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9871. // with awserr.Error's Code and Message methods to get detailed information about
  9872. // the error.
  9873. //
  9874. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9875. // API operation DescribeScheduledInstances for usage and error information.
  9876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
  9877. func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
  9878. req, out := c.DescribeScheduledInstancesRequest(input)
  9879. return out, req.Send()
  9880. }
  9881. // DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
  9882. // the ability to pass a context and additional request options.
  9883. //
  9884. // See DescribeScheduledInstances for details on how to use this API operation.
  9885. //
  9886. // The context must be non-nil and will be used for request cancellation. If
  9887. // the context is nil a panic will occur. In the future the SDK may create
  9888. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9889. // for more information on using Contexts.
  9890. func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
  9891. req, out := c.DescribeScheduledInstancesRequest(input)
  9892. req.SetContext(ctx)
  9893. req.ApplyOptions(opts...)
  9894. return out, req.Send()
  9895. }
  9896. const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
  9897. // DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
  9898. // client's request for the DescribeSecurityGroupReferences operation. The "output" return
  9899. // value can be used to capture response data after the request's "Send" method
  9900. // is called.
  9901. //
  9902. // See DescribeSecurityGroupReferences for usage and error information.
  9903. //
  9904. // Creating a request object using this method should be used when you want to inject
  9905. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9906. // access properties on the request object before or after sending the request. If
  9907. // you just want the service response, call the DescribeSecurityGroupReferences method directly
  9908. // instead.
  9909. //
  9910. // Note: You must call the "Send" method on the returned request object in order
  9911. // to execute the request.
  9912. //
  9913. // // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
  9914. // req, resp := client.DescribeSecurityGroupReferencesRequest(params)
  9915. //
  9916. // err := req.Send()
  9917. // if err == nil { // resp is now filled
  9918. // fmt.Println(resp)
  9919. // }
  9920. //
  9921. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  9922. func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
  9923. op := &request.Operation{
  9924. Name: opDescribeSecurityGroupReferences,
  9925. HTTPMethod: "POST",
  9926. HTTPPath: "/",
  9927. }
  9928. if input == nil {
  9929. input = &DescribeSecurityGroupReferencesInput{}
  9930. }
  9931. output = &DescribeSecurityGroupReferencesOutput{}
  9932. req = c.newRequest(op, input, output)
  9933. return
  9934. }
  9935. // DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
  9936. //
  9937. // [EC2-VPC only] Describes the VPCs on the other side of a VPC peering connection
  9938. // that are referencing the security groups you've specified in this request.
  9939. //
  9940. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9941. // with awserr.Error's Code and Message methods to get detailed information about
  9942. // the error.
  9943. //
  9944. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  9945. // API operation DescribeSecurityGroupReferences for usage and error information.
  9946. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
  9947. func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
  9948. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  9949. return out, req.Send()
  9950. }
  9951. // DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
  9952. // the ability to pass a context and additional request options.
  9953. //
  9954. // See DescribeSecurityGroupReferences for details on how to use this API operation.
  9955. //
  9956. // The context must be non-nil and will be used for request cancellation. If
  9957. // the context is nil a panic will occur. In the future the SDK may create
  9958. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9959. // for more information on using Contexts.
  9960. func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
  9961. req, out := c.DescribeSecurityGroupReferencesRequest(input)
  9962. req.SetContext(ctx)
  9963. req.ApplyOptions(opts...)
  9964. return out, req.Send()
  9965. }
  9966. const opDescribeSecurityGroups = "DescribeSecurityGroups"
  9967. // DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
  9968. // client's request for the DescribeSecurityGroups operation. The "output" return
  9969. // value can be used to capture response data after the request's "Send" method
  9970. // is called.
  9971. //
  9972. // See DescribeSecurityGroups for usage and error information.
  9973. //
  9974. // Creating a request object using this method should be used when you want to inject
  9975. // custom logic into the request's lifecycle using a custom handler, or if you want to
  9976. // access properties on the request object before or after sending the request. If
  9977. // you just want the service response, call the DescribeSecurityGroups method directly
  9978. // instead.
  9979. //
  9980. // Note: You must call the "Send" method on the returned request object in order
  9981. // to execute the request.
  9982. //
  9983. // // Example sending a request using the DescribeSecurityGroupsRequest method.
  9984. // req, resp := client.DescribeSecurityGroupsRequest(params)
  9985. //
  9986. // err := req.Send()
  9987. // if err == nil { // resp is now filled
  9988. // fmt.Println(resp)
  9989. // }
  9990. //
  9991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  9992. func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
  9993. op := &request.Operation{
  9994. Name: opDescribeSecurityGroups,
  9995. HTTPMethod: "POST",
  9996. HTTPPath: "/",
  9997. }
  9998. if input == nil {
  9999. input = &DescribeSecurityGroupsInput{}
  10000. }
  10001. output = &DescribeSecurityGroupsOutput{}
  10002. req = c.newRequest(op, input, output)
  10003. return
  10004. }
  10005. // DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
  10006. //
  10007. // Describes one or more of your security groups.
  10008. //
  10009. // A security group is for use with instances either in the EC2-Classic platform
  10010. // or in a specific VPC. For more information, see Amazon EC2 Security Groups
  10011. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
  10012. // in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
  10013. // VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
  10014. // in the Amazon Virtual Private Cloud User Guide.
  10015. //
  10016. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10017. // with awserr.Error's Code and Message methods to get detailed information about
  10018. // the error.
  10019. //
  10020. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10021. // API operation DescribeSecurityGroups for usage and error information.
  10022. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
  10023. func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
  10024. req, out := c.DescribeSecurityGroupsRequest(input)
  10025. return out, req.Send()
  10026. }
  10027. // DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
  10028. // the ability to pass a context and additional request options.
  10029. //
  10030. // See DescribeSecurityGroups for details on how to use this API operation.
  10031. //
  10032. // The context must be non-nil and will be used for request cancellation. If
  10033. // the context is nil a panic will occur. In the future the SDK may create
  10034. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10035. // for more information on using Contexts.
  10036. func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
  10037. req, out := c.DescribeSecurityGroupsRequest(input)
  10038. req.SetContext(ctx)
  10039. req.ApplyOptions(opts...)
  10040. return out, req.Send()
  10041. }
  10042. const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
  10043. // DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
  10044. // client's request for the DescribeSnapshotAttribute operation. The "output" return
  10045. // value can be used to capture response data after the request's "Send" method
  10046. // is called.
  10047. //
  10048. // See DescribeSnapshotAttribute for usage and error information.
  10049. //
  10050. // Creating a request object using this method should be used when you want to inject
  10051. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10052. // access properties on the request object before or after sending the request. If
  10053. // you just want the service response, call the DescribeSnapshotAttribute method directly
  10054. // instead.
  10055. //
  10056. // Note: You must call the "Send" method on the returned request object in order
  10057. // to execute the request.
  10058. //
  10059. // // Example sending a request using the DescribeSnapshotAttributeRequest method.
  10060. // req, resp := client.DescribeSnapshotAttributeRequest(params)
  10061. //
  10062. // err := req.Send()
  10063. // if err == nil { // resp is now filled
  10064. // fmt.Println(resp)
  10065. // }
  10066. //
  10067. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  10068. func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
  10069. op := &request.Operation{
  10070. Name: opDescribeSnapshotAttribute,
  10071. HTTPMethod: "POST",
  10072. HTTPPath: "/",
  10073. }
  10074. if input == nil {
  10075. input = &DescribeSnapshotAttributeInput{}
  10076. }
  10077. output = &DescribeSnapshotAttributeOutput{}
  10078. req = c.newRequest(op, input, output)
  10079. return
  10080. }
  10081. // DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  10082. //
  10083. // Describes the specified attribute of the specified snapshot. You can specify
  10084. // only one attribute at a time.
  10085. //
  10086. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  10087. // in the Amazon Elastic Compute Cloud User Guide.
  10088. //
  10089. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10090. // with awserr.Error's Code and Message methods to get detailed information about
  10091. // the error.
  10092. //
  10093. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10094. // API operation DescribeSnapshotAttribute for usage and error information.
  10095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
  10096. func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
  10097. req, out := c.DescribeSnapshotAttributeRequest(input)
  10098. return out, req.Send()
  10099. }
  10100. // DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
  10101. // the ability to pass a context and additional request options.
  10102. //
  10103. // See DescribeSnapshotAttribute for details on how to use this API operation.
  10104. //
  10105. // The context must be non-nil and will be used for request cancellation. If
  10106. // the context is nil a panic will occur. In the future the SDK may create
  10107. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10108. // for more information on using Contexts.
  10109. func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
  10110. req, out := c.DescribeSnapshotAttributeRequest(input)
  10111. req.SetContext(ctx)
  10112. req.ApplyOptions(opts...)
  10113. return out, req.Send()
  10114. }
  10115. const opDescribeSnapshots = "DescribeSnapshots"
  10116. // DescribeSnapshotsRequest generates a "aws/request.Request" representing the
  10117. // client's request for the DescribeSnapshots operation. The "output" return
  10118. // value can be used to capture response data after the request's "Send" method
  10119. // is called.
  10120. //
  10121. // See DescribeSnapshots for usage and error information.
  10122. //
  10123. // Creating a request object using this method should be used when you want to inject
  10124. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10125. // access properties on the request object before or after sending the request. If
  10126. // you just want the service response, call the DescribeSnapshots method directly
  10127. // instead.
  10128. //
  10129. // Note: You must call the "Send" method on the returned request object in order
  10130. // to execute the request.
  10131. //
  10132. // // Example sending a request using the DescribeSnapshotsRequest method.
  10133. // req, resp := client.DescribeSnapshotsRequest(params)
  10134. //
  10135. // err := req.Send()
  10136. // if err == nil { // resp is now filled
  10137. // fmt.Println(resp)
  10138. // }
  10139. //
  10140. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  10141. func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
  10142. op := &request.Operation{
  10143. Name: opDescribeSnapshots,
  10144. HTTPMethod: "POST",
  10145. HTTPPath: "/",
  10146. Paginator: &request.Paginator{
  10147. InputTokens: []string{"NextToken"},
  10148. OutputTokens: []string{"NextToken"},
  10149. LimitToken: "MaxResults",
  10150. TruncationToken: "",
  10151. },
  10152. }
  10153. if input == nil {
  10154. input = &DescribeSnapshotsInput{}
  10155. }
  10156. output = &DescribeSnapshotsOutput{}
  10157. req = c.newRequest(op, input, output)
  10158. return
  10159. }
  10160. // DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
  10161. //
  10162. // Describes one or more of the EBS snapshots available to you. Available snapshots
  10163. // include public snapshots available for any AWS account to launch, private
  10164. // snapshots that you own, and private snapshots owned by another AWS account
  10165. // but for which you've been given explicit create volume permissions.
  10166. //
  10167. // The create volume permissions fall into the following categories:
  10168. //
  10169. // * public: The owner of the snapshot granted create volume permissions
  10170. // for the snapshot to the all group. All AWS accounts have create volume
  10171. // permissions for these snapshots.
  10172. //
  10173. // * explicit: The owner of the snapshot granted create volume permissions
  10174. // to a specific AWS account.
  10175. //
  10176. // * implicit: An AWS account has implicit create volume permissions for
  10177. // all snapshots it owns.
  10178. //
  10179. // The list of snapshots returned can be modified by specifying snapshot IDs,
  10180. // snapshot owners, or AWS accounts with create volume permissions. If no options
  10181. // are specified, Amazon EC2 returns all snapshots for which you have create
  10182. // volume permissions.
  10183. //
  10184. // If you specify one or more snapshot IDs, only snapshots that have the specified
  10185. // IDs are returned. If you specify an invalid snapshot ID, an error is returned.
  10186. // If you specify a snapshot ID for which you do not have access, it is not
  10187. // included in the returned results.
  10188. //
  10189. // If you specify one or more snapshot owners using the OwnerIds option, only
  10190. // snapshots from the specified owners and for which you have access are returned.
  10191. // The results can include the AWS account IDs of the specified owners, amazon
  10192. // for snapshots owned by Amazon, or self for snapshots that you own.
  10193. //
  10194. // If you specify a list of restorable users, only snapshots with create snapshot
  10195. // permissions for those users are returned. You can specify AWS account IDs
  10196. // (if you own the snapshots), self for snapshots for which you own or have
  10197. // explicit permissions, or all for public snapshots.
  10198. //
  10199. // If you are describing a long list of snapshots, you can paginate the output
  10200. // to make the list more manageable. The MaxResults parameter sets the maximum
  10201. // number of results returned in a single page. If the list of results exceeds
  10202. // your MaxResults value, then that number of results is returned along with
  10203. // a NextToken value that can be passed to a subsequent DescribeSnapshots request
  10204. // to retrieve the remaining results.
  10205. //
  10206. // For more information about EBS snapshots, see Amazon EBS Snapshots (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
  10207. // in the Amazon Elastic Compute Cloud User Guide.
  10208. //
  10209. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10210. // with awserr.Error's Code and Message methods to get detailed information about
  10211. // the error.
  10212. //
  10213. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10214. // API operation DescribeSnapshots for usage and error information.
  10215. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
  10216. func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
  10217. req, out := c.DescribeSnapshotsRequest(input)
  10218. return out, req.Send()
  10219. }
  10220. // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
  10221. // the ability to pass a context and additional request options.
  10222. //
  10223. // See DescribeSnapshots for details on how to use this API operation.
  10224. //
  10225. // The context must be non-nil and will be used for request cancellation. If
  10226. // the context is nil a panic will occur. In the future the SDK may create
  10227. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10228. // for more information on using Contexts.
  10229. func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
  10230. req, out := c.DescribeSnapshotsRequest(input)
  10231. req.SetContext(ctx)
  10232. req.ApplyOptions(opts...)
  10233. return out, req.Send()
  10234. }
  10235. // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
  10236. // calling the "fn" function with the response data for each page. To stop
  10237. // iterating, return false from the fn function.
  10238. //
  10239. // See DescribeSnapshots method for more information on how to use this operation.
  10240. //
  10241. // Note: This operation can generate multiple requests to a service.
  10242. //
  10243. // // Example iterating over at most 3 pages of a DescribeSnapshots operation.
  10244. // pageNum := 0
  10245. // err := client.DescribeSnapshotsPages(params,
  10246. // func(page *DescribeSnapshotsOutput, lastPage bool) bool {
  10247. // pageNum++
  10248. // fmt.Println(page)
  10249. // return pageNum <= 3
  10250. // })
  10251. //
  10252. func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
  10253. return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  10254. }
  10255. // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
  10256. // it takes a Context and allows setting request options on the pages.
  10257. //
  10258. // The context must be non-nil and will be used for request cancellation. If
  10259. // the context is nil a panic will occur. In the future the SDK may create
  10260. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10261. // for more information on using Contexts.
  10262. func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
  10263. p := request.Pagination{
  10264. NewRequest: func() (*request.Request, error) {
  10265. var inCpy *DescribeSnapshotsInput
  10266. if input != nil {
  10267. tmp := *input
  10268. inCpy = &tmp
  10269. }
  10270. req, _ := c.DescribeSnapshotsRequest(inCpy)
  10271. req.SetContext(ctx)
  10272. req.ApplyOptions(opts...)
  10273. return req, nil
  10274. },
  10275. }
  10276. cont := true
  10277. for p.Next() && cont {
  10278. cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage())
  10279. }
  10280. return p.Err()
  10281. }
  10282. const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
  10283. // DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
  10284. // client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
  10285. // value can be used to capture response data after the request's "Send" method
  10286. // is called.
  10287. //
  10288. // See DescribeSpotDatafeedSubscription for usage and error information.
  10289. //
  10290. // Creating a request object using this method should be used when you want to inject
  10291. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10292. // access properties on the request object before or after sending the request. If
  10293. // you just want the service response, call the DescribeSpotDatafeedSubscription method directly
  10294. // instead.
  10295. //
  10296. // Note: You must call the "Send" method on the returned request object in order
  10297. // to execute the request.
  10298. //
  10299. // // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
  10300. // req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
  10301. //
  10302. // err := req.Send()
  10303. // if err == nil { // resp is now filled
  10304. // fmt.Println(resp)
  10305. // }
  10306. //
  10307. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  10308. func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
  10309. op := &request.Operation{
  10310. Name: opDescribeSpotDatafeedSubscription,
  10311. HTTPMethod: "POST",
  10312. HTTPPath: "/",
  10313. }
  10314. if input == nil {
  10315. input = &DescribeSpotDatafeedSubscriptionInput{}
  10316. }
  10317. output = &DescribeSpotDatafeedSubscriptionOutput{}
  10318. req = c.newRequest(op, input, output)
  10319. return
  10320. }
  10321. // DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
  10322. //
  10323. // Describes the data feed for Spot instances. For more information, see Spot
  10324. // Instance Data Feed (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
  10325. // in the Amazon Elastic Compute Cloud User Guide.
  10326. //
  10327. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10328. // with awserr.Error's Code and Message methods to get detailed information about
  10329. // the error.
  10330. //
  10331. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10332. // API operation DescribeSpotDatafeedSubscription for usage and error information.
  10333. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
  10334. func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  10335. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  10336. return out, req.Send()
  10337. }
  10338. // DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
  10339. // the ability to pass a context and additional request options.
  10340. //
  10341. // See DescribeSpotDatafeedSubscription for details on how to use this API operation.
  10342. //
  10343. // The context must be non-nil and will be used for request cancellation. If
  10344. // the context is nil a panic will occur. In the future the SDK may create
  10345. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10346. // for more information on using Contexts.
  10347. func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
  10348. req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
  10349. req.SetContext(ctx)
  10350. req.ApplyOptions(opts...)
  10351. return out, req.Send()
  10352. }
  10353. const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
  10354. // DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
  10355. // client's request for the DescribeSpotFleetInstances operation. The "output" return
  10356. // value can be used to capture response data after the request's "Send" method
  10357. // is called.
  10358. //
  10359. // See DescribeSpotFleetInstances for usage and error information.
  10360. //
  10361. // Creating a request object using this method should be used when you want to inject
  10362. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10363. // access properties on the request object before or after sending the request. If
  10364. // you just want the service response, call the DescribeSpotFleetInstances method directly
  10365. // instead.
  10366. //
  10367. // Note: You must call the "Send" method on the returned request object in order
  10368. // to execute the request.
  10369. //
  10370. // // Example sending a request using the DescribeSpotFleetInstancesRequest method.
  10371. // req, resp := client.DescribeSpotFleetInstancesRequest(params)
  10372. //
  10373. // err := req.Send()
  10374. // if err == nil { // resp is now filled
  10375. // fmt.Println(resp)
  10376. // }
  10377. //
  10378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  10379. func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
  10380. op := &request.Operation{
  10381. Name: opDescribeSpotFleetInstances,
  10382. HTTPMethod: "POST",
  10383. HTTPPath: "/",
  10384. }
  10385. if input == nil {
  10386. input = &DescribeSpotFleetInstancesInput{}
  10387. }
  10388. output = &DescribeSpotFleetInstancesOutput{}
  10389. req = c.newRequest(op, input, output)
  10390. return
  10391. }
  10392. // DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
  10393. //
  10394. // Describes the running instances for the specified Spot fleet.
  10395. //
  10396. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10397. // with awserr.Error's Code and Message methods to get detailed information about
  10398. // the error.
  10399. //
  10400. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10401. // API operation DescribeSpotFleetInstances for usage and error information.
  10402. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
  10403. func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
  10404. req, out := c.DescribeSpotFleetInstancesRequest(input)
  10405. return out, req.Send()
  10406. }
  10407. // DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
  10408. // the ability to pass a context and additional request options.
  10409. //
  10410. // See DescribeSpotFleetInstances for details on how to use this API operation.
  10411. //
  10412. // The context must be non-nil and will be used for request cancellation. If
  10413. // the context is nil a panic will occur. In the future the SDK may create
  10414. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10415. // for more information on using Contexts.
  10416. func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
  10417. req, out := c.DescribeSpotFleetInstancesRequest(input)
  10418. req.SetContext(ctx)
  10419. req.ApplyOptions(opts...)
  10420. return out, req.Send()
  10421. }
  10422. const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
  10423. // DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
  10424. // client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
  10425. // value can be used to capture response data after the request's "Send" method
  10426. // is called.
  10427. //
  10428. // See DescribeSpotFleetRequestHistory for usage and error information.
  10429. //
  10430. // Creating a request object using this method should be used when you want to inject
  10431. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10432. // access properties on the request object before or after sending the request. If
  10433. // you just want the service response, call the DescribeSpotFleetRequestHistory method directly
  10434. // instead.
  10435. //
  10436. // Note: You must call the "Send" method on the returned request object in order
  10437. // to execute the request.
  10438. //
  10439. // // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
  10440. // req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
  10441. //
  10442. // err := req.Send()
  10443. // if err == nil { // resp is now filled
  10444. // fmt.Println(resp)
  10445. // }
  10446. //
  10447. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  10448. func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
  10449. op := &request.Operation{
  10450. Name: opDescribeSpotFleetRequestHistory,
  10451. HTTPMethod: "POST",
  10452. HTTPPath: "/",
  10453. }
  10454. if input == nil {
  10455. input = &DescribeSpotFleetRequestHistoryInput{}
  10456. }
  10457. output = &DescribeSpotFleetRequestHistoryOutput{}
  10458. req = c.newRequest(op, input, output)
  10459. return
  10460. }
  10461. // DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
  10462. //
  10463. // Describes the events for the specified Spot fleet request during the specified
  10464. // time.
  10465. //
  10466. // Spot fleet events are delayed by up to 30 seconds before they can be described.
  10467. // This ensures that you can query by the last evaluated time and not miss a
  10468. // recorded event.
  10469. //
  10470. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10471. // with awserr.Error's Code and Message methods to get detailed information about
  10472. // the error.
  10473. //
  10474. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10475. // API operation DescribeSpotFleetRequestHistory for usage and error information.
  10476. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
  10477. func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
  10478. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  10479. return out, req.Send()
  10480. }
  10481. // DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
  10482. // the ability to pass a context and additional request options.
  10483. //
  10484. // See DescribeSpotFleetRequestHistory for details on how to use this API operation.
  10485. //
  10486. // The context must be non-nil and will be used for request cancellation. If
  10487. // the context is nil a panic will occur. In the future the SDK may create
  10488. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10489. // for more information on using Contexts.
  10490. func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
  10491. req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
  10492. req.SetContext(ctx)
  10493. req.ApplyOptions(opts...)
  10494. return out, req.Send()
  10495. }
  10496. const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
  10497. // DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
  10498. // client's request for the DescribeSpotFleetRequests operation. The "output" return
  10499. // value can be used to capture response data after the request's "Send" method
  10500. // is called.
  10501. //
  10502. // See DescribeSpotFleetRequests for usage and error information.
  10503. //
  10504. // Creating a request object using this method should be used when you want to inject
  10505. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10506. // access properties on the request object before or after sending the request. If
  10507. // you just want the service response, call the DescribeSpotFleetRequests method directly
  10508. // instead.
  10509. //
  10510. // Note: You must call the "Send" method on the returned request object in order
  10511. // to execute the request.
  10512. //
  10513. // // Example sending a request using the DescribeSpotFleetRequestsRequest method.
  10514. // req, resp := client.DescribeSpotFleetRequestsRequest(params)
  10515. //
  10516. // err := req.Send()
  10517. // if err == nil { // resp is now filled
  10518. // fmt.Println(resp)
  10519. // }
  10520. //
  10521. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  10522. func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
  10523. op := &request.Operation{
  10524. Name: opDescribeSpotFleetRequests,
  10525. HTTPMethod: "POST",
  10526. HTTPPath: "/",
  10527. Paginator: &request.Paginator{
  10528. InputTokens: []string{"NextToken"},
  10529. OutputTokens: []string{"NextToken"},
  10530. LimitToken: "MaxResults",
  10531. TruncationToken: "",
  10532. },
  10533. }
  10534. if input == nil {
  10535. input = &DescribeSpotFleetRequestsInput{}
  10536. }
  10537. output = &DescribeSpotFleetRequestsOutput{}
  10538. req = c.newRequest(op, input, output)
  10539. return
  10540. }
  10541. // DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
  10542. //
  10543. // Describes your Spot fleet requests.
  10544. //
  10545. // Spot fleet requests are deleted 48 hours after they are canceled and their
  10546. // instances are terminated.
  10547. //
  10548. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10549. // with awserr.Error's Code and Message methods to get detailed information about
  10550. // the error.
  10551. //
  10552. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10553. // API operation DescribeSpotFleetRequests for usage and error information.
  10554. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
  10555. func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
  10556. req, out := c.DescribeSpotFleetRequestsRequest(input)
  10557. return out, req.Send()
  10558. }
  10559. // DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
  10560. // the ability to pass a context and additional request options.
  10561. //
  10562. // See DescribeSpotFleetRequests for details on how to use this API operation.
  10563. //
  10564. // The context must be non-nil and will be used for request cancellation. If
  10565. // the context is nil a panic will occur. In the future the SDK may create
  10566. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10567. // for more information on using Contexts.
  10568. func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
  10569. req, out := c.DescribeSpotFleetRequestsRequest(input)
  10570. req.SetContext(ctx)
  10571. req.ApplyOptions(opts...)
  10572. return out, req.Send()
  10573. }
  10574. // DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
  10575. // calling the "fn" function with the response data for each page. To stop
  10576. // iterating, return false from the fn function.
  10577. //
  10578. // See DescribeSpotFleetRequests method for more information on how to use this operation.
  10579. //
  10580. // Note: This operation can generate multiple requests to a service.
  10581. //
  10582. // // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
  10583. // pageNum := 0
  10584. // err := client.DescribeSpotFleetRequestsPages(params,
  10585. // func(page *DescribeSpotFleetRequestsOutput, lastPage bool) bool {
  10586. // pageNum++
  10587. // fmt.Println(page)
  10588. // return pageNum <= 3
  10589. // })
  10590. //
  10591. func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
  10592. return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
  10593. }
  10594. // DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
  10595. // it takes a Context and allows setting request options on the pages.
  10596. //
  10597. // The context must be non-nil and will be used for request cancellation. If
  10598. // the context is nil a panic will occur. In the future the SDK may create
  10599. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10600. // for more information on using Contexts.
  10601. func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
  10602. p := request.Pagination{
  10603. NewRequest: func() (*request.Request, error) {
  10604. var inCpy *DescribeSpotFleetRequestsInput
  10605. if input != nil {
  10606. tmp := *input
  10607. inCpy = &tmp
  10608. }
  10609. req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
  10610. req.SetContext(ctx)
  10611. req.ApplyOptions(opts...)
  10612. return req, nil
  10613. },
  10614. }
  10615. cont := true
  10616. for p.Next() && cont {
  10617. cont = fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage())
  10618. }
  10619. return p.Err()
  10620. }
  10621. const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
  10622. // DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
  10623. // client's request for the DescribeSpotInstanceRequests operation. The "output" return
  10624. // value can be used to capture response data after the request's "Send" method
  10625. // is called.
  10626. //
  10627. // See DescribeSpotInstanceRequests for usage and error information.
  10628. //
  10629. // Creating a request object using this method should be used when you want to inject
  10630. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10631. // access properties on the request object before or after sending the request. If
  10632. // you just want the service response, call the DescribeSpotInstanceRequests method directly
  10633. // instead.
  10634. //
  10635. // Note: You must call the "Send" method on the returned request object in order
  10636. // to execute the request.
  10637. //
  10638. // // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
  10639. // req, resp := client.DescribeSpotInstanceRequestsRequest(params)
  10640. //
  10641. // err := req.Send()
  10642. // if err == nil { // resp is now filled
  10643. // fmt.Println(resp)
  10644. // }
  10645. //
  10646. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  10647. func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
  10648. op := &request.Operation{
  10649. Name: opDescribeSpotInstanceRequests,
  10650. HTTPMethod: "POST",
  10651. HTTPPath: "/",
  10652. }
  10653. if input == nil {
  10654. input = &DescribeSpotInstanceRequestsInput{}
  10655. }
  10656. output = &DescribeSpotInstanceRequestsOutput{}
  10657. req = c.newRequest(op, input, output)
  10658. return
  10659. }
  10660. // DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
  10661. //
  10662. // Describes the Spot instance requests that belong to your account. Spot instances
  10663. // are instances that Amazon EC2 launches when the bid price that you specify
  10664. // exceeds the current Spot price. Amazon EC2 periodically sets the Spot price
  10665. // based on available Spot instance capacity and current Spot instance requests.
  10666. // For more information, see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  10667. // in the Amazon Elastic Compute Cloud User Guide.
  10668. //
  10669. // You can use DescribeSpotInstanceRequests to find a running Spot instance
  10670. // by examining the response. If the status of the Spot instance is fulfilled,
  10671. // the instance ID appears in the response and contains the identifier of the
  10672. // instance. Alternatively, you can use DescribeInstances with a filter to look
  10673. // for instances where the instance lifecycle is spot.
  10674. //
  10675. // Spot instance requests are deleted 4 hours after they are canceled and their
  10676. // instances are terminated.
  10677. //
  10678. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10679. // with awserr.Error's Code and Message methods to get detailed information about
  10680. // the error.
  10681. //
  10682. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10683. // API operation DescribeSpotInstanceRequests for usage and error information.
  10684. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
  10685. func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
  10686. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  10687. return out, req.Send()
  10688. }
  10689. // DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
  10690. // the ability to pass a context and additional request options.
  10691. //
  10692. // See DescribeSpotInstanceRequests for details on how to use this API operation.
  10693. //
  10694. // The context must be non-nil and will be used for request cancellation. If
  10695. // the context is nil a panic will occur. In the future the SDK may create
  10696. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10697. // for more information on using Contexts.
  10698. func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
  10699. req, out := c.DescribeSpotInstanceRequestsRequest(input)
  10700. req.SetContext(ctx)
  10701. req.ApplyOptions(opts...)
  10702. return out, req.Send()
  10703. }
  10704. const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
  10705. // DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
  10706. // client's request for the DescribeSpotPriceHistory operation. The "output" return
  10707. // value can be used to capture response data after the request's "Send" method
  10708. // is called.
  10709. //
  10710. // See DescribeSpotPriceHistory for usage and error information.
  10711. //
  10712. // Creating a request object using this method should be used when you want to inject
  10713. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10714. // access properties on the request object before or after sending the request. If
  10715. // you just want the service response, call the DescribeSpotPriceHistory method directly
  10716. // instead.
  10717. //
  10718. // Note: You must call the "Send" method on the returned request object in order
  10719. // to execute the request.
  10720. //
  10721. // // Example sending a request using the DescribeSpotPriceHistoryRequest method.
  10722. // req, resp := client.DescribeSpotPriceHistoryRequest(params)
  10723. //
  10724. // err := req.Send()
  10725. // if err == nil { // resp is now filled
  10726. // fmt.Println(resp)
  10727. // }
  10728. //
  10729. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  10730. func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
  10731. op := &request.Operation{
  10732. Name: opDescribeSpotPriceHistory,
  10733. HTTPMethod: "POST",
  10734. HTTPPath: "/",
  10735. Paginator: &request.Paginator{
  10736. InputTokens: []string{"NextToken"},
  10737. OutputTokens: []string{"NextToken"},
  10738. LimitToken: "MaxResults",
  10739. TruncationToken: "",
  10740. },
  10741. }
  10742. if input == nil {
  10743. input = &DescribeSpotPriceHistoryInput{}
  10744. }
  10745. output = &DescribeSpotPriceHistoryOutput{}
  10746. req = c.newRequest(op, input, output)
  10747. return
  10748. }
  10749. // DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
  10750. //
  10751. // Describes the Spot price history. For more information, see Spot Instance
  10752. // Pricing History (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
  10753. // in the Amazon Elastic Compute Cloud User Guide.
  10754. //
  10755. // When you specify a start and end time, this operation returns the prices
  10756. // of the instance types within the time range that you specified and the time
  10757. // when the price changed. The price is valid within the time period that you
  10758. // specified; the response merely indicates the last time that the price changed.
  10759. //
  10760. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10761. // with awserr.Error's Code and Message methods to get detailed information about
  10762. // the error.
  10763. //
  10764. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10765. // API operation DescribeSpotPriceHistory for usage and error information.
  10766. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
  10767. func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
  10768. req, out := c.DescribeSpotPriceHistoryRequest(input)
  10769. return out, req.Send()
  10770. }
  10771. // DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
  10772. // the ability to pass a context and additional request options.
  10773. //
  10774. // See DescribeSpotPriceHistory for details on how to use this API operation.
  10775. //
  10776. // The context must be non-nil and will be used for request cancellation. If
  10777. // the context is nil a panic will occur. In the future the SDK may create
  10778. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10779. // for more information on using Contexts.
  10780. func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
  10781. req, out := c.DescribeSpotPriceHistoryRequest(input)
  10782. req.SetContext(ctx)
  10783. req.ApplyOptions(opts...)
  10784. return out, req.Send()
  10785. }
  10786. // DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
  10787. // calling the "fn" function with the response data for each page. To stop
  10788. // iterating, return false from the fn function.
  10789. //
  10790. // See DescribeSpotPriceHistory method for more information on how to use this operation.
  10791. //
  10792. // Note: This operation can generate multiple requests to a service.
  10793. //
  10794. // // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
  10795. // pageNum := 0
  10796. // err := client.DescribeSpotPriceHistoryPages(params,
  10797. // func(page *DescribeSpotPriceHistoryOutput, lastPage bool) bool {
  10798. // pageNum++
  10799. // fmt.Println(page)
  10800. // return pageNum <= 3
  10801. // })
  10802. //
  10803. func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
  10804. return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
  10805. }
  10806. // DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
  10807. // it takes a Context and allows setting request options on the pages.
  10808. //
  10809. // The context must be non-nil and will be used for request cancellation. If
  10810. // the context is nil a panic will occur. In the future the SDK may create
  10811. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10812. // for more information on using Contexts.
  10813. func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
  10814. p := request.Pagination{
  10815. NewRequest: func() (*request.Request, error) {
  10816. var inCpy *DescribeSpotPriceHistoryInput
  10817. if input != nil {
  10818. tmp := *input
  10819. inCpy = &tmp
  10820. }
  10821. req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
  10822. req.SetContext(ctx)
  10823. req.ApplyOptions(opts...)
  10824. return req, nil
  10825. },
  10826. }
  10827. cont := true
  10828. for p.Next() && cont {
  10829. cont = fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage())
  10830. }
  10831. return p.Err()
  10832. }
  10833. const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
  10834. // DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
  10835. // client's request for the DescribeStaleSecurityGroups operation. The "output" return
  10836. // value can be used to capture response data after the request's "Send" method
  10837. // is called.
  10838. //
  10839. // See DescribeStaleSecurityGroups for usage and error information.
  10840. //
  10841. // Creating a request object using this method should be used when you want to inject
  10842. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10843. // access properties on the request object before or after sending the request. If
  10844. // you just want the service response, call the DescribeStaleSecurityGroups method directly
  10845. // instead.
  10846. //
  10847. // Note: You must call the "Send" method on the returned request object in order
  10848. // to execute the request.
  10849. //
  10850. // // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
  10851. // req, resp := client.DescribeStaleSecurityGroupsRequest(params)
  10852. //
  10853. // err := req.Send()
  10854. // if err == nil { // resp is now filled
  10855. // fmt.Println(resp)
  10856. // }
  10857. //
  10858. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  10859. func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
  10860. op := &request.Operation{
  10861. Name: opDescribeStaleSecurityGroups,
  10862. HTTPMethod: "POST",
  10863. HTTPPath: "/",
  10864. }
  10865. if input == nil {
  10866. input = &DescribeStaleSecurityGroupsInput{}
  10867. }
  10868. output = &DescribeStaleSecurityGroupsOutput{}
  10869. req = c.newRequest(op, input, output)
  10870. return
  10871. }
  10872. // DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
  10873. //
  10874. // [EC2-VPC only] Describes the stale security group rules for security groups
  10875. // in a specified VPC. Rules are stale when they reference a deleted security
  10876. // group in a peer VPC, or a security group in a peer VPC for which the VPC
  10877. // peering connection has been deleted.
  10878. //
  10879. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10880. // with awserr.Error's Code and Message methods to get detailed information about
  10881. // the error.
  10882. //
  10883. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10884. // API operation DescribeStaleSecurityGroups for usage and error information.
  10885. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
  10886. func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
  10887. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  10888. return out, req.Send()
  10889. }
  10890. // DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
  10891. // the ability to pass a context and additional request options.
  10892. //
  10893. // See DescribeStaleSecurityGroups for details on how to use this API operation.
  10894. //
  10895. // The context must be non-nil and will be used for request cancellation. If
  10896. // the context is nil a panic will occur. In the future the SDK may create
  10897. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10898. // for more information on using Contexts.
  10899. func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
  10900. req, out := c.DescribeStaleSecurityGroupsRequest(input)
  10901. req.SetContext(ctx)
  10902. req.ApplyOptions(opts...)
  10903. return out, req.Send()
  10904. }
  10905. const opDescribeSubnets = "DescribeSubnets"
  10906. // DescribeSubnetsRequest generates a "aws/request.Request" representing the
  10907. // client's request for the DescribeSubnets operation. The "output" return
  10908. // value can be used to capture response data after the request's "Send" method
  10909. // is called.
  10910. //
  10911. // See DescribeSubnets for usage and error information.
  10912. //
  10913. // Creating a request object using this method should be used when you want to inject
  10914. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10915. // access properties on the request object before or after sending the request. If
  10916. // you just want the service response, call the DescribeSubnets method directly
  10917. // instead.
  10918. //
  10919. // Note: You must call the "Send" method on the returned request object in order
  10920. // to execute the request.
  10921. //
  10922. // // Example sending a request using the DescribeSubnetsRequest method.
  10923. // req, resp := client.DescribeSubnetsRequest(params)
  10924. //
  10925. // err := req.Send()
  10926. // if err == nil { // resp is now filled
  10927. // fmt.Println(resp)
  10928. // }
  10929. //
  10930. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  10931. func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
  10932. op := &request.Operation{
  10933. Name: opDescribeSubnets,
  10934. HTTPMethod: "POST",
  10935. HTTPPath: "/",
  10936. }
  10937. if input == nil {
  10938. input = &DescribeSubnetsInput{}
  10939. }
  10940. output = &DescribeSubnetsOutput{}
  10941. req = c.newRequest(op, input, output)
  10942. return
  10943. }
  10944. // DescribeSubnets API operation for Amazon Elastic Compute Cloud.
  10945. //
  10946. // Describes one or more of your subnets.
  10947. //
  10948. // For more information about subnets, see Your VPC and Subnets (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html)
  10949. // in the Amazon Virtual Private Cloud User Guide.
  10950. //
  10951. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  10952. // with awserr.Error's Code and Message methods to get detailed information about
  10953. // the error.
  10954. //
  10955. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  10956. // API operation DescribeSubnets for usage and error information.
  10957. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
  10958. func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
  10959. req, out := c.DescribeSubnetsRequest(input)
  10960. return out, req.Send()
  10961. }
  10962. // DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
  10963. // the ability to pass a context and additional request options.
  10964. //
  10965. // See DescribeSubnets for details on how to use this API operation.
  10966. //
  10967. // The context must be non-nil and will be used for request cancellation. If
  10968. // the context is nil a panic will occur. In the future the SDK may create
  10969. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  10970. // for more information on using Contexts.
  10971. func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
  10972. req, out := c.DescribeSubnetsRequest(input)
  10973. req.SetContext(ctx)
  10974. req.ApplyOptions(opts...)
  10975. return out, req.Send()
  10976. }
  10977. const opDescribeTags = "DescribeTags"
  10978. // DescribeTagsRequest generates a "aws/request.Request" representing the
  10979. // client's request for the DescribeTags operation. The "output" return
  10980. // value can be used to capture response data after the request's "Send" method
  10981. // is called.
  10982. //
  10983. // See DescribeTags for usage and error information.
  10984. //
  10985. // Creating a request object using this method should be used when you want to inject
  10986. // custom logic into the request's lifecycle using a custom handler, or if you want to
  10987. // access properties on the request object before or after sending the request. If
  10988. // you just want the service response, call the DescribeTags method directly
  10989. // instead.
  10990. //
  10991. // Note: You must call the "Send" method on the returned request object in order
  10992. // to execute the request.
  10993. //
  10994. // // Example sending a request using the DescribeTagsRequest method.
  10995. // req, resp := client.DescribeTagsRequest(params)
  10996. //
  10997. // err := req.Send()
  10998. // if err == nil { // resp is now filled
  10999. // fmt.Println(resp)
  11000. // }
  11001. //
  11002. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  11003. func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
  11004. op := &request.Operation{
  11005. Name: opDescribeTags,
  11006. HTTPMethod: "POST",
  11007. HTTPPath: "/",
  11008. Paginator: &request.Paginator{
  11009. InputTokens: []string{"NextToken"},
  11010. OutputTokens: []string{"NextToken"},
  11011. LimitToken: "MaxResults",
  11012. TruncationToken: "",
  11013. },
  11014. }
  11015. if input == nil {
  11016. input = &DescribeTagsInput{}
  11017. }
  11018. output = &DescribeTagsOutput{}
  11019. req = c.newRequest(op, input, output)
  11020. return
  11021. }
  11022. // DescribeTags API operation for Amazon Elastic Compute Cloud.
  11023. //
  11024. // Describes one or more of the tags for your EC2 resources.
  11025. //
  11026. // For more information about tags, see Tagging Your Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
  11027. // in the Amazon Elastic Compute Cloud User Guide.
  11028. //
  11029. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11030. // with awserr.Error's Code and Message methods to get detailed information about
  11031. // the error.
  11032. //
  11033. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11034. // API operation DescribeTags for usage and error information.
  11035. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
  11036. func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
  11037. req, out := c.DescribeTagsRequest(input)
  11038. return out, req.Send()
  11039. }
  11040. // DescribeTagsWithContext is the same as DescribeTags with the addition of
  11041. // the ability to pass a context and additional request options.
  11042. //
  11043. // See DescribeTags for details on how to use this API operation.
  11044. //
  11045. // The context must be non-nil and will be used for request cancellation. If
  11046. // the context is nil a panic will occur. In the future the SDK may create
  11047. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11048. // for more information on using Contexts.
  11049. func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
  11050. req, out := c.DescribeTagsRequest(input)
  11051. req.SetContext(ctx)
  11052. req.ApplyOptions(opts...)
  11053. return out, req.Send()
  11054. }
  11055. // DescribeTagsPages iterates over the pages of a DescribeTags operation,
  11056. // calling the "fn" function with the response data for each page. To stop
  11057. // iterating, return false from the fn function.
  11058. //
  11059. // See DescribeTags method for more information on how to use this operation.
  11060. //
  11061. // Note: This operation can generate multiple requests to a service.
  11062. //
  11063. // // Example iterating over at most 3 pages of a DescribeTags operation.
  11064. // pageNum := 0
  11065. // err := client.DescribeTagsPages(params,
  11066. // func(page *DescribeTagsOutput, lastPage bool) bool {
  11067. // pageNum++
  11068. // fmt.Println(page)
  11069. // return pageNum <= 3
  11070. // })
  11071. //
  11072. func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
  11073. return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
  11074. }
  11075. // DescribeTagsPagesWithContext same as DescribeTagsPages except
  11076. // it takes a Context and allows setting request options on the pages.
  11077. //
  11078. // The context must be non-nil and will be used for request cancellation. If
  11079. // the context is nil a panic will occur. In the future the SDK may create
  11080. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11081. // for more information on using Contexts.
  11082. func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
  11083. p := request.Pagination{
  11084. NewRequest: func() (*request.Request, error) {
  11085. var inCpy *DescribeTagsInput
  11086. if input != nil {
  11087. tmp := *input
  11088. inCpy = &tmp
  11089. }
  11090. req, _ := c.DescribeTagsRequest(inCpy)
  11091. req.SetContext(ctx)
  11092. req.ApplyOptions(opts...)
  11093. return req, nil
  11094. },
  11095. }
  11096. cont := true
  11097. for p.Next() && cont {
  11098. cont = fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage())
  11099. }
  11100. return p.Err()
  11101. }
  11102. const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
  11103. // DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
  11104. // client's request for the DescribeVolumeAttribute operation. The "output" return
  11105. // value can be used to capture response data after the request's "Send" method
  11106. // is called.
  11107. //
  11108. // See DescribeVolumeAttribute for usage and error information.
  11109. //
  11110. // Creating a request object using this method should be used when you want to inject
  11111. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11112. // access properties on the request object before or after sending the request. If
  11113. // you just want the service response, call the DescribeVolumeAttribute method directly
  11114. // instead.
  11115. //
  11116. // Note: You must call the "Send" method on the returned request object in order
  11117. // to execute the request.
  11118. //
  11119. // // Example sending a request using the DescribeVolumeAttributeRequest method.
  11120. // req, resp := client.DescribeVolumeAttributeRequest(params)
  11121. //
  11122. // err := req.Send()
  11123. // if err == nil { // resp is now filled
  11124. // fmt.Println(resp)
  11125. // }
  11126. //
  11127. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  11128. func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
  11129. op := &request.Operation{
  11130. Name: opDescribeVolumeAttribute,
  11131. HTTPMethod: "POST",
  11132. HTTPPath: "/",
  11133. }
  11134. if input == nil {
  11135. input = &DescribeVolumeAttributeInput{}
  11136. }
  11137. output = &DescribeVolumeAttributeOutput{}
  11138. req = c.newRequest(op, input, output)
  11139. return
  11140. }
  11141. // DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  11142. //
  11143. // Describes the specified attribute of the specified volume. You can specify
  11144. // only one attribute at a time.
  11145. //
  11146. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  11147. // in the Amazon Elastic Compute Cloud User Guide.
  11148. //
  11149. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11150. // with awserr.Error's Code and Message methods to get detailed information about
  11151. // the error.
  11152. //
  11153. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11154. // API operation DescribeVolumeAttribute for usage and error information.
  11155. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
  11156. func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
  11157. req, out := c.DescribeVolumeAttributeRequest(input)
  11158. return out, req.Send()
  11159. }
  11160. // DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
  11161. // the ability to pass a context and additional request options.
  11162. //
  11163. // See DescribeVolumeAttribute for details on how to use this API operation.
  11164. //
  11165. // The context must be non-nil and will be used for request cancellation. If
  11166. // the context is nil a panic will occur. In the future the SDK may create
  11167. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11168. // for more information on using Contexts.
  11169. func (c *EC2) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
  11170. req, out := c.DescribeVolumeAttributeRequest(input)
  11171. req.SetContext(ctx)
  11172. req.ApplyOptions(opts...)
  11173. return out, req.Send()
  11174. }
  11175. const opDescribeVolumeStatus = "DescribeVolumeStatus"
  11176. // DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
  11177. // client's request for the DescribeVolumeStatus operation. The "output" return
  11178. // value can be used to capture response data after the request's "Send" method
  11179. // is called.
  11180. //
  11181. // See DescribeVolumeStatus for usage and error information.
  11182. //
  11183. // Creating a request object using this method should be used when you want to inject
  11184. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11185. // access properties on the request object before or after sending the request. If
  11186. // you just want the service response, call the DescribeVolumeStatus method directly
  11187. // instead.
  11188. //
  11189. // Note: You must call the "Send" method on the returned request object in order
  11190. // to execute the request.
  11191. //
  11192. // // Example sending a request using the DescribeVolumeStatusRequest method.
  11193. // req, resp := client.DescribeVolumeStatusRequest(params)
  11194. //
  11195. // err := req.Send()
  11196. // if err == nil { // resp is now filled
  11197. // fmt.Println(resp)
  11198. // }
  11199. //
  11200. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  11201. func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
  11202. op := &request.Operation{
  11203. Name: opDescribeVolumeStatus,
  11204. HTTPMethod: "POST",
  11205. HTTPPath: "/",
  11206. Paginator: &request.Paginator{
  11207. InputTokens: []string{"NextToken"},
  11208. OutputTokens: []string{"NextToken"},
  11209. LimitToken: "MaxResults",
  11210. TruncationToken: "",
  11211. },
  11212. }
  11213. if input == nil {
  11214. input = &DescribeVolumeStatusInput{}
  11215. }
  11216. output = &DescribeVolumeStatusOutput{}
  11217. req = c.newRequest(op, input, output)
  11218. return
  11219. }
  11220. // DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
  11221. //
  11222. // Describes the status of the specified volumes. Volume status provides the
  11223. // result of the checks performed on your volumes to determine events that can
  11224. // impair the performance of your volumes. The performance of a volume can be
  11225. // affected if an issue occurs on the volume's underlying host. If the volume's
  11226. // underlying host experiences a power outage or system issue, after the system
  11227. // is restored, there could be data inconsistencies on the volume. Volume events
  11228. // notify you if this occurs. Volume actions notify you if any action needs
  11229. // to be taken in response to the event.
  11230. //
  11231. // The DescribeVolumeStatus operation provides the following information about
  11232. // the specified volumes:
  11233. //
  11234. // Status: Reflects the current status of the volume. The possible values are
  11235. // ok, impaired , warning, or insufficient-data. If all checks pass, the overall
  11236. // status of the volume is ok. If the check fails, the overall status is impaired.
  11237. // If the status is insufficient-data, then the checks may still be taking place
  11238. // on your volume at the time. We recommend that you retry the request. For
  11239. // more information on volume status, see Monitoring the Status of Your Volumes
  11240. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html).
  11241. //
  11242. // Events: Reflect the cause of a volume status and may require you to take
  11243. // action. For example, if your volume returns an impaired status, then the
  11244. // volume event might be potential-data-inconsistency. This means that your
  11245. // volume has been affected by an issue with the underlying host, has all I/O
  11246. // operations disabled, and may have inconsistent data.
  11247. //
  11248. // Actions: Reflect the actions you may have to take in response to an event.
  11249. // For example, if the status of the volume is impaired and the volume event
  11250. // shows potential-data-inconsistency, then the action shows enable-volume-io.
  11251. // This means that you may want to enable the I/O operations for the volume
  11252. // by calling the EnableVolumeIO action and then check the volume for data consistency.
  11253. //
  11254. // Volume status is based on the volume status checks, and does not reflect
  11255. // the volume state. Therefore, volume status does not indicate volumes in the
  11256. // error state (for example, when a volume is incapable of accepting I/O.)
  11257. //
  11258. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11259. // with awserr.Error's Code and Message methods to get detailed information about
  11260. // the error.
  11261. //
  11262. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11263. // API operation DescribeVolumeStatus for usage and error information.
  11264. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
  11265. func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
  11266. req, out := c.DescribeVolumeStatusRequest(input)
  11267. return out, req.Send()
  11268. }
  11269. // DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
  11270. // the ability to pass a context and additional request options.
  11271. //
  11272. // See DescribeVolumeStatus for details on how to use this API operation.
  11273. //
  11274. // The context must be non-nil and will be used for request cancellation. If
  11275. // the context is nil a panic will occur. In the future the SDK may create
  11276. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11277. // for more information on using Contexts.
  11278. func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
  11279. req, out := c.DescribeVolumeStatusRequest(input)
  11280. req.SetContext(ctx)
  11281. req.ApplyOptions(opts...)
  11282. return out, req.Send()
  11283. }
  11284. // DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
  11285. // calling the "fn" function with the response data for each page. To stop
  11286. // iterating, return false from the fn function.
  11287. //
  11288. // See DescribeVolumeStatus method for more information on how to use this operation.
  11289. //
  11290. // Note: This operation can generate multiple requests to a service.
  11291. //
  11292. // // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
  11293. // pageNum := 0
  11294. // err := client.DescribeVolumeStatusPages(params,
  11295. // func(page *DescribeVolumeStatusOutput, lastPage bool) bool {
  11296. // pageNum++
  11297. // fmt.Println(page)
  11298. // return pageNum <= 3
  11299. // })
  11300. //
  11301. func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
  11302. return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
  11303. }
  11304. // DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
  11305. // it takes a Context and allows setting request options on the pages.
  11306. //
  11307. // The context must be non-nil and will be used for request cancellation. If
  11308. // the context is nil a panic will occur. In the future the SDK may create
  11309. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11310. // for more information on using Contexts.
  11311. func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
  11312. p := request.Pagination{
  11313. NewRequest: func() (*request.Request, error) {
  11314. var inCpy *DescribeVolumeStatusInput
  11315. if input != nil {
  11316. tmp := *input
  11317. inCpy = &tmp
  11318. }
  11319. req, _ := c.DescribeVolumeStatusRequest(inCpy)
  11320. req.SetContext(ctx)
  11321. req.ApplyOptions(opts...)
  11322. return req, nil
  11323. },
  11324. }
  11325. cont := true
  11326. for p.Next() && cont {
  11327. cont = fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage())
  11328. }
  11329. return p.Err()
  11330. }
  11331. const opDescribeVolumes = "DescribeVolumes"
  11332. // DescribeVolumesRequest generates a "aws/request.Request" representing the
  11333. // client's request for the DescribeVolumes operation. The "output" return
  11334. // value can be used to capture response data after the request's "Send" method
  11335. // is called.
  11336. //
  11337. // See DescribeVolumes for usage and error information.
  11338. //
  11339. // Creating a request object using this method should be used when you want to inject
  11340. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11341. // access properties on the request object before or after sending the request. If
  11342. // you just want the service response, call the DescribeVolumes method directly
  11343. // instead.
  11344. //
  11345. // Note: You must call the "Send" method on the returned request object in order
  11346. // to execute the request.
  11347. //
  11348. // // Example sending a request using the DescribeVolumesRequest method.
  11349. // req, resp := client.DescribeVolumesRequest(params)
  11350. //
  11351. // err := req.Send()
  11352. // if err == nil { // resp is now filled
  11353. // fmt.Println(resp)
  11354. // }
  11355. //
  11356. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  11357. func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
  11358. op := &request.Operation{
  11359. Name: opDescribeVolumes,
  11360. HTTPMethod: "POST",
  11361. HTTPPath: "/",
  11362. Paginator: &request.Paginator{
  11363. InputTokens: []string{"NextToken"},
  11364. OutputTokens: []string{"NextToken"},
  11365. LimitToken: "MaxResults",
  11366. TruncationToken: "",
  11367. },
  11368. }
  11369. if input == nil {
  11370. input = &DescribeVolumesInput{}
  11371. }
  11372. output = &DescribeVolumesOutput{}
  11373. req = c.newRequest(op, input, output)
  11374. return
  11375. }
  11376. // DescribeVolumes API operation for Amazon Elastic Compute Cloud.
  11377. //
  11378. // Describes the specified EBS volumes.
  11379. //
  11380. // If you are describing a long list of volumes, you can paginate the output
  11381. // to make the list more manageable. The MaxResults parameter sets the maximum
  11382. // number of results returned in a single page. If the list of results exceeds
  11383. // your MaxResults value, then that number of results is returned along with
  11384. // a NextToken value that can be passed to a subsequent DescribeVolumes request
  11385. // to retrieve the remaining results.
  11386. //
  11387. // For more information about EBS volumes, see Amazon EBS Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
  11388. // in the Amazon Elastic Compute Cloud User Guide.
  11389. //
  11390. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11391. // with awserr.Error's Code and Message methods to get detailed information about
  11392. // the error.
  11393. //
  11394. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11395. // API operation DescribeVolumes for usage and error information.
  11396. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
  11397. func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
  11398. req, out := c.DescribeVolumesRequest(input)
  11399. return out, req.Send()
  11400. }
  11401. // DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
  11402. // the ability to pass a context and additional request options.
  11403. //
  11404. // See DescribeVolumes for details on how to use this API operation.
  11405. //
  11406. // The context must be non-nil and will be used for request cancellation. If
  11407. // the context is nil a panic will occur. In the future the SDK may create
  11408. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11409. // for more information on using Contexts.
  11410. func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
  11411. req, out := c.DescribeVolumesRequest(input)
  11412. req.SetContext(ctx)
  11413. req.ApplyOptions(opts...)
  11414. return out, req.Send()
  11415. }
  11416. // DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
  11417. // calling the "fn" function with the response data for each page. To stop
  11418. // iterating, return false from the fn function.
  11419. //
  11420. // See DescribeVolumes method for more information on how to use this operation.
  11421. //
  11422. // Note: This operation can generate multiple requests to a service.
  11423. //
  11424. // // Example iterating over at most 3 pages of a DescribeVolumes operation.
  11425. // pageNum := 0
  11426. // err := client.DescribeVolumesPages(params,
  11427. // func(page *DescribeVolumesOutput, lastPage bool) bool {
  11428. // pageNum++
  11429. // fmt.Println(page)
  11430. // return pageNum <= 3
  11431. // })
  11432. //
  11433. func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
  11434. return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
  11435. }
  11436. // DescribeVolumesPagesWithContext same as DescribeVolumesPages except
  11437. // it takes a Context and allows setting request options on the pages.
  11438. //
  11439. // The context must be non-nil and will be used for request cancellation. If
  11440. // the context is nil a panic will occur. In the future the SDK may create
  11441. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11442. // for more information on using Contexts.
  11443. func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
  11444. p := request.Pagination{
  11445. NewRequest: func() (*request.Request, error) {
  11446. var inCpy *DescribeVolumesInput
  11447. if input != nil {
  11448. tmp := *input
  11449. inCpy = &tmp
  11450. }
  11451. req, _ := c.DescribeVolumesRequest(inCpy)
  11452. req.SetContext(ctx)
  11453. req.ApplyOptions(opts...)
  11454. return req, nil
  11455. },
  11456. }
  11457. cont := true
  11458. for p.Next() && cont {
  11459. cont = fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage())
  11460. }
  11461. return p.Err()
  11462. }
  11463. const opDescribeVolumesModifications = "DescribeVolumesModifications"
  11464. // DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
  11465. // client's request for the DescribeVolumesModifications operation. The "output" return
  11466. // value can be used to capture response data after the request's "Send" method
  11467. // is called.
  11468. //
  11469. // See DescribeVolumesModifications for usage and error information.
  11470. //
  11471. // Creating a request object using this method should be used when you want to inject
  11472. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11473. // access properties on the request object before or after sending the request. If
  11474. // you just want the service response, call the DescribeVolumesModifications method directly
  11475. // instead.
  11476. //
  11477. // Note: You must call the "Send" method on the returned request object in order
  11478. // to execute the request.
  11479. //
  11480. // // Example sending a request using the DescribeVolumesModificationsRequest method.
  11481. // req, resp := client.DescribeVolumesModificationsRequest(params)
  11482. //
  11483. // err := req.Send()
  11484. // if err == nil { // resp is now filled
  11485. // fmt.Println(resp)
  11486. // }
  11487. //
  11488. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  11489. func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
  11490. op := &request.Operation{
  11491. Name: opDescribeVolumesModifications,
  11492. HTTPMethod: "POST",
  11493. HTTPPath: "/",
  11494. }
  11495. if input == nil {
  11496. input = &DescribeVolumesModificationsInput{}
  11497. }
  11498. output = &DescribeVolumesModificationsOutput{}
  11499. req = c.newRequest(op, input, output)
  11500. return
  11501. }
  11502. // DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
  11503. //
  11504. // Reports the current modification status of EBS volumes.
  11505. //
  11506. // Current-generation EBS volumes support modification of attributes including
  11507. // type, size, and (for io1 volumes) IOPS provisioning while either attached
  11508. // to or detached from an instance. Following an action from the API or the
  11509. // console to modify a volume, the status of the modification may be modifying,
  11510. // optimizing, completed, or failed. If a volume has never been modified, then
  11511. // certain elements of the returned VolumeModification objects are null.
  11512. //
  11513. // You can also use CloudWatch Events to check the status of a modification
  11514. // to an EBS volume. For information about CloudWatch Events, see the Amazon
  11515. // CloudWatch Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  11516. // For more information, see Monitoring Volume Modifications" (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  11517. //
  11518. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11519. // with awserr.Error's Code and Message methods to get detailed information about
  11520. // the error.
  11521. //
  11522. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11523. // API operation DescribeVolumesModifications for usage and error information.
  11524. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
  11525. func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
  11526. req, out := c.DescribeVolumesModificationsRequest(input)
  11527. return out, req.Send()
  11528. }
  11529. // DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
  11530. // the ability to pass a context and additional request options.
  11531. //
  11532. // See DescribeVolumesModifications for details on how to use this API operation.
  11533. //
  11534. // The context must be non-nil and will be used for request cancellation. If
  11535. // the context is nil a panic will occur. In the future the SDK may create
  11536. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11537. // for more information on using Contexts.
  11538. func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
  11539. req, out := c.DescribeVolumesModificationsRequest(input)
  11540. req.SetContext(ctx)
  11541. req.ApplyOptions(opts...)
  11542. return out, req.Send()
  11543. }
  11544. const opDescribeVpcAttribute = "DescribeVpcAttribute"
  11545. // DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
  11546. // client's request for the DescribeVpcAttribute operation. The "output" return
  11547. // value can be used to capture response data after the request's "Send" method
  11548. // is called.
  11549. //
  11550. // See DescribeVpcAttribute for usage and error information.
  11551. //
  11552. // Creating a request object using this method should be used when you want to inject
  11553. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11554. // access properties on the request object before or after sending the request. If
  11555. // you just want the service response, call the DescribeVpcAttribute method directly
  11556. // instead.
  11557. //
  11558. // Note: You must call the "Send" method on the returned request object in order
  11559. // to execute the request.
  11560. //
  11561. // // Example sending a request using the DescribeVpcAttributeRequest method.
  11562. // req, resp := client.DescribeVpcAttributeRequest(params)
  11563. //
  11564. // err := req.Send()
  11565. // if err == nil { // resp is now filled
  11566. // fmt.Println(resp)
  11567. // }
  11568. //
  11569. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  11570. func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
  11571. op := &request.Operation{
  11572. Name: opDescribeVpcAttribute,
  11573. HTTPMethod: "POST",
  11574. HTTPPath: "/",
  11575. }
  11576. if input == nil {
  11577. input = &DescribeVpcAttributeInput{}
  11578. }
  11579. output = &DescribeVpcAttributeOutput{}
  11580. req = c.newRequest(op, input, output)
  11581. return
  11582. }
  11583. // DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
  11584. //
  11585. // Describes the specified attribute of the specified VPC. You can specify only
  11586. // one attribute at a time.
  11587. //
  11588. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11589. // with awserr.Error's Code and Message methods to get detailed information about
  11590. // the error.
  11591. //
  11592. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11593. // API operation DescribeVpcAttribute for usage and error information.
  11594. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
  11595. func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
  11596. req, out := c.DescribeVpcAttributeRequest(input)
  11597. return out, req.Send()
  11598. }
  11599. // DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
  11600. // the ability to pass a context and additional request options.
  11601. //
  11602. // See DescribeVpcAttribute for details on how to use this API operation.
  11603. //
  11604. // The context must be non-nil and will be used for request cancellation. If
  11605. // the context is nil a panic will occur. In the future the SDK may create
  11606. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11607. // for more information on using Contexts.
  11608. func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
  11609. req, out := c.DescribeVpcAttributeRequest(input)
  11610. req.SetContext(ctx)
  11611. req.ApplyOptions(opts...)
  11612. return out, req.Send()
  11613. }
  11614. const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
  11615. // DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
  11616. // client's request for the DescribeVpcClassicLink operation. The "output" return
  11617. // value can be used to capture response data after the request's "Send" method
  11618. // is called.
  11619. //
  11620. // See DescribeVpcClassicLink for usage and error information.
  11621. //
  11622. // Creating a request object using this method should be used when you want to inject
  11623. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11624. // access properties on the request object before or after sending the request. If
  11625. // you just want the service response, call the DescribeVpcClassicLink method directly
  11626. // instead.
  11627. //
  11628. // Note: You must call the "Send" method on the returned request object in order
  11629. // to execute the request.
  11630. //
  11631. // // Example sending a request using the DescribeVpcClassicLinkRequest method.
  11632. // req, resp := client.DescribeVpcClassicLinkRequest(params)
  11633. //
  11634. // err := req.Send()
  11635. // if err == nil { // resp is now filled
  11636. // fmt.Println(resp)
  11637. // }
  11638. //
  11639. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  11640. func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
  11641. op := &request.Operation{
  11642. Name: opDescribeVpcClassicLink,
  11643. HTTPMethod: "POST",
  11644. HTTPPath: "/",
  11645. }
  11646. if input == nil {
  11647. input = &DescribeVpcClassicLinkInput{}
  11648. }
  11649. output = &DescribeVpcClassicLinkOutput{}
  11650. req = c.newRequest(op, input, output)
  11651. return
  11652. }
  11653. // DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  11654. //
  11655. // Describes the ClassicLink status of one or more VPCs.
  11656. //
  11657. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11658. // with awserr.Error's Code and Message methods to get detailed information about
  11659. // the error.
  11660. //
  11661. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11662. // API operation DescribeVpcClassicLink for usage and error information.
  11663. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
  11664. func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
  11665. req, out := c.DescribeVpcClassicLinkRequest(input)
  11666. return out, req.Send()
  11667. }
  11668. // DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
  11669. // the ability to pass a context and additional request options.
  11670. //
  11671. // See DescribeVpcClassicLink for details on how to use this API operation.
  11672. //
  11673. // The context must be non-nil and will be used for request cancellation. If
  11674. // the context is nil a panic will occur. In the future the SDK may create
  11675. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11676. // for more information on using Contexts.
  11677. func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
  11678. req, out := c.DescribeVpcClassicLinkRequest(input)
  11679. req.SetContext(ctx)
  11680. req.ApplyOptions(opts...)
  11681. return out, req.Send()
  11682. }
  11683. const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
  11684. // DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  11685. // client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
  11686. // value can be used to capture response data after the request's "Send" method
  11687. // is called.
  11688. //
  11689. // See DescribeVpcClassicLinkDnsSupport for usage and error information.
  11690. //
  11691. // Creating a request object using this method should be used when you want to inject
  11692. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11693. // access properties on the request object before or after sending the request. If
  11694. // you just want the service response, call the DescribeVpcClassicLinkDnsSupport method directly
  11695. // instead.
  11696. //
  11697. // Note: You must call the "Send" method on the returned request object in order
  11698. // to execute the request.
  11699. //
  11700. // // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
  11701. // req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
  11702. //
  11703. // err := req.Send()
  11704. // if err == nil { // resp is now filled
  11705. // fmt.Println(resp)
  11706. // }
  11707. //
  11708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  11709. func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
  11710. op := &request.Operation{
  11711. Name: opDescribeVpcClassicLinkDnsSupport,
  11712. HTTPMethod: "POST",
  11713. HTTPPath: "/",
  11714. }
  11715. if input == nil {
  11716. input = &DescribeVpcClassicLinkDnsSupportInput{}
  11717. }
  11718. output = &DescribeVpcClassicLinkDnsSupportOutput{}
  11719. req = c.newRequest(op, input, output)
  11720. return
  11721. }
  11722. // DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  11723. //
  11724. // Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
  11725. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  11726. // IP address when addressed from an instance in the VPC to which it's linked.
  11727. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  11728. // IP address when addressed from a linked EC2-Classic instance. For more information,
  11729. // see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  11730. // in the Amazon Elastic Compute Cloud User Guide.
  11731. //
  11732. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11733. // with awserr.Error's Code and Message methods to get detailed information about
  11734. // the error.
  11735. //
  11736. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11737. // API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
  11738. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
  11739. func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  11740. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  11741. return out, req.Send()
  11742. }
  11743. // DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
  11744. // the ability to pass a context and additional request options.
  11745. //
  11746. // See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
  11747. //
  11748. // The context must be non-nil and will be used for request cancellation. If
  11749. // the context is nil a panic will occur. In the future the SDK may create
  11750. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11751. // for more information on using Contexts.
  11752. func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
  11753. req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
  11754. req.SetContext(ctx)
  11755. req.ApplyOptions(opts...)
  11756. return out, req.Send()
  11757. }
  11758. const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
  11759. // DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
  11760. // client's request for the DescribeVpcEndpointServices operation. The "output" return
  11761. // value can be used to capture response data after the request's "Send" method
  11762. // is called.
  11763. //
  11764. // See DescribeVpcEndpointServices for usage and error information.
  11765. //
  11766. // Creating a request object using this method should be used when you want to inject
  11767. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11768. // access properties on the request object before or after sending the request. If
  11769. // you just want the service response, call the DescribeVpcEndpointServices method directly
  11770. // instead.
  11771. //
  11772. // Note: You must call the "Send" method on the returned request object in order
  11773. // to execute the request.
  11774. //
  11775. // // Example sending a request using the DescribeVpcEndpointServicesRequest method.
  11776. // req, resp := client.DescribeVpcEndpointServicesRequest(params)
  11777. //
  11778. // err := req.Send()
  11779. // if err == nil { // resp is now filled
  11780. // fmt.Println(resp)
  11781. // }
  11782. //
  11783. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  11784. func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
  11785. op := &request.Operation{
  11786. Name: opDescribeVpcEndpointServices,
  11787. HTTPMethod: "POST",
  11788. HTTPPath: "/",
  11789. }
  11790. if input == nil {
  11791. input = &DescribeVpcEndpointServicesInput{}
  11792. }
  11793. output = &DescribeVpcEndpointServicesOutput{}
  11794. req = c.newRequest(op, input, output)
  11795. return
  11796. }
  11797. // DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
  11798. //
  11799. // Describes all supported AWS services that can be specified when creating
  11800. // a VPC endpoint.
  11801. //
  11802. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11803. // with awserr.Error's Code and Message methods to get detailed information about
  11804. // the error.
  11805. //
  11806. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11807. // API operation DescribeVpcEndpointServices for usage and error information.
  11808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
  11809. func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
  11810. req, out := c.DescribeVpcEndpointServicesRequest(input)
  11811. return out, req.Send()
  11812. }
  11813. // DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
  11814. // the ability to pass a context and additional request options.
  11815. //
  11816. // See DescribeVpcEndpointServices for details on how to use this API operation.
  11817. //
  11818. // The context must be non-nil and will be used for request cancellation. If
  11819. // the context is nil a panic will occur. In the future the SDK may create
  11820. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11821. // for more information on using Contexts.
  11822. func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
  11823. req, out := c.DescribeVpcEndpointServicesRequest(input)
  11824. req.SetContext(ctx)
  11825. req.ApplyOptions(opts...)
  11826. return out, req.Send()
  11827. }
  11828. const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
  11829. // DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
  11830. // client's request for the DescribeVpcEndpoints operation. The "output" return
  11831. // value can be used to capture response data after the request's "Send" method
  11832. // is called.
  11833. //
  11834. // See DescribeVpcEndpoints for usage and error information.
  11835. //
  11836. // Creating a request object using this method should be used when you want to inject
  11837. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11838. // access properties on the request object before or after sending the request. If
  11839. // you just want the service response, call the DescribeVpcEndpoints method directly
  11840. // instead.
  11841. //
  11842. // Note: You must call the "Send" method on the returned request object in order
  11843. // to execute the request.
  11844. //
  11845. // // Example sending a request using the DescribeVpcEndpointsRequest method.
  11846. // req, resp := client.DescribeVpcEndpointsRequest(params)
  11847. //
  11848. // err := req.Send()
  11849. // if err == nil { // resp is now filled
  11850. // fmt.Println(resp)
  11851. // }
  11852. //
  11853. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  11854. func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
  11855. op := &request.Operation{
  11856. Name: opDescribeVpcEndpoints,
  11857. HTTPMethod: "POST",
  11858. HTTPPath: "/",
  11859. }
  11860. if input == nil {
  11861. input = &DescribeVpcEndpointsInput{}
  11862. }
  11863. output = &DescribeVpcEndpointsOutput{}
  11864. req = c.newRequest(op, input, output)
  11865. return
  11866. }
  11867. // DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
  11868. //
  11869. // Describes one or more of your VPC endpoints.
  11870. //
  11871. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11872. // with awserr.Error's Code and Message methods to get detailed information about
  11873. // the error.
  11874. //
  11875. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11876. // API operation DescribeVpcEndpoints for usage and error information.
  11877. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
  11878. func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
  11879. req, out := c.DescribeVpcEndpointsRequest(input)
  11880. return out, req.Send()
  11881. }
  11882. // DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
  11883. // the ability to pass a context and additional request options.
  11884. //
  11885. // See DescribeVpcEndpoints for details on how to use this API operation.
  11886. //
  11887. // The context must be non-nil and will be used for request cancellation. If
  11888. // the context is nil a panic will occur. In the future the SDK may create
  11889. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11890. // for more information on using Contexts.
  11891. func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
  11892. req, out := c.DescribeVpcEndpointsRequest(input)
  11893. req.SetContext(ctx)
  11894. req.ApplyOptions(opts...)
  11895. return out, req.Send()
  11896. }
  11897. const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  11898. // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  11899. // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  11900. // value can be used to capture response data after the request's "Send" method
  11901. // is called.
  11902. //
  11903. // See DescribeVpcPeeringConnections for usage and error information.
  11904. //
  11905. // Creating a request object using this method should be used when you want to inject
  11906. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11907. // access properties on the request object before or after sending the request. If
  11908. // you just want the service response, call the DescribeVpcPeeringConnections method directly
  11909. // instead.
  11910. //
  11911. // Note: You must call the "Send" method on the returned request object in order
  11912. // to execute the request.
  11913. //
  11914. // // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  11915. // req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  11916. //
  11917. // err := req.Send()
  11918. // if err == nil { // resp is now filled
  11919. // fmt.Println(resp)
  11920. // }
  11921. //
  11922. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  11923. func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  11924. op := &request.Operation{
  11925. Name: opDescribeVpcPeeringConnections,
  11926. HTTPMethod: "POST",
  11927. HTTPPath: "/",
  11928. }
  11929. if input == nil {
  11930. input = &DescribeVpcPeeringConnectionsInput{}
  11931. }
  11932. output = &DescribeVpcPeeringConnectionsOutput{}
  11933. req = c.newRequest(op, input, output)
  11934. return
  11935. }
  11936. // DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
  11937. //
  11938. // Describes one or more of your VPC peering connections.
  11939. //
  11940. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  11941. // with awserr.Error's Code and Message methods to get detailed information about
  11942. // the error.
  11943. //
  11944. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  11945. // API operation DescribeVpcPeeringConnections for usage and error information.
  11946. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
  11947. func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  11948. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  11949. return out, req.Send()
  11950. }
  11951. // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  11952. // the ability to pass a context and additional request options.
  11953. //
  11954. // See DescribeVpcPeeringConnections for details on how to use this API operation.
  11955. //
  11956. // The context must be non-nil and will be used for request cancellation. If
  11957. // the context is nil a panic will occur. In the future the SDK may create
  11958. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  11959. // for more information on using Contexts.
  11960. func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  11961. req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  11962. req.SetContext(ctx)
  11963. req.ApplyOptions(opts...)
  11964. return out, req.Send()
  11965. }
  11966. const opDescribeVpcs = "DescribeVpcs"
  11967. // DescribeVpcsRequest generates a "aws/request.Request" representing the
  11968. // client's request for the DescribeVpcs operation. The "output" return
  11969. // value can be used to capture response data after the request's "Send" method
  11970. // is called.
  11971. //
  11972. // See DescribeVpcs for usage and error information.
  11973. //
  11974. // Creating a request object using this method should be used when you want to inject
  11975. // custom logic into the request's lifecycle using a custom handler, or if you want to
  11976. // access properties on the request object before or after sending the request. If
  11977. // you just want the service response, call the DescribeVpcs method directly
  11978. // instead.
  11979. //
  11980. // Note: You must call the "Send" method on the returned request object in order
  11981. // to execute the request.
  11982. //
  11983. // // Example sending a request using the DescribeVpcsRequest method.
  11984. // req, resp := client.DescribeVpcsRequest(params)
  11985. //
  11986. // err := req.Send()
  11987. // if err == nil { // resp is now filled
  11988. // fmt.Println(resp)
  11989. // }
  11990. //
  11991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  11992. func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
  11993. op := &request.Operation{
  11994. Name: opDescribeVpcs,
  11995. HTTPMethod: "POST",
  11996. HTTPPath: "/",
  11997. }
  11998. if input == nil {
  11999. input = &DescribeVpcsInput{}
  12000. }
  12001. output = &DescribeVpcsOutput{}
  12002. req = c.newRequest(op, input, output)
  12003. return
  12004. }
  12005. // DescribeVpcs API operation for Amazon Elastic Compute Cloud.
  12006. //
  12007. // Describes one or more of your VPCs.
  12008. //
  12009. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12010. // with awserr.Error's Code and Message methods to get detailed information about
  12011. // the error.
  12012. //
  12013. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12014. // API operation DescribeVpcs for usage and error information.
  12015. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
  12016. func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
  12017. req, out := c.DescribeVpcsRequest(input)
  12018. return out, req.Send()
  12019. }
  12020. // DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
  12021. // the ability to pass a context and additional request options.
  12022. //
  12023. // See DescribeVpcs for details on how to use this API operation.
  12024. //
  12025. // The context must be non-nil and will be used for request cancellation. If
  12026. // the context is nil a panic will occur. In the future the SDK may create
  12027. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12028. // for more information on using Contexts.
  12029. func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
  12030. req, out := c.DescribeVpcsRequest(input)
  12031. req.SetContext(ctx)
  12032. req.ApplyOptions(opts...)
  12033. return out, req.Send()
  12034. }
  12035. const opDescribeVpnConnections = "DescribeVpnConnections"
  12036. // DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
  12037. // client's request for the DescribeVpnConnections operation. The "output" return
  12038. // value can be used to capture response data after the request's "Send" method
  12039. // is called.
  12040. //
  12041. // See DescribeVpnConnections for usage and error information.
  12042. //
  12043. // Creating a request object using this method should be used when you want to inject
  12044. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12045. // access properties on the request object before or after sending the request. If
  12046. // you just want the service response, call the DescribeVpnConnections method directly
  12047. // instead.
  12048. //
  12049. // Note: You must call the "Send" method on the returned request object in order
  12050. // to execute the request.
  12051. //
  12052. // // Example sending a request using the DescribeVpnConnectionsRequest method.
  12053. // req, resp := client.DescribeVpnConnectionsRequest(params)
  12054. //
  12055. // err := req.Send()
  12056. // if err == nil { // resp is now filled
  12057. // fmt.Println(resp)
  12058. // }
  12059. //
  12060. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  12061. func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
  12062. op := &request.Operation{
  12063. Name: opDescribeVpnConnections,
  12064. HTTPMethod: "POST",
  12065. HTTPPath: "/",
  12066. }
  12067. if input == nil {
  12068. input = &DescribeVpnConnectionsInput{}
  12069. }
  12070. output = &DescribeVpnConnectionsOutput{}
  12071. req = c.newRequest(op, input, output)
  12072. return
  12073. }
  12074. // DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
  12075. //
  12076. // Describes one or more of your VPN connections.
  12077. //
  12078. // For more information about VPN connections, see Adding a Hardware Virtual
  12079. // Private Gateway to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  12080. // in the Amazon Virtual Private Cloud User Guide.
  12081. //
  12082. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12083. // with awserr.Error's Code and Message methods to get detailed information about
  12084. // the error.
  12085. //
  12086. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12087. // API operation DescribeVpnConnections for usage and error information.
  12088. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
  12089. func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
  12090. req, out := c.DescribeVpnConnectionsRequest(input)
  12091. return out, req.Send()
  12092. }
  12093. // DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
  12094. // the ability to pass a context and additional request options.
  12095. //
  12096. // See DescribeVpnConnections for details on how to use this API operation.
  12097. //
  12098. // The context must be non-nil and will be used for request cancellation. If
  12099. // the context is nil a panic will occur. In the future the SDK may create
  12100. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12101. // for more information on using Contexts.
  12102. func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
  12103. req, out := c.DescribeVpnConnectionsRequest(input)
  12104. req.SetContext(ctx)
  12105. req.ApplyOptions(opts...)
  12106. return out, req.Send()
  12107. }
  12108. const opDescribeVpnGateways = "DescribeVpnGateways"
  12109. // DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
  12110. // client's request for the DescribeVpnGateways operation. The "output" return
  12111. // value can be used to capture response data after the request's "Send" method
  12112. // is called.
  12113. //
  12114. // See DescribeVpnGateways for usage and error information.
  12115. //
  12116. // Creating a request object using this method should be used when you want to inject
  12117. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12118. // access properties on the request object before or after sending the request. If
  12119. // you just want the service response, call the DescribeVpnGateways method directly
  12120. // instead.
  12121. //
  12122. // Note: You must call the "Send" method on the returned request object in order
  12123. // to execute the request.
  12124. //
  12125. // // Example sending a request using the DescribeVpnGatewaysRequest method.
  12126. // req, resp := client.DescribeVpnGatewaysRequest(params)
  12127. //
  12128. // err := req.Send()
  12129. // if err == nil { // resp is now filled
  12130. // fmt.Println(resp)
  12131. // }
  12132. //
  12133. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  12134. func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
  12135. op := &request.Operation{
  12136. Name: opDescribeVpnGateways,
  12137. HTTPMethod: "POST",
  12138. HTTPPath: "/",
  12139. }
  12140. if input == nil {
  12141. input = &DescribeVpnGatewaysInput{}
  12142. }
  12143. output = &DescribeVpnGatewaysOutput{}
  12144. req = c.newRequest(op, input, output)
  12145. return
  12146. }
  12147. // DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
  12148. //
  12149. // Describes one or more of your virtual private gateways.
  12150. //
  12151. // For more information about virtual private gateways, see Adding an IPsec
  12152. // Hardware VPN to Your VPC (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_VPN.html)
  12153. // in the Amazon Virtual Private Cloud User Guide.
  12154. //
  12155. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12156. // with awserr.Error's Code and Message methods to get detailed information about
  12157. // the error.
  12158. //
  12159. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12160. // API operation DescribeVpnGateways for usage and error information.
  12161. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
  12162. func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
  12163. req, out := c.DescribeVpnGatewaysRequest(input)
  12164. return out, req.Send()
  12165. }
  12166. // DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
  12167. // the ability to pass a context and additional request options.
  12168. //
  12169. // See DescribeVpnGateways for details on how to use this API operation.
  12170. //
  12171. // The context must be non-nil and will be used for request cancellation. If
  12172. // the context is nil a panic will occur. In the future the SDK may create
  12173. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12174. // for more information on using Contexts.
  12175. func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
  12176. req, out := c.DescribeVpnGatewaysRequest(input)
  12177. req.SetContext(ctx)
  12178. req.ApplyOptions(opts...)
  12179. return out, req.Send()
  12180. }
  12181. const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
  12182. // DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
  12183. // client's request for the DetachClassicLinkVpc operation. The "output" return
  12184. // value can be used to capture response data after the request's "Send" method
  12185. // is called.
  12186. //
  12187. // See DetachClassicLinkVpc for usage and error information.
  12188. //
  12189. // Creating a request object using this method should be used when you want to inject
  12190. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12191. // access properties on the request object before or after sending the request. If
  12192. // you just want the service response, call the DetachClassicLinkVpc method directly
  12193. // instead.
  12194. //
  12195. // Note: You must call the "Send" method on the returned request object in order
  12196. // to execute the request.
  12197. //
  12198. // // Example sending a request using the DetachClassicLinkVpcRequest method.
  12199. // req, resp := client.DetachClassicLinkVpcRequest(params)
  12200. //
  12201. // err := req.Send()
  12202. // if err == nil { // resp is now filled
  12203. // fmt.Println(resp)
  12204. // }
  12205. //
  12206. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  12207. func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
  12208. op := &request.Operation{
  12209. Name: opDetachClassicLinkVpc,
  12210. HTTPMethod: "POST",
  12211. HTTPPath: "/",
  12212. }
  12213. if input == nil {
  12214. input = &DetachClassicLinkVpcInput{}
  12215. }
  12216. output = &DetachClassicLinkVpcOutput{}
  12217. req = c.newRequest(op, input, output)
  12218. return
  12219. }
  12220. // DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
  12221. //
  12222. // Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
  12223. // has been unlinked, the VPC security groups are no longer associated with
  12224. // it. An instance is automatically unlinked from a VPC when it's stopped.
  12225. //
  12226. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12227. // with awserr.Error's Code and Message methods to get detailed information about
  12228. // the error.
  12229. //
  12230. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12231. // API operation DetachClassicLinkVpc for usage and error information.
  12232. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
  12233. func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
  12234. req, out := c.DetachClassicLinkVpcRequest(input)
  12235. return out, req.Send()
  12236. }
  12237. // DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
  12238. // the ability to pass a context and additional request options.
  12239. //
  12240. // See DetachClassicLinkVpc for details on how to use this API operation.
  12241. //
  12242. // The context must be non-nil and will be used for request cancellation. If
  12243. // the context is nil a panic will occur. In the future the SDK may create
  12244. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12245. // for more information on using Contexts.
  12246. func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
  12247. req, out := c.DetachClassicLinkVpcRequest(input)
  12248. req.SetContext(ctx)
  12249. req.ApplyOptions(opts...)
  12250. return out, req.Send()
  12251. }
  12252. const opDetachInternetGateway = "DetachInternetGateway"
  12253. // DetachInternetGatewayRequest generates a "aws/request.Request" representing the
  12254. // client's request for the DetachInternetGateway operation. The "output" return
  12255. // value can be used to capture response data after the request's "Send" method
  12256. // is called.
  12257. //
  12258. // See DetachInternetGateway for usage and error information.
  12259. //
  12260. // Creating a request object using this method should be used when you want to inject
  12261. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12262. // access properties on the request object before or after sending the request. If
  12263. // you just want the service response, call the DetachInternetGateway method directly
  12264. // instead.
  12265. //
  12266. // Note: You must call the "Send" method on the returned request object in order
  12267. // to execute the request.
  12268. //
  12269. // // Example sending a request using the DetachInternetGatewayRequest method.
  12270. // req, resp := client.DetachInternetGatewayRequest(params)
  12271. //
  12272. // err := req.Send()
  12273. // if err == nil { // resp is now filled
  12274. // fmt.Println(resp)
  12275. // }
  12276. //
  12277. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  12278. func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
  12279. op := &request.Operation{
  12280. Name: opDetachInternetGateway,
  12281. HTTPMethod: "POST",
  12282. HTTPPath: "/",
  12283. }
  12284. if input == nil {
  12285. input = &DetachInternetGatewayInput{}
  12286. }
  12287. output = &DetachInternetGatewayOutput{}
  12288. req = c.newRequest(op, input, output)
  12289. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12290. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12291. return
  12292. }
  12293. // DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
  12294. //
  12295. // Detaches an Internet gateway from a VPC, disabling connectivity between the
  12296. // Internet and the VPC. The VPC must not contain any running instances with
  12297. // Elastic IP addresses or public IPv4 addresses.
  12298. //
  12299. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12300. // with awserr.Error's Code and Message methods to get detailed information about
  12301. // the error.
  12302. //
  12303. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12304. // API operation DetachInternetGateway for usage and error information.
  12305. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
  12306. func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
  12307. req, out := c.DetachInternetGatewayRequest(input)
  12308. return out, req.Send()
  12309. }
  12310. // DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
  12311. // the ability to pass a context and additional request options.
  12312. //
  12313. // See DetachInternetGateway for details on how to use this API operation.
  12314. //
  12315. // The context must be non-nil and will be used for request cancellation. If
  12316. // the context is nil a panic will occur. In the future the SDK may create
  12317. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12318. // for more information on using Contexts.
  12319. func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
  12320. req, out := c.DetachInternetGatewayRequest(input)
  12321. req.SetContext(ctx)
  12322. req.ApplyOptions(opts...)
  12323. return out, req.Send()
  12324. }
  12325. const opDetachNetworkInterface = "DetachNetworkInterface"
  12326. // DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
  12327. // client's request for the DetachNetworkInterface operation. The "output" return
  12328. // value can be used to capture response data after the request's "Send" method
  12329. // is called.
  12330. //
  12331. // See DetachNetworkInterface for usage and error information.
  12332. //
  12333. // Creating a request object using this method should be used when you want to inject
  12334. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12335. // access properties on the request object before or after sending the request. If
  12336. // you just want the service response, call the DetachNetworkInterface method directly
  12337. // instead.
  12338. //
  12339. // Note: You must call the "Send" method on the returned request object in order
  12340. // to execute the request.
  12341. //
  12342. // // Example sending a request using the DetachNetworkInterfaceRequest method.
  12343. // req, resp := client.DetachNetworkInterfaceRequest(params)
  12344. //
  12345. // err := req.Send()
  12346. // if err == nil { // resp is now filled
  12347. // fmt.Println(resp)
  12348. // }
  12349. //
  12350. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  12351. func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
  12352. op := &request.Operation{
  12353. Name: opDetachNetworkInterface,
  12354. HTTPMethod: "POST",
  12355. HTTPPath: "/",
  12356. }
  12357. if input == nil {
  12358. input = &DetachNetworkInterfaceInput{}
  12359. }
  12360. output = &DetachNetworkInterfaceOutput{}
  12361. req = c.newRequest(op, input, output)
  12362. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12363. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12364. return
  12365. }
  12366. // DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
  12367. //
  12368. // Detaches a network interface from an instance.
  12369. //
  12370. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12371. // with awserr.Error's Code and Message methods to get detailed information about
  12372. // the error.
  12373. //
  12374. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12375. // API operation DetachNetworkInterface for usage and error information.
  12376. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
  12377. func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
  12378. req, out := c.DetachNetworkInterfaceRequest(input)
  12379. return out, req.Send()
  12380. }
  12381. // DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
  12382. // the ability to pass a context and additional request options.
  12383. //
  12384. // See DetachNetworkInterface for details on how to use this API operation.
  12385. //
  12386. // The context must be non-nil and will be used for request cancellation. If
  12387. // the context is nil a panic will occur. In the future the SDK may create
  12388. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12389. // for more information on using Contexts.
  12390. func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
  12391. req, out := c.DetachNetworkInterfaceRequest(input)
  12392. req.SetContext(ctx)
  12393. req.ApplyOptions(opts...)
  12394. return out, req.Send()
  12395. }
  12396. const opDetachVolume = "DetachVolume"
  12397. // DetachVolumeRequest generates a "aws/request.Request" representing the
  12398. // client's request for the DetachVolume operation. The "output" return
  12399. // value can be used to capture response data after the request's "Send" method
  12400. // is called.
  12401. //
  12402. // See DetachVolume for usage and error information.
  12403. //
  12404. // Creating a request object using this method should be used when you want to inject
  12405. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12406. // access properties on the request object before or after sending the request. If
  12407. // you just want the service response, call the DetachVolume method directly
  12408. // instead.
  12409. //
  12410. // Note: You must call the "Send" method on the returned request object in order
  12411. // to execute the request.
  12412. //
  12413. // // Example sending a request using the DetachVolumeRequest method.
  12414. // req, resp := client.DetachVolumeRequest(params)
  12415. //
  12416. // err := req.Send()
  12417. // if err == nil { // resp is now filled
  12418. // fmt.Println(resp)
  12419. // }
  12420. //
  12421. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  12422. func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
  12423. op := &request.Operation{
  12424. Name: opDetachVolume,
  12425. HTTPMethod: "POST",
  12426. HTTPPath: "/",
  12427. }
  12428. if input == nil {
  12429. input = &DetachVolumeInput{}
  12430. }
  12431. output = &VolumeAttachment{}
  12432. req = c.newRequest(op, input, output)
  12433. return
  12434. }
  12435. // DetachVolume API operation for Amazon Elastic Compute Cloud.
  12436. //
  12437. // Detaches an EBS volume from an instance. Make sure to unmount any file systems
  12438. // on the device within your operating system before detaching the volume. Failure
  12439. // to do so can result in the volume becoming stuck in the busy state while
  12440. // detaching. If this happens, detachment can be delayed indefinitely until
  12441. // you unmount the volume, force detachment, reboot the instance, or all three.
  12442. // If an EBS volume is the root device of an instance, it can't be detached
  12443. // while the instance is running. To detach the root volume, stop the instance
  12444. // first.
  12445. //
  12446. // When a volume with an AWS Marketplace product code is detached from an instance,
  12447. // the product code is no longer associated with the instance.
  12448. //
  12449. // For more information, see Detaching an Amazon EBS Volume (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
  12450. // in the Amazon Elastic Compute Cloud User Guide.
  12451. //
  12452. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12453. // with awserr.Error's Code and Message methods to get detailed information about
  12454. // the error.
  12455. //
  12456. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12457. // API operation DetachVolume for usage and error information.
  12458. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
  12459. func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
  12460. req, out := c.DetachVolumeRequest(input)
  12461. return out, req.Send()
  12462. }
  12463. // DetachVolumeWithContext is the same as DetachVolume with the addition of
  12464. // the ability to pass a context and additional request options.
  12465. //
  12466. // See DetachVolume for details on how to use this API operation.
  12467. //
  12468. // The context must be non-nil and will be used for request cancellation. If
  12469. // the context is nil a panic will occur. In the future the SDK may create
  12470. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12471. // for more information on using Contexts.
  12472. func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
  12473. req, out := c.DetachVolumeRequest(input)
  12474. req.SetContext(ctx)
  12475. req.ApplyOptions(opts...)
  12476. return out, req.Send()
  12477. }
  12478. const opDetachVpnGateway = "DetachVpnGateway"
  12479. // DetachVpnGatewayRequest generates a "aws/request.Request" representing the
  12480. // client's request for the DetachVpnGateway operation. The "output" return
  12481. // value can be used to capture response data after the request's "Send" method
  12482. // is called.
  12483. //
  12484. // See DetachVpnGateway for usage and error information.
  12485. //
  12486. // Creating a request object using this method should be used when you want to inject
  12487. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12488. // access properties on the request object before or after sending the request. If
  12489. // you just want the service response, call the DetachVpnGateway method directly
  12490. // instead.
  12491. //
  12492. // Note: You must call the "Send" method on the returned request object in order
  12493. // to execute the request.
  12494. //
  12495. // // Example sending a request using the DetachVpnGatewayRequest method.
  12496. // req, resp := client.DetachVpnGatewayRequest(params)
  12497. //
  12498. // err := req.Send()
  12499. // if err == nil { // resp is now filled
  12500. // fmt.Println(resp)
  12501. // }
  12502. //
  12503. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  12504. func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
  12505. op := &request.Operation{
  12506. Name: opDetachVpnGateway,
  12507. HTTPMethod: "POST",
  12508. HTTPPath: "/",
  12509. }
  12510. if input == nil {
  12511. input = &DetachVpnGatewayInput{}
  12512. }
  12513. output = &DetachVpnGatewayOutput{}
  12514. req = c.newRequest(op, input, output)
  12515. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12516. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12517. return
  12518. }
  12519. // DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
  12520. //
  12521. // Detaches a virtual private gateway from a VPC. You do this if you're planning
  12522. // to turn off the VPC and not use it anymore. You can confirm a virtual private
  12523. // gateway has been completely detached from a VPC by describing the virtual
  12524. // private gateway (any attachments to the virtual private gateway are also
  12525. // described).
  12526. //
  12527. // You must wait for the attachment's state to switch to detached before you
  12528. // can delete the VPC or attach a different VPC to the virtual private gateway.
  12529. //
  12530. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12531. // with awserr.Error's Code and Message methods to get detailed information about
  12532. // the error.
  12533. //
  12534. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12535. // API operation DetachVpnGateway for usage and error information.
  12536. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
  12537. func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
  12538. req, out := c.DetachVpnGatewayRequest(input)
  12539. return out, req.Send()
  12540. }
  12541. // DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
  12542. // the ability to pass a context and additional request options.
  12543. //
  12544. // See DetachVpnGateway for details on how to use this API operation.
  12545. //
  12546. // The context must be non-nil and will be used for request cancellation. If
  12547. // the context is nil a panic will occur. In the future the SDK may create
  12548. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12549. // for more information on using Contexts.
  12550. func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
  12551. req, out := c.DetachVpnGatewayRequest(input)
  12552. req.SetContext(ctx)
  12553. req.ApplyOptions(opts...)
  12554. return out, req.Send()
  12555. }
  12556. const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
  12557. // DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  12558. // client's request for the DisableVgwRoutePropagation operation. The "output" return
  12559. // value can be used to capture response data after the request's "Send" method
  12560. // is called.
  12561. //
  12562. // See DisableVgwRoutePropagation for usage and error information.
  12563. //
  12564. // Creating a request object using this method should be used when you want to inject
  12565. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12566. // access properties on the request object before or after sending the request. If
  12567. // you just want the service response, call the DisableVgwRoutePropagation method directly
  12568. // instead.
  12569. //
  12570. // Note: You must call the "Send" method on the returned request object in order
  12571. // to execute the request.
  12572. //
  12573. // // Example sending a request using the DisableVgwRoutePropagationRequest method.
  12574. // req, resp := client.DisableVgwRoutePropagationRequest(params)
  12575. //
  12576. // err := req.Send()
  12577. // if err == nil { // resp is now filled
  12578. // fmt.Println(resp)
  12579. // }
  12580. //
  12581. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  12582. func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
  12583. op := &request.Operation{
  12584. Name: opDisableVgwRoutePropagation,
  12585. HTTPMethod: "POST",
  12586. HTTPPath: "/",
  12587. }
  12588. if input == nil {
  12589. input = &DisableVgwRoutePropagationInput{}
  12590. }
  12591. output = &DisableVgwRoutePropagationOutput{}
  12592. req = c.newRequest(op, input, output)
  12593. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12594. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12595. return
  12596. }
  12597. // DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  12598. //
  12599. // Disables a virtual private gateway (VGW) from propagating routes to a specified
  12600. // route table of a VPC.
  12601. //
  12602. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12603. // with awserr.Error's Code and Message methods to get detailed information about
  12604. // the error.
  12605. //
  12606. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12607. // API operation DisableVgwRoutePropagation for usage and error information.
  12608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
  12609. func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
  12610. req, out := c.DisableVgwRoutePropagationRequest(input)
  12611. return out, req.Send()
  12612. }
  12613. // DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
  12614. // the ability to pass a context and additional request options.
  12615. //
  12616. // See DisableVgwRoutePropagation for details on how to use this API operation.
  12617. //
  12618. // The context must be non-nil and will be used for request cancellation. If
  12619. // the context is nil a panic will occur. In the future the SDK may create
  12620. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12621. // for more information on using Contexts.
  12622. func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
  12623. req, out := c.DisableVgwRoutePropagationRequest(input)
  12624. req.SetContext(ctx)
  12625. req.ApplyOptions(opts...)
  12626. return out, req.Send()
  12627. }
  12628. const opDisableVpcClassicLink = "DisableVpcClassicLink"
  12629. // DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  12630. // client's request for the DisableVpcClassicLink operation. The "output" return
  12631. // value can be used to capture response data after the request's "Send" method
  12632. // is called.
  12633. //
  12634. // See DisableVpcClassicLink for usage and error information.
  12635. //
  12636. // Creating a request object using this method should be used when you want to inject
  12637. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12638. // access properties on the request object before or after sending the request. If
  12639. // you just want the service response, call the DisableVpcClassicLink method directly
  12640. // instead.
  12641. //
  12642. // Note: You must call the "Send" method on the returned request object in order
  12643. // to execute the request.
  12644. //
  12645. // // Example sending a request using the DisableVpcClassicLinkRequest method.
  12646. // req, resp := client.DisableVpcClassicLinkRequest(params)
  12647. //
  12648. // err := req.Send()
  12649. // if err == nil { // resp is now filled
  12650. // fmt.Println(resp)
  12651. // }
  12652. //
  12653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  12654. func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
  12655. op := &request.Operation{
  12656. Name: opDisableVpcClassicLink,
  12657. HTTPMethod: "POST",
  12658. HTTPPath: "/",
  12659. }
  12660. if input == nil {
  12661. input = &DisableVpcClassicLinkInput{}
  12662. }
  12663. output = &DisableVpcClassicLinkOutput{}
  12664. req = c.newRequest(op, input, output)
  12665. return
  12666. }
  12667. // DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  12668. //
  12669. // Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
  12670. // that has EC2-Classic instances linked to it.
  12671. //
  12672. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12673. // with awserr.Error's Code and Message methods to get detailed information about
  12674. // the error.
  12675. //
  12676. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12677. // API operation DisableVpcClassicLink for usage and error information.
  12678. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
  12679. func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
  12680. req, out := c.DisableVpcClassicLinkRequest(input)
  12681. return out, req.Send()
  12682. }
  12683. // DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
  12684. // the ability to pass a context and additional request options.
  12685. //
  12686. // See DisableVpcClassicLink for details on how to use this API operation.
  12687. //
  12688. // The context must be non-nil and will be used for request cancellation. If
  12689. // the context is nil a panic will occur. In the future the SDK may create
  12690. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12691. // for more information on using Contexts.
  12692. func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
  12693. req, out := c.DisableVpcClassicLinkRequest(input)
  12694. req.SetContext(ctx)
  12695. req.ApplyOptions(opts...)
  12696. return out, req.Send()
  12697. }
  12698. const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
  12699. // DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  12700. // client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
  12701. // value can be used to capture response data after the request's "Send" method
  12702. // is called.
  12703. //
  12704. // See DisableVpcClassicLinkDnsSupport for usage and error information.
  12705. //
  12706. // Creating a request object using this method should be used when you want to inject
  12707. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12708. // access properties on the request object before or after sending the request. If
  12709. // you just want the service response, call the DisableVpcClassicLinkDnsSupport method directly
  12710. // instead.
  12711. //
  12712. // Note: You must call the "Send" method on the returned request object in order
  12713. // to execute the request.
  12714. //
  12715. // // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
  12716. // req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
  12717. //
  12718. // err := req.Send()
  12719. // if err == nil { // resp is now filled
  12720. // fmt.Println(resp)
  12721. // }
  12722. //
  12723. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  12724. func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
  12725. op := &request.Operation{
  12726. Name: opDisableVpcClassicLinkDnsSupport,
  12727. HTTPMethod: "POST",
  12728. HTTPPath: "/",
  12729. }
  12730. if input == nil {
  12731. input = &DisableVpcClassicLinkDnsSupportInput{}
  12732. }
  12733. output = &DisableVpcClassicLinkDnsSupportOutput{}
  12734. req = c.newRequest(op, input, output)
  12735. return
  12736. }
  12737. // DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  12738. //
  12739. // Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
  12740. // to public IP addresses when addressed between a linked EC2-Classic instance
  12741. // and instances in the VPC to which it's linked. For more information about
  12742. // ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  12743. // in the Amazon Elastic Compute Cloud User Guide.
  12744. //
  12745. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12746. // with awserr.Error's Code and Message methods to get detailed information about
  12747. // the error.
  12748. //
  12749. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12750. // API operation DisableVpcClassicLinkDnsSupport for usage and error information.
  12751. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
  12752. func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  12753. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  12754. return out, req.Send()
  12755. }
  12756. // DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
  12757. // the ability to pass a context and additional request options.
  12758. //
  12759. // See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
  12760. //
  12761. // The context must be non-nil and will be used for request cancellation. If
  12762. // the context is nil a panic will occur. In the future the SDK may create
  12763. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12764. // for more information on using Contexts.
  12765. func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
  12766. req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
  12767. req.SetContext(ctx)
  12768. req.ApplyOptions(opts...)
  12769. return out, req.Send()
  12770. }
  12771. const opDisassociateAddress = "DisassociateAddress"
  12772. // DisassociateAddressRequest generates a "aws/request.Request" representing the
  12773. // client's request for the DisassociateAddress operation. The "output" return
  12774. // value can be used to capture response data after the request's "Send" method
  12775. // is called.
  12776. //
  12777. // See DisassociateAddress for usage and error information.
  12778. //
  12779. // Creating a request object using this method should be used when you want to inject
  12780. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12781. // access properties on the request object before or after sending the request. If
  12782. // you just want the service response, call the DisassociateAddress method directly
  12783. // instead.
  12784. //
  12785. // Note: You must call the "Send" method on the returned request object in order
  12786. // to execute the request.
  12787. //
  12788. // // Example sending a request using the DisassociateAddressRequest method.
  12789. // req, resp := client.DisassociateAddressRequest(params)
  12790. //
  12791. // err := req.Send()
  12792. // if err == nil { // resp is now filled
  12793. // fmt.Println(resp)
  12794. // }
  12795. //
  12796. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  12797. func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
  12798. op := &request.Operation{
  12799. Name: opDisassociateAddress,
  12800. HTTPMethod: "POST",
  12801. HTTPPath: "/",
  12802. }
  12803. if input == nil {
  12804. input = &DisassociateAddressInput{}
  12805. }
  12806. output = &DisassociateAddressOutput{}
  12807. req = c.newRequest(op, input, output)
  12808. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12809. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12810. return
  12811. }
  12812. // DisassociateAddress API operation for Amazon Elastic Compute Cloud.
  12813. //
  12814. // Disassociates an Elastic IP address from the instance or network interface
  12815. // it's associated with.
  12816. //
  12817. // An Elastic IP address is for use in either the EC2-Classic platform or in
  12818. // a VPC. For more information, see Elastic IP Addresses (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
  12819. // in the Amazon Elastic Compute Cloud User Guide.
  12820. //
  12821. // This is an idempotent operation. If you perform the operation more than once,
  12822. // Amazon EC2 doesn't return an error.
  12823. //
  12824. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12825. // with awserr.Error's Code and Message methods to get detailed information about
  12826. // the error.
  12827. //
  12828. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12829. // API operation DisassociateAddress for usage and error information.
  12830. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
  12831. func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
  12832. req, out := c.DisassociateAddressRequest(input)
  12833. return out, req.Send()
  12834. }
  12835. // DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
  12836. // the ability to pass a context and additional request options.
  12837. //
  12838. // See DisassociateAddress for details on how to use this API operation.
  12839. //
  12840. // The context must be non-nil and will be used for request cancellation. If
  12841. // the context is nil a panic will occur. In the future the SDK may create
  12842. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12843. // for more information on using Contexts.
  12844. func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
  12845. req, out := c.DisassociateAddressRequest(input)
  12846. req.SetContext(ctx)
  12847. req.ApplyOptions(opts...)
  12848. return out, req.Send()
  12849. }
  12850. const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
  12851. // DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
  12852. // client's request for the DisassociateIamInstanceProfile operation. The "output" return
  12853. // value can be used to capture response data after the request's "Send" method
  12854. // is called.
  12855. //
  12856. // See DisassociateIamInstanceProfile for usage and error information.
  12857. //
  12858. // Creating a request object using this method should be used when you want to inject
  12859. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12860. // access properties on the request object before or after sending the request. If
  12861. // you just want the service response, call the DisassociateIamInstanceProfile method directly
  12862. // instead.
  12863. //
  12864. // Note: You must call the "Send" method on the returned request object in order
  12865. // to execute the request.
  12866. //
  12867. // // Example sending a request using the DisassociateIamInstanceProfileRequest method.
  12868. // req, resp := client.DisassociateIamInstanceProfileRequest(params)
  12869. //
  12870. // err := req.Send()
  12871. // if err == nil { // resp is now filled
  12872. // fmt.Println(resp)
  12873. // }
  12874. //
  12875. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  12876. func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
  12877. op := &request.Operation{
  12878. Name: opDisassociateIamInstanceProfile,
  12879. HTTPMethod: "POST",
  12880. HTTPPath: "/",
  12881. }
  12882. if input == nil {
  12883. input = &DisassociateIamInstanceProfileInput{}
  12884. }
  12885. output = &DisassociateIamInstanceProfileOutput{}
  12886. req = c.newRequest(op, input, output)
  12887. return
  12888. }
  12889. // DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
  12890. //
  12891. // Disassociates an IAM instance profile from a running or stopped instance.
  12892. //
  12893. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  12894. //
  12895. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12896. // with awserr.Error's Code and Message methods to get detailed information about
  12897. // the error.
  12898. //
  12899. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12900. // API operation DisassociateIamInstanceProfile for usage and error information.
  12901. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
  12902. func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
  12903. req, out := c.DisassociateIamInstanceProfileRequest(input)
  12904. return out, req.Send()
  12905. }
  12906. // DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
  12907. // the ability to pass a context and additional request options.
  12908. //
  12909. // See DisassociateIamInstanceProfile for details on how to use this API operation.
  12910. //
  12911. // The context must be non-nil and will be used for request cancellation. If
  12912. // the context is nil a panic will occur. In the future the SDK may create
  12913. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12914. // for more information on using Contexts.
  12915. func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
  12916. req, out := c.DisassociateIamInstanceProfileRequest(input)
  12917. req.SetContext(ctx)
  12918. req.ApplyOptions(opts...)
  12919. return out, req.Send()
  12920. }
  12921. const opDisassociateRouteTable = "DisassociateRouteTable"
  12922. // DisassociateRouteTableRequest generates a "aws/request.Request" representing the
  12923. // client's request for the DisassociateRouteTable operation. The "output" return
  12924. // value can be used to capture response data after the request's "Send" method
  12925. // is called.
  12926. //
  12927. // See DisassociateRouteTable for usage and error information.
  12928. //
  12929. // Creating a request object using this method should be used when you want to inject
  12930. // custom logic into the request's lifecycle using a custom handler, or if you want to
  12931. // access properties on the request object before or after sending the request. If
  12932. // you just want the service response, call the DisassociateRouteTable method directly
  12933. // instead.
  12934. //
  12935. // Note: You must call the "Send" method on the returned request object in order
  12936. // to execute the request.
  12937. //
  12938. // // Example sending a request using the DisassociateRouteTableRequest method.
  12939. // req, resp := client.DisassociateRouteTableRequest(params)
  12940. //
  12941. // err := req.Send()
  12942. // if err == nil { // resp is now filled
  12943. // fmt.Println(resp)
  12944. // }
  12945. //
  12946. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  12947. func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
  12948. op := &request.Operation{
  12949. Name: opDisassociateRouteTable,
  12950. HTTPMethod: "POST",
  12951. HTTPPath: "/",
  12952. }
  12953. if input == nil {
  12954. input = &DisassociateRouteTableInput{}
  12955. }
  12956. output = &DisassociateRouteTableOutput{}
  12957. req = c.newRequest(op, input, output)
  12958. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  12959. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  12960. return
  12961. }
  12962. // DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
  12963. //
  12964. // Disassociates a subnet from a route table.
  12965. //
  12966. // After you perform this action, the subnet no longer uses the routes in the
  12967. // route table. Instead, it uses the routes in the VPC's main route table. For
  12968. // more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  12969. // in the Amazon Virtual Private Cloud User Guide.
  12970. //
  12971. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  12972. // with awserr.Error's Code and Message methods to get detailed information about
  12973. // the error.
  12974. //
  12975. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  12976. // API operation DisassociateRouteTable for usage and error information.
  12977. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
  12978. func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
  12979. req, out := c.DisassociateRouteTableRequest(input)
  12980. return out, req.Send()
  12981. }
  12982. // DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
  12983. // the ability to pass a context and additional request options.
  12984. //
  12985. // See DisassociateRouteTable for details on how to use this API operation.
  12986. //
  12987. // The context must be non-nil and will be used for request cancellation. If
  12988. // the context is nil a panic will occur. In the future the SDK may create
  12989. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  12990. // for more information on using Contexts.
  12991. func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
  12992. req, out := c.DisassociateRouteTableRequest(input)
  12993. req.SetContext(ctx)
  12994. req.ApplyOptions(opts...)
  12995. return out, req.Send()
  12996. }
  12997. const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
  12998. // DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
  12999. // client's request for the DisassociateSubnetCidrBlock operation. The "output" return
  13000. // value can be used to capture response data after the request's "Send" method
  13001. // is called.
  13002. //
  13003. // See DisassociateSubnetCidrBlock for usage and error information.
  13004. //
  13005. // Creating a request object using this method should be used when you want to inject
  13006. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13007. // access properties on the request object before or after sending the request. If
  13008. // you just want the service response, call the DisassociateSubnetCidrBlock method directly
  13009. // instead.
  13010. //
  13011. // Note: You must call the "Send" method on the returned request object in order
  13012. // to execute the request.
  13013. //
  13014. // // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
  13015. // req, resp := client.DisassociateSubnetCidrBlockRequest(params)
  13016. //
  13017. // err := req.Send()
  13018. // if err == nil { // resp is now filled
  13019. // fmt.Println(resp)
  13020. // }
  13021. //
  13022. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  13023. func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
  13024. op := &request.Operation{
  13025. Name: opDisassociateSubnetCidrBlock,
  13026. HTTPMethod: "POST",
  13027. HTTPPath: "/",
  13028. }
  13029. if input == nil {
  13030. input = &DisassociateSubnetCidrBlockInput{}
  13031. }
  13032. output = &DisassociateSubnetCidrBlockOutput{}
  13033. req = c.newRequest(op, input, output)
  13034. return
  13035. }
  13036. // DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
  13037. //
  13038. // Disassociates a CIDR block from a subnet. Currently, you can disassociate
  13039. // an IPv6 CIDR block only. You must detach or delete all gateways and resources
  13040. // that are associated with the CIDR block before you can disassociate it.
  13041. //
  13042. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13043. // with awserr.Error's Code and Message methods to get detailed information about
  13044. // the error.
  13045. //
  13046. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13047. // API operation DisassociateSubnetCidrBlock for usage and error information.
  13048. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
  13049. func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
  13050. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  13051. return out, req.Send()
  13052. }
  13053. // DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
  13054. // the ability to pass a context and additional request options.
  13055. //
  13056. // See DisassociateSubnetCidrBlock for details on how to use this API operation.
  13057. //
  13058. // The context must be non-nil and will be used for request cancellation. If
  13059. // the context is nil a panic will occur. In the future the SDK may create
  13060. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13061. // for more information on using Contexts.
  13062. func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
  13063. req, out := c.DisassociateSubnetCidrBlockRequest(input)
  13064. req.SetContext(ctx)
  13065. req.ApplyOptions(opts...)
  13066. return out, req.Send()
  13067. }
  13068. const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
  13069. // DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
  13070. // client's request for the DisassociateVpcCidrBlock operation. The "output" return
  13071. // value can be used to capture response data after the request's "Send" method
  13072. // is called.
  13073. //
  13074. // See DisassociateVpcCidrBlock for usage and error information.
  13075. //
  13076. // Creating a request object using this method should be used when you want to inject
  13077. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13078. // access properties on the request object before or after sending the request. If
  13079. // you just want the service response, call the DisassociateVpcCidrBlock method directly
  13080. // instead.
  13081. //
  13082. // Note: You must call the "Send" method on the returned request object in order
  13083. // to execute the request.
  13084. //
  13085. // // Example sending a request using the DisassociateVpcCidrBlockRequest method.
  13086. // req, resp := client.DisassociateVpcCidrBlockRequest(params)
  13087. //
  13088. // err := req.Send()
  13089. // if err == nil { // resp is now filled
  13090. // fmt.Println(resp)
  13091. // }
  13092. //
  13093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  13094. func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
  13095. op := &request.Operation{
  13096. Name: opDisassociateVpcCidrBlock,
  13097. HTTPMethod: "POST",
  13098. HTTPPath: "/",
  13099. }
  13100. if input == nil {
  13101. input = &DisassociateVpcCidrBlockInput{}
  13102. }
  13103. output = &DisassociateVpcCidrBlockOutput{}
  13104. req = c.newRequest(op, input, output)
  13105. return
  13106. }
  13107. // DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
  13108. //
  13109. // Disassociates a CIDR block from a VPC. Currently, you can disassociate an
  13110. // IPv6 CIDR block only. You must detach or delete all gateways and resources
  13111. // that are associated with the CIDR block before you can disassociate it.
  13112. //
  13113. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13114. // with awserr.Error's Code and Message methods to get detailed information about
  13115. // the error.
  13116. //
  13117. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13118. // API operation DisassociateVpcCidrBlock for usage and error information.
  13119. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
  13120. func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
  13121. req, out := c.DisassociateVpcCidrBlockRequest(input)
  13122. return out, req.Send()
  13123. }
  13124. // DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
  13125. // the ability to pass a context and additional request options.
  13126. //
  13127. // See DisassociateVpcCidrBlock for details on how to use this API operation.
  13128. //
  13129. // The context must be non-nil and will be used for request cancellation. If
  13130. // the context is nil a panic will occur. In the future the SDK may create
  13131. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13132. // for more information on using Contexts.
  13133. func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
  13134. req, out := c.DisassociateVpcCidrBlockRequest(input)
  13135. req.SetContext(ctx)
  13136. req.ApplyOptions(opts...)
  13137. return out, req.Send()
  13138. }
  13139. const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  13140. // EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
  13141. // client's request for the EnableVgwRoutePropagation operation. The "output" return
  13142. // value can be used to capture response data after the request's "Send" method
  13143. // is called.
  13144. //
  13145. // See EnableVgwRoutePropagation for usage and error information.
  13146. //
  13147. // Creating a request object using this method should be used when you want to inject
  13148. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13149. // access properties on the request object before or after sending the request. If
  13150. // you just want the service response, call the EnableVgwRoutePropagation method directly
  13151. // instead.
  13152. //
  13153. // Note: You must call the "Send" method on the returned request object in order
  13154. // to execute the request.
  13155. //
  13156. // // Example sending a request using the EnableVgwRoutePropagationRequest method.
  13157. // req, resp := client.EnableVgwRoutePropagationRequest(params)
  13158. //
  13159. // err := req.Send()
  13160. // if err == nil { // resp is now filled
  13161. // fmt.Println(resp)
  13162. // }
  13163. //
  13164. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  13165. func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
  13166. op := &request.Operation{
  13167. Name: opEnableVgwRoutePropagation,
  13168. HTTPMethod: "POST",
  13169. HTTPPath: "/",
  13170. }
  13171. if input == nil {
  13172. input = &EnableVgwRoutePropagationInput{}
  13173. }
  13174. output = &EnableVgwRoutePropagationOutput{}
  13175. req = c.newRequest(op, input, output)
  13176. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13177. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13178. return
  13179. }
  13180. // EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
  13181. //
  13182. // Enables a virtual private gateway (VGW) to propagate routes to the specified
  13183. // route table of a VPC.
  13184. //
  13185. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13186. // with awserr.Error's Code and Message methods to get detailed information about
  13187. // the error.
  13188. //
  13189. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13190. // API operation EnableVgwRoutePropagation for usage and error information.
  13191. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
  13192. func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
  13193. req, out := c.EnableVgwRoutePropagationRequest(input)
  13194. return out, req.Send()
  13195. }
  13196. // EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
  13197. // the ability to pass a context and additional request options.
  13198. //
  13199. // See EnableVgwRoutePropagation for details on how to use this API operation.
  13200. //
  13201. // The context must be non-nil and will be used for request cancellation. If
  13202. // the context is nil a panic will occur. In the future the SDK may create
  13203. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13204. // for more information on using Contexts.
  13205. func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
  13206. req, out := c.EnableVgwRoutePropagationRequest(input)
  13207. req.SetContext(ctx)
  13208. req.ApplyOptions(opts...)
  13209. return out, req.Send()
  13210. }
  13211. const opEnableVolumeIO = "EnableVolumeIO"
  13212. // EnableVolumeIORequest generates a "aws/request.Request" representing the
  13213. // client's request for the EnableVolumeIO operation. The "output" return
  13214. // value can be used to capture response data after the request's "Send" method
  13215. // is called.
  13216. //
  13217. // See EnableVolumeIO for usage and error information.
  13218. //
  13219. // Creating a request object using this method should be used when you want to inject
  13220. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13221. // access properties on the request object before or after sending the request. If
  13222. // you just want the service response, call the EnableVolumeIO method directly
  13223. // instead.
  13224. //
  13225. // Note: You must call the "Send" method on the returned request object in order
  13226. // to execute the request.
  13227. //
  13228. // // Example sending a request using the EnableVolumeIORequest method.
  13229. // req, resp := client.EnableVolumeIORequest(params)
  13230. //
  13231. // err := req.Send()
  13232. // if err == nil { // resp is now filled
  13233. // fmt.Println(resp)
  13234. // }
  13235. //
  13236. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  13237. func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
  13238. op := &request.Operation{
  13239. Name: opEnableVolumeIO,
  13240. HTTPMethod: "POST",
  13241. HTTPPath: "/",
  13242. }
  13243. if input == nil {
  13244. input = &EnableVolumeIOInput{}
  13245. }
  13246. output = &EnableVolumeIOOutput{}
  13247. req = c.newRequest(op, input, output)
  13248. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  13249. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  13250. return
  13251. }
  13252. // EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
  13253. //
  13254. // Enables I/O operations for a volume that had I/O operations disabled because
  13255. // the data on the volume was potentially inconsistent.
  13256. //
  13257. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13258. // with awserr.Error's Code and Message methods to get detailed information about
  13259. // the error.
  13260. //
  13261. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13262. // API operation EnableVolumeIO for usage and error information.
  13263. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
  13264. func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
  13265. req, out := c.EnableVolumeIORequest(input)
  13266. return out, req.Send()
  13267. }
  13268. // EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
  13269. // the ability to pass a context and additional request options.
  13270. //
  13271. // See EnableVolumeIO for details on how to use this API operation.
  13272. //
  13273. // The context must be non-nil and will be used for request cancellation. If
  13274. // the context is nil a panic will occur. In the future the SDK may create
  13275. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13276. // for more information on using Contexts.
  13277. func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
  13278. req, out := c.EnableVolumeIORequest(input)
  13279. req.SetContext(ctx)
  13280. req.ApplyOptions(opts...)
  13281. return out, req.Send()
  13282. }
  13283. const opEnableVpcClassicLink = "EnableVpcClassicLink"
  13284. // EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
  13285. // client's request for the EnableVpcClassicLink operation. The "output" return
  13286. // value can be used to capture response data after the request's "Send" method
  13287. // is called.
  13288. //
  13289. // See EnableVpcClassicLink for usage and error information.
  13290. //
  13291. // Creating a request object using this method should be used when you want to inject
  13292. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13293. // access properties on the request object before or after sending the request. If
  13294. // you just want the service response, call the EnableVpcClassicLink method directly
  13295. // instead.
  13296. //
  13297. // Note: You must call the "Send" method on the returned request object in order
  13298. // to execute the request.
  13299. //
  13300. // // Example sending a request using the EnableVpcClassicLinkRequest method.
  13301. // req, resp := client.EnableVpcClassicLinkRequest(params)
  13302. //
  13303. // err := req.Send()
  13304. // if err == nil { // resp is now filled
  13305. // fmt.Println(resp)
  13306. // }
  13307. //
  13308. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  13309. func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
  13310. op := &request.Operation{
  13311. Name: opEnableVpcClassicLink,
  13312. HTTPMethod: "POST",
  13313. HTTPPath: "/",
  13314. }
  13315. if input == nil {
  13316. input = &EnableVpcClassicLinkInput{}
  13317. }
  13318. output = &EnableVpcClassicLinkOutput{}
  13319. req = c.newRequest(op, input, output)
  13320. return
  13321. }
  13322. // EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
  13323. //
  13324. // Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
  13325. // your ClassicLink-enabled VPC to allow communication over private IP addresses.
  13326. // You cannot enable your VPC for ClassicLink if any of your VPC's route tables
  13327. // have existing routes for address ranges within the 10.0.0.0/8 IP address
  13328. // range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
  13329. // IP address ranges. For more information, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13330. // in the Amazon Elastic Compute Cloud User Guide.
  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 EnableVpcClassicLink for usage and error information.
  13338. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
  13339. func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
  13340. req, out := c.EnableVpcClassicLinkRequest(input)
  13341. return out, req.Send()
  13342. }
  13343. // EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
  13344. // the ability to pass a context and additional request options.
  13345. //
  13346. // See EnableVpcClassicLink 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) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
  13353. req, out := c.EnableVpcClassicLinkRequest(input)
  13354. req.SetContext(ctx)
  13355. req.ApplyOptions(opts...)
  13356. return out, req.Send()
  13357. }
  13358. const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
  13359. // EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
  13360. // client's request for the EnableVpcClassicLinkDnsSupport 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 EnableVpcClassicLinkDnsSupport 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 EnableVpcClassicLinkDnsSupport 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 EnableVpcClassicLinkDnsSupportRequest method.
  13376. // req, resp := client.EnableVpcClassicLinkDnsSupportRequest(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/EnableVpcClassicLinkDnsSupport
  13384. func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
  13385. op := &request.Operation{
  13386. Name: opEnableVpcClassicLinkDnsSupport,
  13387. HTTPMethod: "POST",
  13388. HTTPPath: "/",
  13389. }
  13390. if input == nil {
  13391. input = &EnableVpcClassicLinkDnsSupportInput{}
  13392. }
  13393. output = &EnableVpcClassicLinkDnsSupportOutput{}
  13394. req = c.newRequest(op, input, output)
  13395. return
  13396. }
  13397. // EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
  13398. //
  13399. // Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
  13400. // the DNS hostname of a linked EC2-Classic instance resolves to its private
  13401. // IP address when addressed from an instance in the VPC to which it's linked.
  13402. // Similarly, the DNS hostname of an instance in a VPC resolves to its private
  13403. // IP address when addressed from a linked EC2-Classic instance. For more information
  13404. // about ClassicLink, see ClassicLink (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
  13405. // in the Amazon Elastic Compute Cloud User Guide.
  13406. //
  13407. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13408. // with awserr.Error's Code and Message methods to get detailed information about
  13409. // the error.
  13410. //
  13411. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13412. // API operation EnableVpcClassicLinkDnsSupport for usage and error information.
  13413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
  13414. func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  13415. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  13416. return out, req.Send()
  13417. }
  13418. // EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
  13419. // the ability to pass a context and additional request options.
  13420. //
  13421. // See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
  13422. //
  13423. // The context must be non-nil and will be used for request cancellation. If
  13424. // the context is nil a panic will occur. In the future the SDK may create
  13425. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13426. // for more information on using Contexts.
  13427. func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
  13428. req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
  13429. req.SetContext(ctx)
  13430. req.ApplyOptions(opts...)
  13431. return out, req.Send()
  13432. }
  13433. const opGetConsoleOutput = "GetConsoleOutput"
  13434. // GetConsoleOutputRequest generates a "aws/request.Request" representing the
  13435. // client's request for the GetConsoleOutput operation. The "output" return
  13436. // value can be used to capture response data after the request's "Send" method
  13437. // is called.
  13438. //
  13439. // See GetConsoleOutput for usage and error information.
  13440. //
  13441. // Creating a request object using this method should be used when you want to inject
  13442. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13443. // access properties on the request object before or after sending the request. If
  13444. // you just want the service response, call the GetConsoleOutput method directly
  13445. // instead.
  13446. //
  13447. // Note: You must call the "Send" method on the returned request object in order
  13448. // to execute the request.
  13449. //
  13450. // // Example sending a request using the GetConsoleOutputRequest method.
  13451. // req, resp := client.GetConsoleOutputRequest(params)
  13452. //
  13453. // err := req.Send()
  13454. // if err == nil { // resp is now filled
  13455. // fmt.Println(resp)
  13456. // }
  13457. //
  13458. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  13459. func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
  13460. op := &request.Operation{
  13461. Name: opGetConsoleOutput,
  13462. HTTPMethod: "POST",
  13463. HTTPPath: "/",
  13464. }
  13465. if input == nil {
  13466. input = &GetConsoleOutputInput{}
  13467. }
  13468. output = &GetConsoleOutputOutput{}
  13469. req = c.newRequest(op, input, output)
  13470. return
  13471. }
  13472. // GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
  13473. //
  13474. // Gets the console output for the specified instance.
  13475. //
  13476. // Instances do not have a physical monitor through which you can view their
  13477. // console output. They also lack physical controls that allow you to power
  13478. // up, reboot, or shut them down. To allow these actions, we provide them through
  13479. // the Amazon EC2 API and command line interface.
  13480. //
  13481. // Instance console output is buffered and posted shortly after instance boot,
  13482. // reboot, and termination. Amazon EC2 preserves the most recent 64 KB output
  13483. // which is available for at least one hour after the most recent post.
  13484. //
  13485. // For Linux instances, the instance console output displays the exact console
  13486. // output that would normally be displayed on a physical monitor attached to
  13487. // a computer. This output is buffered because the instance produces it and
  13488. // then posts it to a store where the instance's owner can retrieve it.
  13489. //
  13490. // For Windows instances, the instance console output includes output from the
  13491. // EC2Config service.
  13492. //
  13493. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13494. // with awserr.Error's Code and Message methods to get detailed information about
  13495. // the error.
  13496. //
  13497. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13498. // API operation GetConsoleOutput for usage and error information.
  13499. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
  13500. func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
  13501. req, out := c.GetConsoleOutputRequest(input)
  13502. return out, req.Send()
  13503. }
  13504. // GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
  13505. // the ability to pass a context and additional request options.
  13506. //
  13507. // See GetConsoleOutput for details on how to use this API operation.
  13508. //
  13509. // The context must be non-nil and will be used for request cancellation. If
  13510. // the context is nil a panic will occur. In the future the SDK may create
  13511. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13512. // for more information on using Contexts.
  13513. func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
  13514. req, out := c.GetConsoleOutputRequest(input)
  13515. req.SetContext(ctx)
  13516. req.ApplyOptions(opts...)
  13517. return out, req.Send()
  13518. }
  13519. const opGetConsoleScreenshot = "GetConsoleScreenshot"
  13520. // GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
  13521. // client's request for the GetConsoleScreenshot operation. The "output" return
  13522. // value can be used to capture response data after the request's "Send" method
  13523. // is called.
  13524. //
  13525. // See GetConsoleScreenshot for usage and error information.
  13526. //
  13527. // Creating a request object using this method should be used when you want to inject
  13528. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13529. // access properties on the request object before or after sending the request. If
  13530. // you just want the service response, call the GetConsoleScreenshot method directly
  13531. // instead.
  13532. //
  13533. // Note: You must call the "Send" method on the returned request object in order
  13534. // to execute the request.
  13535. //
  13536. // // Example sending a request using the GetConsoleScreenshotRequest method.
  13537. // req, resp := client.GetConsoleScreenshotRequest(params)
  13538. //
  13539. // err := req.Send()
  13540. // if err == nil { // resp is now filled
  13541. // fmt.Println(resp)
  13542. // }
  13543. //
  13544. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  13545. func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
  13546. op := &request.Operation{
  13547. Name: opGetConsoleScreenshot,
  13548. HTTPMethod: "POST",
  13549. HTTPPath: "/",
  13550. }
  13551. if input == nil {
  13552. input = &GetConsoleScreenshotInput{}
  13553. }
  13554. output = &GetConsoleScreenshotOutput{}
  13555. req = c.newRequest(op, input, output)
  13556. return
  13557. }
  13558. // GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
  13559. //
  13560. // Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
  13561. //
  13562. // The returned content is Base64-encoded.
  13563. //
  13564. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13565. // with awserr.Error's Code and Message methods to get detailed information about
  13566. // the error.
  13567. //
  13568. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13569. // API operation GetConsoleScreenshot for usage and error information.
  13570. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
  13571. func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
  13572. req, out := c.GetConsoleScreenshotRequest(input)
  13573. return out, req.Send()
  13574. }
  13575. // GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
  13576. // the ability to pass a context and additional request options.
  13577. //
  13578. // See GetConsoleScreenshot for details on how to use this API operation.
  13579. //
  13580. // The context must be non-nil and will be used for request cancellation. If
  13581. // the context is nil a panic will occur. In the future the SDK may create
  13582. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13583. // for more information on using Contexts.
  13584. func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
  13585. req, out := c.GetConsoleScreenshotRequest(input)
  13586. req.SetContext(ctx)
  13587. req.ApplyOptions(opts...)
  13588. return out, req.Send()
  13589. }
  13590. const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
  13591. // GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
  13592. // client's request for the GetHostReservationPurchasePreview operation. The "output" return
  13593. // value can be used to capture response data after the request's "Send" method
  13594. // is called.
  13595. //
  13596. // See GetHostReservationPurchasePreview for usage and error information.
  13597. //
  13598. // Creating a request object using this method should be used when you want to inject
  13599. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13600. // access properties on the request object before or after sending the request. If
  13601. // you just want the service response, call the GetHostReservationPurchasePreview method directly
  13602. // instead.
  13603. //
  13604. // Note: You must call the "Send" method on the returned request object in order
  13605. // to execute the request.
  13606. //
  13607. // // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
  13608. // req, resp := client.GetHostReservationPurchasePreviewRequest(params)
  13609. //
  13610. // err := req.Send()
  13611. // if err == nil { // resp is now filled
  13612. // fmt.Println(resp)
  13613. // }
  13614. //
  13615. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  13616. func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
  13617. op := &request.Operation{
  13618. Name: opGetHostReservationPurchasePreview,
  13619. HTTPMethod: "POST",
  13620. HTTPPath: "/",
  13621. }
  13622. if input == nil {
  13623. input = &GetHostReservationPurchasePreviewInput{}
  13624. }
  13625. output = &GetHostReservationPurchasePreviewOutput{}
  13626. req = c.newRequest(op, input, output)
  13627. return
  13628. }
  13629. // GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
  13630. //
  13631. // Preview a reservation purchase with configurations that match those of your
  13632. // Dedicated Host. You must have active Dedicated Hosts in your account before
  13633. // you purchase a reservation.
  13634. //
  13635. // This is a preview of the PurchaseHostReservation action and does not result
  13636. // in the offering being purchased.
  13637. //
  13638. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13639. // with awserr.Error's Code and Message methods to get detailed information about
  13640. // the error.
  13641. //
  13642. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13643. // API operation GetHostReservationPurchasePreview for usage and error information.
  13644. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
  13645. func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
  13646. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  13647. return out, req.Send()
  13648. }
  13649. // GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
  13650. // the ability to pass a context and additional request options.
  13651. //
  13652. // See GetHostReservationPurchasePreview for details on how to use this API operation.
  13653. //
  13654. // The context must be non-nil and will be used for request cancellation. If
  13655. // the context is nil a panic will occur. In the future the SDK may create
  13656. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13657. // for more information on using Contexts.
  13658. func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
  13659. req, out := c.GetHostReservationPurchasePreviewRequest(input)
  13660. req.SetContext(ctx)
  13661. req.ApplyOptions(opts...)
  13662. return out, req.Send()
  13663. }
  13664. const opGetPasswordData = "GetPasswordData"
  13665. // GetPasswordDataRequest generates a "aws/request.Request" representing the
  13666. // client's request for the GetPasswordData operation. The "output" return
  13667. // value can be used to capture response data after the request's "Send" method
  13668. // is called.
  13669. //
  13670. // See GetPasswordData for usage and error information.
  13671. //
  13672. // Creating a request object using this method should be used when you want to inject
  13673. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13674. // access properties on the request object before or after sending the request. If
  13675. // you just want the service response, call the GetPasswordData method directly
  13676. // instead.
  13677. //
  13678. // Note: You must call the "Send" method on the returned request object in order
  13679. // to execute the request.
  13680. //
  13681. // // Example sending a request using the GetPasswordDataRequest method.
  13682. // req, resp := client.GetPasswordDataRequest(params)
  13683. //
  13684. // err := req.Send()
  13685. // if err == nil { // resp is now filled
  13686. // fmt.Println(resp)
  13687. // }
  13688. //
  13689. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  13690. func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
  13691. op := &request.Operation{
  13692. Name: opGetPasswordData,
  13693. HTTPMethod: "POST",
  13694. HTTPPath: "/",
  13695. }
  13696. if input == nil {
  13697. input = &GetPasswordDataInput{}
  13698. }
  13699. output = &GetPasswordDataOutput{}
  13700. req = c.newRequest(op, input, output)
  13701. return
  13702. }
  13703. // GetPasswordData API operation for Amazon Elastic Compute Cloud.
  13704. //
  13705. // Retrieves the encrypted administrator password for an instance running Windows.
  13706. //
  13707. // The Windows password is generated at boot if the EC2Config service plugin,
  13708. // Ec2SetPassword, is enabled. This usually only happens the first time an AMI
  13709. // is launched, and then Ec2SetPassword is automatically disabled. The password
  13710. // is not generated for rebundled AMIs unless Ec2SetPassword is enabled before
  13711. // bundling.
  13712. //
  13713. // The password is encrypted using the key pair that you specified when you
  13714. // launched the instance. You must provide the corresponding key pair file.
  13715. //
  13716. // Password generation and encryption takes a few moments. We recommend that
  13717. // you wait up to 15 minutes after launching an instance before trying to retrieve
  13718. // the generated password.
  13719. //
  13720. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13721. // with awserr.Error's Code and Message methods to get detailed information about
  13722. // the error.
  13723. //
  13724. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13725. // API operation GetPasswordData for usage and error information.
  13726. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
  13727. func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
  13728. req, out := c.GetPasswordDataRequest(input)
  13729. return out, req.Send()
  13730. }
  13731. // GetPasswordDataWithContext is the same as GetPasswordData with the addition of
  13732. // the ability to pass a context and additional request options.
  13733. //
  13734. // See GetPasswordData for details on how to use this API operation.
  13735. //
  13736. // The context must be non-nil and will be used for request cancellation. If
  13737. // the context is nil a panic will occur. In the future the SDK may create
  13738. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13739. // for more information on using Contexts.
  13740. func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
  13741. req, out := c.GetPasswordDataRequest(input)
  13742. req.SetContext(ctx)
  13743. req.ApplyOptions(opts...)
  13744. return out, req.Send()
  13745. }
  13746. const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
  13747. // GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
  13748. // client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
  13749. // value can be used to capture response data after the request's "Send" method
  13750. // is called.
  13751. //
  13752. // See GetReservedInstancesExchangeQuote for usage and error information.
  13753. //
  13754. // Creating a request object using this method should be used when you want to inject
  13755. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13756. // access properties on the request object before or after sending the request. If
  13757. // you just want the service response, call the GetReservedInstancesExchangeQuote method directly
  13758. // instead.
  13759. //
  13760. // Note: You must call the "Send" method on the returned request object in order
  13761. // to execute the request.
  13762. //
  13763. // // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
  13764. // req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
  13765. //
  13766. // err := req.Send()
  13767. // if err == nil { // resp is now filled
  13768. // fmt.Println(resp)
  13769. // }
  13770. //
  13771. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  13772. func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
  13773. op := &request.Operation{
  13774. Name: opGetReservedInstancesExchangeQuote,
  13775. HTTPMethod: "POST",
  13776. HTTPPath: "/",
  13777. }
  13778. if input == nil {
  13779. input = &GetReservedInstancesExchangeQuoteInput{}
  13780. }
  13781. output = &GetReservedInstancesExchangeQuoteOutput{}
  13782. req = c.newRequest(op, input, output)
  13783. return
  13784. }
  13785. // GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
  13786. //
  13787. // Returns details about the values and term of your specified Convertible Reserved
  13788. // Instances. When a target configuration is specified, it returns information
  13789. // about whether the exchange is valid and can be performed.
  13790. //
  13791. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13792. // with awserr.Error's Code and Message methods to get detailed information about
  13793. // the error.
  13794. //
  13795. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13796. // API operation GetReservedInstancesExchangeQuote for usage and error information.
  13797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
  13798. func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
  13799. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  13800. return out, req.Send()
  13801. }
  13802. // GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
  13803. // the ability to pass a context and additional request options.
  13804. //
  13805. // See GetReservedInstancesExchangeQuote for details on how to use this API operation.
  13806. //
  13807. // The context must be non-nil and will be used for request cancellation. If
  13808. // the context is nil a panic will occur. In the future the SDK may create
  13809. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13810. // for more information on using Contexts.
  13811. func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
  13812. req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
  13813. req.SetContext(ctx)
  13814. req.ApplyOptions(opts...)
  13815. return out, req.Send()
  13816. }
  13817. const opImportImage = "ImportImage"
  13818. // ImportImageRequest generates a "aws/request.Request" representing the
  13819. // client's request for the ImportImage operation. The "output" return
  13820. // value can be used to capture response data after the request's "Send" method
  13821. // is called.
  13822. //
  13823. // See ImportImage for usage and error information.
  13824. //
  13825. // Creating a request object using this method should be used when you want to inject
  13826. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13827. // access properties on the request object before or after sending the request. If
  13828. // you just want the service response, call the ImportImage method directly
  13829. // instead.
  13830. //
  13831. // Note: You must call the "Send" method on the returned request object in order
  13832. // to execute the request.
  13833. //
  13834. // // Example sending a request using the ImportImageRequest method.
  13835. // req, resp := client.ImportImageRequest(params)
  13836. //
  13837. // err := req.Send()
  13838. // if err == nil { // resp is now filled
  13839. // fmt.Println(resp)
  13840. // }
  13841. //
  13842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  13843. func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
  13844. op := &request.Operation{
  13845. Name: opImportImage,
  13846. HTTPMethod: "POST",
  13847. HTTPPath: "/",
  13848. }
  13849. if input == nil {
  13850. input = &ImportImageInput{}
  13851. }
  13852. output = &ImportImageOutput{}
  13853. req = c.newRequest(op, input, output)
  13854. return
  13855. }
  13856. // ImportImage API operation for Amazon Elastic Compute Cloud.
  13857. //
  13858. // Import single or multi-volume disk images or EBS snapshots into an Amazon
  13859. // Machine Image (AMI). For more information, see Importing a VM as an Image
  13860. // Using VM Import/Export (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
  13861. // in the VM Import/Export User Guide.
  13862. //
  13863. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13864. // with awserr.Error's Code and Message methods to get detailed information about
  13865. // the error.
  13866. //
  13867. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13868. // API operation ImportImage for usage and error information.
  13869. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
  13870. func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
  13871. req, out := c.ImportImageRequest(input)
  13872. return out, req.Send()
  13873. }
  13874. // ImportImageWithContext is the same as ImportImage with the addition of
  13875. // the ability to pass a context and additional request options.
  13876. //
  13877. // See ImportImage for details on how to use this API operation.
  13878. //
  13879. // The context must be non-nil and will be used for request cancellation. If
  13880. // the context is nil a panic will occur. In the future the SDK may create
  13881. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13882. // for more information on using Contexts.
  13883. func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
  13884. req, out := c.ImportImageRequest(input)
  13885. req.SetContext(ctx)
  13886. req.ApplyOptions(opts...)
  13887. return out, req.Send()
  13888. }
  13889. const opImportInstance = "ImportInstance"
  13890. // ImportInstanceRequest generates a "aws/request.Request" representing the
  13891. // client's request for the ImportInstance operation. The "output" return
  13892. // value can be used to capture response data after the request's "Send" method
  13893. // is called.
  13894. //
  13895. // See ImportInstance for usage and error information.
  13896. //
  13897. // Creating a request object using this method should be used when you want to inject
  13898. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13899. // access properties on the request object before or after sending the request. If
  13900. // you just want the service response, call the ImportInstance method directly
  13901. // instead.
  13902. //
  13903. // Note: You must call the "Send" method on the returned request object in order
  13904. // to execute the request.
  13905. //
  13906. // // Example sending a request using the ImportInstanceRequest method.
  13907. // req, resp := client.ImportInstanceRequest(params)
  13908. //
  13909. // err := req.Send()
  13910. // if err == nil { // resp is now filled
  13911. // fmt.Println(resp)
  13912. // }
  13913. //
  13914. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  13915. func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
  13916. op := &request.Operation{
  13917. Name: opImportInstance,
  13918. HTTPMethod: "POST",
  13919. HTTPPath: "/",
  13920. }
  13921. if input == nil {
  13922. input = &ImportInstanceInput{}
  13923. }
  13924. output = &ImportInstanceOutput{}
  13925. req = c.newRequest(op, input, output)
  13926. return
  13927. }
  13928. // ImportInstance API operation for Amazon Elastic Compute Cloud.
  13929. //
  13930. // Creates an import instance task using metadata from the specified disk image.
  13931. // ImportInstance only supports single-volume VMs. To import multi-volume VMs,
  13932. // use ImportImage. For more information, see Importing a Virtual Machine Using
  13933. // the Amazon EC2 CLI (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
  13934. //
  13935. // For information about the import manifest referenced by this API action,
  13936. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  13937. //
  13938. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  13939. // with awserr.Error's Code and Message methods to get detailed information about
  13940. // the error.
  13941. //
  13942. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  13943. // API operation ImportInstance for usage and error information.
  13944. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
  13945. func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
  13946. req, out := c.ImportInstanceRequest(input)
  13947. return out, req.Send()
  13948. }
  13949. // ImportInstanceWithContext is the same as ImportInstance with the addition of
  13950. // the ability to pass a context and additional request options.
  13951. //
  13952. // See ImportInstance for details on how to use this API operation.
  13953. //
  13954. // The context must be non-nil and will be used for request cancellation. If
  13955. // the context is nil a panic will occur. In the future the SDK may create
  13956. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  13957. // for more information on using Contexts.
  13958. func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
  13959. req, out := c.ImportInstanceRequest(input)
  13960. req.SetContext(ctx)
  13961. req.ApplyOptions(opts...)
  13962. return out, req.Send()
  13963. }
  13964. const opImportKeyPair = "ImportKeyPair"
  13965. // ImportKeyPairRequest generates a "aws/request.Request" representing the
  13966. // client's request for the ImportKeyPair operation. The "output" return
  13967. // value can be used to capture response data after the request's "Send" method
  13968. // is called.
  13969. //
  13970. // See ImportKeyPair for usage and error information.
  13971. //
  13972. // Creating a request object using this method should be used when you want to inject
  13973. // custom logic into the request's lifecycle using a custom handler, or if you want to
  13974. // access properties on the request object before or after sending the request. If
  13975. // you just want the service response, call the ImportKeyPair method directly
  13976. // instead.
  13977. //
  13978. // Note: You must call the "Send" method on the returned request object in order
  13979. // to execute the request.
  13980. //
  13981. // // Example sending a request using the ImportKeyPairRequest method.
  13982. // req, resp := client.ImportKeyPairRequest(params)
  13983. //
  13984. // err := req.Send()
  13985. // if err == nil { // resp is now filled
  13986. // fmt.Println(resp)
  13987. // }
  13988. //
  13989. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  13990. func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
  13991. op := &request.Operation{
  13992. Name: opImportKeyPair,
  13993. HTTPMethod: "POST",
  13994. HTTPPath: "/",
  13995. }
  13996. if input == nil {
  13997. input = &ImportKeyPairInput{}
  13998. }
  13999. output = &ImportKeyPairOutput{}
  14000. req = c.newRequest(op, input, output)
  14001. return
  14002. }
  14003. // ImportKeyPair API operation for Amazon Elastic Compute Cloud.
  14004. //
  14005. // Imports the public key from an RSA key pair that you created with a third-party
  14006. // tool. Compare this with CreateKeyPair, in which AWS creates the key pair
  14007. // and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
  14008. // you create the key pair and give AWS just the public key. The private key
  14009. // is never transferred between you and AWS.
  14010. //
  14011. // For more information about key pairs, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  14012. // in the Amazon Elastic Compute Cloud User Guide.
  14013. //
  14014. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14015. // with awserr.Error's Code and Message methods to get detailed information about
  14016. // the error.
  14017. //
  14018. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14019. // API operation ImportKeyPair for usage and error information.
  14020. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
  14021. func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
  14022. req, out := c.ImportKeyPairRequest(input)
  14023. return out, req.Send()
  14024. }
  14025. // ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
  14026. // the ability to pass a context and additional request options.
  14027. //
  14028. // See ImportKeyPair for details on how to use this API operation.
  14029. //
  14030. // The context must be non-nil and will be used for request cancellation. If
  14031. // the context is nil a panic will occur. In the future the SDK may create
  14032. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14033. // for more information on using Contexts.
  14034. func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
  14035. req, out := c.ImportKeyPairRequest(input)
  14036. req.SetContext(ctx)
  14037. req.ApplyOptions(opts...)
  14038. return out, req.Send()
  14039. }
  14040. const opImportSnapshot = "ImportSnapshot"
  14041. // ImportSnapshotRequest generates a "aws/request.Request" representing the
  14042. // client's request for the ImportSnapshot operation. The "output" return
  14043. // value can be used to capture response data after the request's "Send" method
  14044. // is called.
  14045. //
  14046. // See ImportSnapshot for usage and error information.
  14047. //
  14048. // Creating a request object using this method should be used when you want to inject
  14049. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14050. // access properties on the request object before or after sending the request. If
  14051. // you just want the service response, call the ImportSnapshot method directly
  14052. // instead.
  14053. //
  14054. // Note: You must call the "Send" method on the returned request object in order
  14055. // to execute the request.
  14056. //
  14057. // // Example sending a request using the ImportSnapshotRequest method.
  14058. // req, resp := client.ImportSnapshotRequest(params)
  14059. //
  14060. // err := req.Send()
  14061. // if err == nil { // resp is now filled
  14062. // fmt.Println(resp)
  14063. // }
  14064. //
  14065. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  14066. func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
  14067. op := &request.Operation{
  14068. Name: opImportSnapshot,
  14069. HTTPMethod: "POST",
  14070. HTTPPath: "/",
  14071. }
  14072. if input == nil {
  14073. input = &ImportSnapshotInput{}
  14074. }
  14075. output = &ImportSnapshotOutput{}
  14076. req = c.newRequest(op, input, output)
  14077. return
  14078. }
  14079. // ImportSnapshot API operation for Amazon Elastic Compute Cloud.
  14080. //
  14081. // Imports a disk into an EBS snapshot.
  14082. //
  14083. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14084. // with awserr.Error's Code and Message methods to get detailed information about
  14085. // the error.
  14086. //
  14087. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14088. // API operation ImportSnapshot for usage and error information.
  14089. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
  14090. func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
  14091. req, out := c.ImportSnapshotRequest(input)
  14092. return out, req.Send()
  14093. }
  14094. // ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
  14095. // the ability to pass a context and additional request options.
  14096. //
  14097. // See ImportSnapshot for details on how to use this API operation.
  14098. //
  14099. // The context must be non-nil and will be used for request cancellation. If
  14100. // the context is nil a panic will occur. In the future the SDK may create
  14101. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14102. // for more information on using Contexts.
  14103. func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
  14104. req, out := c.ImportSnapshotRequest(input)
  14105. req.SetContext(ctx)
  14106. req.ApplyOptions(opts...)
  14107. return out, req.Send()
  14108. }
  14109. const opImportVolume = "ImportVolume"
  14110. // ImportVolumeRequest generates a "aws/request.Request" representing the
  14111. // client's request for the ImportVolume operation. The "output" return
  14112. // value can be used to capture response data after the request's "Send" method
  14113. // is called.
  14114. //
  14115. // See ImportVolume for usage and error information.
  14116. //
  14117. // Creating a request object using this method should be used when you want to inject
  14118. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14119. // access properties on the request object before or after sending the request. If
  14120. // you just want the service response, call the ImportVolume method directly
  14121. // instead.
  14122. //
  14123. // Note: You must call the "Send" method on the returned request object in order
  14124. // to execute the request.
  14125. //
  14126. // // Example sending a request using the ImportVolumeRequest method.
  14127. // req, resp := client.ImportVolumeRequest(params)
  14128. //
  14129. // err := req.Send()
  14130. // if err == nil { // resp is now filled
  14131. // fmt.Println(resp)
  14132. // }
  14133. //
  14134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  14135. func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
  14136. op := &request.Operation{
  14137. Name: opImportVolume,
  14138. HTTPMethod: "POST",
  14139. HTTPPath: "/",
  14140. }
  14141. if input == nil {
  14142. input = &ImportVolumeInput{}
  14143. }
  14144. output = &ImportVolumeOutput{}
  14145. req = c.newRequest(op, input, output)
  14146. return
  14147. }
  14148. // ImportVolume API operation for Amazon Elastic Compute Cloud.
  14149. //
  14150. // Creates an import volume task using metadata from the specified disk image.For
  14151. // more information, see Importing Disks to Amazon EBS (http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
  14152. //
  14153. // For information about the import manifest referenced by this API action,
  14154. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  14155. //
  14156. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14157. // with awserr.Error's Code and Message methods to get detailed information about
  14158. // the error.
  14159. //
  14160. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14161. // API operation ImportVolume for usage and error information.
  14162. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
  14163. func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
  14164. req, out := c.ImportVolumeRequest(input)
  14165. return out, req.Send()
  14166. }
  14167. // ImportVolumeWithContext is the same as ImportVolume with the addition of
  14168. // the ability to pass a context and additional request options.
  14169. //
  14170. // See ImportVolume for details on how to use this API operation.
  14171. //
  14172. // The context must be non-nil and will be used for request cancellation. If
  14173. // the context is nil a panic will occur. In the future the SDK may create
  14174. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14175. // for more information on using Contexts.
  14176. func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
  14177. req, out := c.ImportVolumeRequest(input)
  14178. req.SetContext(ctx)
  14179. req.ApplyOptions(opts...)
  14180. return out, req.Send()
  14181. }
  14182. const opModifyHosts = "ModifyHosts"
  14183. // ModifyHostsRequest generates a "aws/request.Request" representing the
  14184. // client's request for the ModifyHosts operation. The "output" return
  14185. // value can be used to capture response data after the request's "Send" method
  14186. // is called.
  14187. //
  14188. // See ModifyHosts for usage and error information.
  14189. //
  14190. // Creating a request object using this method should be used when you want to inject
  14191. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14192. // access properties on the request object before or after sending the request. If
  14193. // you just want the service response, call the ModifyHosts method directly
  14194. // instead.
  14195. //
  14196. // Note: You must call the "Send" method on the returned request object in order
  14197. // to execute the request.
  14198. //
  14199. // // Example sending a request using the ModifyHostsRequest method.
  14200. // req, resp := client.ModifyHostsRequest(params)
  14201. //
  14202. // err := req.Send()
  14203. // if err == nil { // resp is now filled
  14204. // fmt.Println(resp)
  14205. // }
  14206. //
  14207. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  14208. func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
  14209. op := &request.Operation{
  14210. Name: opModifyHosts,
  14211. HTTPMethod: "POST",
  14212. HTTPPath: "/",
  14213. }
  14214. if input == nil {
  14215. input = &ModifyHostsInput{}
  14216. }
  14217. output = &ModifyHostsOutput{}
  14218. req = c.newRequest(op, input, output)
  14219. return
  14220. }
  14221. // ModifyHosts API operation for Amazon Elastic Compute Cloud.
  14222. //
  14223. // Modify the auto-placement setting of a Dedicated Host. When auto-placement
  14224. // is enabled, AWS will place instances that you launch with a tenancy of host,
  14225. // but without targeting a specific host ID, onto any available Dedicated Host
  14226. // in your account which has auto-placement enabled. When auto-placement is
  14227. // disabled, you need to provide a host ID if you want the instance to launch
  14228. // onto a specific host. If no host ID is provided, the instance will be launched
  14229. // onto a suitable host which has auto-placement enabled.
  14230. //
  14231. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14232. // with awserr.Error's Code and Message methods to get detailed information about
  14233. // the error.
  14234. //
  14235. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14236. // API operation ModifyHosts for usage and error information.
  14237. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
  14238. func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
  14239. req, out := c.ModifyHostsRequest(input)
  14240. return out, req.Send()
  14241. }
  14242. // ModifyHostsWithContext is the same as ModifyHosts with the addition of
  14243. // the ability to pass a context and additional request options.
  14244. //
  14245. // See ModifyHosts for details on how to use this API operation.
  14246. //
  14247. // The context must be non-nil and will be used for request cancellation. If
  14248. // the context is nil a panic will occur. In the future the SDK may create
  14249. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14250. // for more information on using Contexts.
  14251. func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
  14252. req, out := c.ModifyHostsRequest(input)
  14253. req.SetContext(ctx)
  14254. req.ApplyOptions(opts...)
  14255. return out, req.Send()
  14256. }
  14257. const opModifyIdFormat = "ModifyIdFormat"
  14258. // ModifyIdFormatRequest generates a "aws/request.Request" representing the
  14259. // client's request for the ModifyIdFormat operation. The "output" return
  14260. // value can be used to capture response data after the request's "Send" method
  14261. // is called.
  14262. //
  14263. // See ModifyIdFormat for usage and error information.
  14264. //
  14265. // Creating a request object using this method should be used when you want to inject
  14266. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14267. // access properties on the request object before or after sending the request. If
  14268. // you just want the service response, call the ModifyIdFormat method directly
  14269. // instead.
  14270. //
  14271. // Note: You must call the "Send" method on the returned request object in order
  14272. // to execute the request.
  14273. //
  14274. // // Example sending a request using the ModifyIdFormatRequest method.
  14275. // req, resp := client.ModifyIdFormatRequest(params)
  14276. //
  14277. // err := req.Send()
  14278. // if err == nil { // resp is now filled
  14279. // fmt.Println(resp)
  14280. // }
  14281. //
  14282. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  14283. func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
  14284. op := &request.Operation{
  14285. Name: opModifyIdFormat,
  14286. HTTPMethod: "POST",
  14287. HTTPPath: "/",
  14288. }
  14289. if input == nil {
  14290. input = &ModifyIdFormatInput{}
  14291. }
  14292. output = &ModifyIdFormatOutput{}
  14293. req = c.newRequest(op, input, output)
  14294. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14295. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14296. return
  14297. }
  14298. // ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
  14299. //
  14300. // Modifies the ID format for the specified resource on a per-region basis.
  14301. // You can specify that resources should receive longer IDs (17-character IDs)
  14302. // when they are created. The following resource types support longer IDs: instance
  14303. // | reservation | snapshot | volume.
  14304. //
  14305. // This setting applies to the IAM user who makes the request; it does not apply
  14306. // to the entire AWS account. By default, an IAM user defaults to the same settings
  14307. // as the root user. If you're using this action as the root user, then these
  14308. // settings apply to the entire account, unless an IAM user explicitly overrides
  14309. // these settings for themselves. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14310. // in the Amazon Elastic Compute Cloud User Guide.
  14311. //
  14312. // Resources created with longer IDs are visible to all IAM roles and users,
  14313. // regardless of these settings and provided that they have permission to use
  14314. // the relevant Describe command for the resource type.
  14315. //
  14316. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14317. // with awserr.Error's Code and Message methods to get detailed information about
  14318. // the error.
  14319. //
  14320. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14321. // API operation ModifyIdFormat for usage and error information.
  14322. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
  14323. func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
  14324. req, out := c.ModifyIdFormatRequest(input)
  14325. return out, req.Send()
  14326. }
  14327. // ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
  14328. // the ability to pass a context and additional request options.
  14329. //
  14330. // See ModifyIdFormat for details on how to use this API operation.
  14331. //
  14332. // The context must be non-nil and will be used for request cancellation. If
  14333. // the context is nil a panic will occur. In the future the SDK may create
  14334. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14335. // for more information on using Contexts.
  14336. func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
  14337. req, out := c.ModifyIdFormatRequest(input)
  14338. req.SetContext(ctx)
  14339. req.ApplyOptions(opts...)
  14340. return out, req.Send()
  14341. }
  14342. const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
  14343. // ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
  14344. // client's request for the ModifyIdentityIdFormat operation. The "output" return
  14345. // value can be used to capture response data after the request's "Send" method
  14346. // is called.
  14347. //
  14348. // See ModifyIdentityIdFormat for usage and error information.
  14349. //
  14350. // Creating a request object using this method should be used when you want to inject
  14351. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14352. // access properties on the request object before or after sending the request. If
  14353. // you just want the service response, call the ModifyIdentityIdFormat method directly
  14354. // instead.
  14355. //
  14356. // Note: You must call the "Send" method on the returned request object in order
  14357. // to execute the request.
  14358. //
  14359. // // Example sending a request using the ModifyIdentityIdFormatRequest method.
  14360. // req, resp := client.ModifyIdentityIdFormatRequest(params)
  14361. //
  14362. // err := req.Send()
  14363. // if err == nil { // resp is now filled
  14364. // fmt.Println(resp)
  14365. // }
  14366. //
  14367. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  14368. func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
  14369. op := &request.Operation{
  14370. Name: opModifyIdentityIdFormat,
  14371. HTTPMethod: "POST",
  14372. HTTPPath: "/",
  14373. }
  14374. if input == nil {
  14375. input = &ModifyIdentityIdFormatInput{}
  14376. }
  14377. output = &ModifyIdentityIdFormatOutput{}
  14378. req = c.newRequest(op, input, output)
  14379. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14380. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14381. return
  14382. }
  14383. // ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
  14384. //
  14385. // Modifies the ID format of a resource for a specified IAM user, IAM role,
  14386. // or the root user for an account; or all IAM users, IAM roles, and the root
  14387. // user for an account. You can specify that resources should receive longer
  14388. // IDs (17-character IDs) when they are created.
  14389. //
  14390. // The following resource types support longer IDs: instance | reservation |
  14391. // snapshot | volume. For more information, see Resource IDs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
  14392. // in the Amazon Elastic Compute Cloud User Guide.
  14393. //
  14394. // This setting applies to the principal specified in the request; it does not
  14395. // apply to the principal that makes the request.
  14396. //
  14397. // Resources created with longer IDs are visible to all IAM roles and users,
  14398. // regardless of these settings and provided that they have permission to use
  14399. // the relevant Describe command for the resource type.
  14400. //
  14401. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14402. // with awserr.Error's Code and Message methods to get detailed information about
  14403. // the error.
  14404. //
  14405. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14406. // API operation ModifyIdentityIdFormat for usage and error information.
  14407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
  14408. func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
  14409. req, out := c.ModifyIdentityIdFormatRequest(input)
  14410. return out, req.Send()
  14411. }
  14412. // ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
  14413. // the ability to pass a context and additional request options.
  14414. //
  14415. // See ModifyIdentityIdFormat for details on how to use this API operation.
  14416. //
  14417. // The context must be non-nil and will be used for request cancellation. If
  14418. // the context is nil a panic will occur. In the future the SDK may create
  14419. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14420. // for more information on using Contexts.
  14421. func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
  14422. req, out := c.ModifyIdentityIdFormatRequest(input)
  14423. req.SetContext(ctx)
  14424. req.ApplyOptions(opts...)
  14425. return out, req.Send()
  14426. }
  14427. const opModifyImageAttribute = "ModifyImageAttribute"
  14428. // ModifyImageAttributeRequest generates a "aws/request.Request" representing the
  14429. // client's request for the ModifyImageAttribute operation. The "output" return
  14430. // value can be used to capture response data after the request's "Send" method
  14431. // is called.
  14432. //
  14433. // See ModifyImageAttribute for usage and error information.
  14434. //
  14435. // Creating a request object using this method should be used when you want to inject
  14436. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14437. // access properties on the request object before or after sending the request. If
  14438. // you just want the service response, call the ModifyImageAttribute method directly
  14439. // instead.
  14440. //
  14441. // Note: You must call the "Send" method on the returned request object in order
  14442. // to execute the request.
  14443. //
  14444. // // Example sending a request using the ModifyImageAttributeRequest method.
  14445. // req, resp := client.ModifyImageAttributeRequest(params)
  14446. //
  14447. // err := req.Send()
  14448. // if err == nil { // resp is now filled
  14449. // fmt.Println(resp)
  14450. // }
  14451. //
  14452. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  14453. func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
  14454. op := &request.Operation{
  14455. Name: opModifyImageAttribute,
  14456. HTTPMethod: "POST",
  14457. HTTPPath: "/",
  14458. }
  14459. if input == nil {
  14460. input = &ModifyImageAttributeInput{}
  14461. }
  14462. output = &ModifyImageAttributeOutput{}
  14463. req = c.newRequest(op, input, output)
  14464. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14465. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14466. return
  14467. }
  14468. // ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
  14469. //
  14470. // Modifies the specified attribute of the specified AMI. You can specify only
  14471. // one attribute at a time.
  14472. //
  14473. // AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
  14474. // product code cannot be made public.
  14475. //
  14476. // The SriovNetSupport enhanced networking attribute cannot be changed using
  14477. // this command. Instead, enable SriovNetSupport on an instance and create an
  14478. // AMI from the instance. This will result in an image with SriovNetSupport
  14479. // enabled.
  14480. //
  14481. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14482. // with awserr.Error's Code and Message methods to get detailed information about
  14483. // the error.
  14484. //
  14485. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14486. // API operation ModifyImageAttribute for usage and error information.
  14487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
  14488. func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
  14489. req, out := c.ModifyImageAttributeRequest(input)
  14490. return out, req.Send()
  14491. }
  14492. // ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
  14493. // the ability to pass a context and additional request options.
  14494. //
  14495. // See ModifyImageAttribute for details on how to use this API operation.
  14496. //
  14497. // The context must be non-nil and will be used for request cancellation. If
  14498. // the context is nil a panic will occur. In the future the SDK may create
  14499. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14500. // for more information on using Contexts.
  14501. func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
  14502. req, out := c.ModifyImageAttributeRequest(input)
  14503. req.SetContext(ctx)
  14504. req.ApplyOptions(opts...)
  14505. return out, req.Send()
  14506. }
  14507. const opModifyInstanceAttribute = "ModifyInstanceAttribute"
  14508. // ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
  14509. // client's request for the ModifyInstanceAttribute operation. The "output" return
  14510. // value can be used to capture response data after the request's "Send" method
  14511. // is called.
  14512. //
  14513. // See ModifyInstanceAttribute for usage and error information.
  14514. //
  14515. // Creating a request object using this method should be used when you want to inject
  14516. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14517. // access properties on the request object before or after sending the request. If
  14518. // you just want the service response, call the ModifyInstanceAttribute method directly
  14519. // instead.
  14520. //
  14521. // Note: You must call the "Send" method on the returned request object in order
  14522. // to execute the request.
  14523. //
  14524. // // Example sending a request using the ModifyInstanceAttributeRequest method.
  14525. // req, resp := client.ModifyInstanceAttributeRequest(params)
  14526. //
  14527. // err := req.Send()
  14528. // if err == nil { // resp is now filled
  14529. // fmt.Println(resp)
  14530. // }
  14531. //
  14532. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  14533. func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
  14534. op := &request.Operation{
  14535. Name: opModifyInstanceAttribute,
  14536. HTTPMethod: "POST",
  14537. HTTPPath: "/",
  14538. }
  14539. if input == nil {
  14540. input = &ModifyInstanceAttributeInput{}
  14541. }
  14542. output = &ModifyInstanceAttributeOutput{}
  14543. req = c.newRequest(op, input, output)
  14544. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14545. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14546. return
  14547. }
  14548. // ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  14549. //
  14550. // Modifies the specified attribute of the specified instance. You can specify
  14551. // only one attribute at a time.
  14552. //
  14553. // To modify some attributes, the instance must be stopped. For more information,
  14554. // see Modifying Attributes of a Stopped Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
  14555. // in the Amazon Elastic Compute Cloud User Guide.
  14556. //
  14557. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14558. // with awserr.Error's Code and Message methods to get detailed information about
  14559. // the error.
  14560. //
  14561. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14562. // API operation ModifyInstanceAttribute for usage and error information.
  14563. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
  14564. func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
  14565. req, out := c.ModifyInstanceAttributeRequest(input)
  14566. return out, req.Send()
  14567. }
  14568. // ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
  14569. // the ability to pass a context and additional request options.
  14570. //
  14571. // See ModifyInstanceAttribute for details on how to use this API operation.
  14572. //
  14573. // The context must be non-nil and will be used for request cancellation. If
  14574. // the context is nil a panic will occur. In the future the SDK may create
  14575. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14576. // for more information on using Contexts.
  14577. func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
  14578. req, out := c.ModifyInstanceAttributeRequest(input)
  14579. req.SetContext(ctx)
  14580. req.ApplyOptions(opts...)
  14581. return out, req.Send()
  14582. }
  14583. const opModifyInstancePlacement = "ModifyInstancePlacement"
  14584. // ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
  14585. // client's request for the ModifyInstancePlacement operation. The "output" return
  14586. // value can be used to capture response data after the request's "Send" method
  14587. // is called.
  14588. //
  14589. // See ModifyInstancePlacement for usage and error information.
  14590. //
  14591. // Creating a request object using this method should be used when you want to inject
  14592. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14593. // access properties on the request object before or after sending the request. If
  14594. // you just want the service response, call the ModifyInstancePlacement method directly
  14595. // instead.
  14596. //
  14597. // Note: You must call the "Send" method on the returned request object in order
  14598. // to execute the request.
  14599. //
  14600. // // Example sending a request using the ModifyInstancePlacementRequest method.
  14601. // req, resp := client.ModifyInstancePlacementRequest(params)
  14602. //
  14603. // err := req.Send()
  14604. // if err == nil { // resp is now filled
  14605. // fmt.Println(resp)
  14606. // }
  14607. //
  14608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  14609. func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
  14610. op := &request.Operation{
  14611. Name: opModifyInstancePlacement,
  14612. HTTPMethod: "POST",
  14613. HTTPPath: "/",
  14614. }
  14615. if input == nil {
  14616. input = &ModifyInstancePlacementInput{}
  14617. }
  14618. output = &ModifyInstancePlacementOutput{}
  14619. req = c.newRequest(op, input, output)
  14620. return
  14621. }
  14622. // ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
  14623. //
  14624. // Set the instance affinity value for a specific stopped instance and modify
  14625. // the instance tenancy setting.
  14626. //
  14627. // Instance affinity is disabled by default. When instance affinity is host
  14628. // and it is not associated with a specific Dedicated Host, the next time it
  14629. // is launched it will automatically be associated with the host it lands on.
  14630. // This relationship will persist if the instance is stopped/started, or rebooted.
  14631. //
  14632. // You can modify the host ID associated with a stopped instance. If a stopped
  14633. // instance has a new host ID association, the instance will target that host
  14634. // when restarted.
  14635. //
  14636. // You can modify the tenancy of a stopped instance with a tenancy of host or
  14637. // dedicated.
  14638. //
  14639. // Affinity, hostID, and tenancy are not required parameters, but at least one
  14640. // of them must be specified in the request. Affinity and tenancy can be modified
  14641. // in the same request, but tenancy can only be modified on instances that are
  14642. // stopped.
  14643. //
  14644. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14645. // with awserr.Error's Code and Message methods to get detailed information about
  14646. // the error.
  14647. //
  14648. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14649. // API operation ModifyInstancePlacement for usage and error information.
  14650. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
  14651. func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
  14652. req, out := c.ModifyInstancePlacementRequest(input)
  14653. return out, req.Send()
  14654. }
  14655. // ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
  14656. // the ability to pass a context and additional request options.
  14657. //
  14658. // See ModifyInstancePlacement for details on how to use this API operation.
  14659. //
  14660. // The context must be non-nil and will be used for request cancellation. If
  14661. // the context is nil a panic will occur. In the future the SDK may create
  14662. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14663. // for more information on using Contexts.
  14664. func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
  14665. req, out := c.ModifyInstancePlacementRequest(input)
  14666. req.SetContext(ctx)
  14667. req.ApplyOptions(opts...)
  14668. return out, req.Send()
  14669. }
  14670. const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
  14671. // ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  14672. // client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
  14673. // value can be used to capture response data after the request's "Send" method
  14674. // is called.
  14675. //
  14676. // See ModifyNetworkInterfaceAttribute for usage and error information.
  14677. //
  14678. // Creating a request object using this method should be used when you want to inject
  14679. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14680. // access properties on the request object before or after sending the request. If
  14681. // you just want the service response, call the ModifyNetworkInterfaceAttribute method directly
  14682. // instead.
  14683. //
  14684. // Note: You must call the "Send" method on the returned request object in order
  14685. // to execute the request.
  14686. //
  14687. // // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
  14688. // req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
  14689. //
  14690. // err := req.Send()
  14691. // if err == nil { // resp is now filled
  14692. // fmt.Println(resp)
  14693. // }
  14694. //
  14695. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  14696. func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
  14697. op := &request.Operation{
  14698. Name: opModifyNetworkInterfaceAttribute,
  14699. HTTPMethod: "POST",
  14700. HTTPPath: "/",
  14701. }
  14702. if input == nil {
  14703. input = &ModifyNetworkInterfaceAttributeInput{}
  14704. }
  14705. output = &ModifyNetworkInterfaceAttributeOutput{}
  14706. req = c.newRequest(op, input, output)
  14707. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14708. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14709. return
  14710. }
  14711. // ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  14712. //
  14713. // Modifies the specified network interface attribute. You can specify only
  14714. // one attribute at a time.
  14715. //
  14716. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14717. // with awserr.Error's Code and Message methods to get detailed information about
  14718. // the error.
  14719. //
  14720. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14721. // API operation ModifyNetworkInterfaceAttribute for usage and error information.
  14722. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
  14723. func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
  14724. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  14725. return out, req.Send()
  14726. }
  14727. // ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
  14728. // the ability to pass a context and additional request options.
  14729. //
  14730. // See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
  14731. //
  14732. // The context must be non-nil and will be used for request cancellation. If
  14733. // the context is nil a panic will occur. In the future the SDK may create
  14734. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14735. // for more information on using Contexts.
  14736. func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
  14737. req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
  14738. req.SetContext(ctx)
  14739. req.ApplyOptions(opts...)
  14740. return out, req.Send()
  14741. }
  14742. const opModifyReservedInstances = "ModifyReservedInstances"
  14743. // ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
  14744. // client's request for the ModifyReservedInstances operation. The "output" return
  14745. // value can be used to capture response data after the request's "Send" method
  14746. // is called.
  14747. //
  14748. // See ModifyReservedInstances for usage and error information.
  14749. //
  14750. // Creating a request object using this method should be used when you want to inject
  14751. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14752. // access properties on the request object before or after sending the request. If
  14753. // you just want the service response, call the ModifyReservedInstances method directly
  14754. // instead.
  14755. //
  14756. // Note: You must call the "Send" method on the returned request object in order
  14757. // to execute the request.
  14758. //
  14759. // // Example sending a request using the ModifyReservedInstancesRequest method.
  14760. // req, resp := client.ModifyReservedInstancesRequest(params)
  14761. //
  14762. // err := req.Send()
  14763. // if err == nil { // resp is now filled
  14764. // fmt.Println(resp)
  14765. // }
  14766. //
  14767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  14768. func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
  14769. op := &request.Operation{
  14770. Name: opModifyReservedInstances,
  14771. HTTPMethod: "POST",
  14772. HTTPPath: "/",
  14773. }
  14774. if input == nil {
  14775. input = &ModifyReservedInstancesInput{}
  14776. }
  14777. output = &ModifyReservedInstancesOutput{}
  14778. req = c.newRequest(op, input, output)
  14779. return
  14780. }
  14781. // ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
  14782. //
  14783. // Modifies the Availability Zone, instance count, instance type, or network
  14784. // platform (EC2-Classic or EC2-VPC) of your Standard Reserved Instances. The
  14785. // Reserved Instances to be modified must be identical, except for Availability
  14786. // Zone, network platform, and instance type.
  14787. //
  14788. // For more information, see Modifying Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
  14789. // in the Amazon Elastic Compute Cloud User Guide.
  14790. //
  14791. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14792. // with awserr.Error's Code and Message methods to get detailed information about
  14793. // the error.
  14794. //
  14795. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14796. // API operation ModifyReservedInstances for usage and error information.
  14797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
  14798. func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
  14799. req, out := c.ModifyReservedInstancesRequest(input)
  14800. return out, req.Send()
  14801. }
  14802. // ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
  14803. // the ability to pass a context and additional request options.
  14804. //
  14805. // See ModifyReservedInstances for details on how to use this API operation.
  14806. //
  14807. // The context must be non-nil and will be used for request cancellation. If
  14808. // the context is nil a panic will occur. In the future the SDK may create
  14809. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14810. // for more information on using Contexts.
  14811. func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
  14812. req, out := c.ModifyReservedInstancesRequest(input)
  14813. req.SetContext(ctx)
  14814. req.ApplyOptions(opts...)
  14815. return out, req.Send()
  14816. }
  14817. const opModifySnapshotAttribute = "ModifySnapshotAttribute"
  14818. // ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
  14819. // client's request for the ModifySnapshotAttribute operation. The "output" return
  14820. // value can be used to capture response data after the request's "Send" method
  14821. // is called.
  14822. //
  14823. // See ModifySnapshotAttribute for usage and error information.
  14824. //
  14825. // Creating a request object using this method should be used when you want to inject
  14826. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14827. // access properties on the request object before or after sending the request. If
  14828. // you just want the service response, call the ModifySnapshotAttribute method directly
  14829. // instead.
  14830. //
  14831. // Note: You must call the "Send" method on the returned request object in order
  14832. // to execute the request.
  14833. //
  14834. // // Example sending a request using the ModifySnapshotAttributeRequest method.
  14835. // req, resp := client.ModifySnapshotAttributeRequest(params)
  14836. //
  14837. // err := req.Send()
  14838. // if err == nil { // resp is now filled
  14839. // fmt.Println(resp)
  14840. // }
  14841. //
  14842. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  14843. func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
  14844. op := &request.Operation{
  14845. Name: opModifySnapshotAttribute,
  14846. HTTPMethod: "POST",
  14847. HTTPPath: "/",
  14848. }
  14849. if input == nil {
  14850. input = &ModifySnapshotAttributeInput{}
  14851. }
  14852. output = &ModifySnapshotAttributeOutput{}
  14853. req = c.newRequest(op, input, output)
  14854. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  14855. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  14856. return
  14857. }
  14858. // ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  14859. //
  14860. // Adds or removes permission settings for the specified snapshot. You may add
  14861. // or remove specified AWS account IDs from a snapshot's list of create volume
  14862. // permissions, but you cannot do both in a single API call. If you need to
  14863. // both add and remove account IDs for a snapshot, you must use multiple API
  14864. // calls.
  14865. //
  14866. // Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
  14867. // be made public. Snapshots encrypted with your default CMK cannot be shared
  14868. // with other accounts.
  14869. //
  14870. // For more information on modifying snapshot permissions, see Sharing Snapshots
  14871. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  14872. // in the Amazon Elastic Compute Cloud User Guide.
  14873. //
  14874. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14875. // with awserr.Error's Code and Message methods to get detailed information about
  14876. // the error.
  14877. //
  14878. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14879. // API operation ModifySnapshotAttribute for usage and error information.
  14880. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
  14881. func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
  14882. req, out := c.ModifySnapshotAttributeRequest(input)
  14883. return out, req.Send()
  14884. }
  14885. // ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
  14886. // the ability to pass a context and additional request options.
  14887. //
  14888. // See ModifySnapshotAttribute for details on how to use this API operation.
  14889. //
  14890. // The context must be non-nil and will be used for request cancellation. If
  14891. // the context is nil a panic will occur. In the future the SDK may create
  14892. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14893. // for more information on using Contexts.
  14894. func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
  14895. req, out := c.ModifySnapshotAttributeRequest(input)
  14896. req.SetContext(ctx)
  14897. req.ApplyOptions(opts...)
  14898. return out, req.Send()
  14899. }
  14900. const opModifySpotFleetRequest = "ModifySpotFleetRequest"
  14901. // ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
  14902. // client's request for the ModifySpotFleetRequest operation. The "output" return
  14903. // value can be used to capture response data after the request's "Send" method
  14904. // is called.
  14905. //
  14906. // See ModifySpotFleetRequest for usage and error information.
  14907. //
  14908. // Creating a request object using this method should be used when you want to inject
  14909. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14910. // access properties on the request object before or after sending the request. If
  14911. // you just want the service response, call the ModifySpotFleetRequest method directly
  14912. // instead.
  14913. //
  14914. // Note: You must call the "Send" method on the returned request object in order
  14915. // to execute the request.
  14916. //
  14917. // // Example sending a request using the ModifySpotFleetRequestRequest method.
  14918. // req, resp := client.ModifySpotFleetRequestRequest(params)
  14919. //
  14920. // err := req.Send()
  14921. // if err == nil { // resp is now filled
  14922. // fmt.Println(resp)
  14923. // }
  14924. //
  14925. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  14926. func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
  14927. op := &request.Operation{
  14928. Name: opModifySpotFleetRequest,
  14929. HTTPMethod: "POST",
  14930. HTTPPath: "/",
  14931. }
  14932. if input == nil {
  14933. input = &ModifySpotFleetRequestInput{}
  14934. }
  14935. output = &ModifySpotFleetRequestOutput{}
  14936. req = c.newRequest(op, input, output)
  14937. return
  14938. }
  14939. // ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
  14940. //
  14941. // Modifies the specified Spot fleet request.
  14942. //
  14943. // While the Spot fleet request is being modified, it is in the modifying state.
  14944. //
  14945. // To scale up your Spot fleet, increase its target capacity. The Spot fleet
  14946. // launches the additional Spot instances according to the allocation strategy
  14947. // for the Spot fleet request. If the allocation strategy is lowestPrice, the
  14948. // Spot fleet launches instances using the Spot pool with the lowest price.
  14949. // If the allocation strategy is diversified, the Spot fleet distributes the
  14950. // instances across the Spot pools.
  14951. //
  14952. // To scale down your Spot fleet, decrease its target capacity. First, the Spot
  14953. // fleet cancels any open bids that exceed the new target capacity. You can
  14954. // request that the Spot fleet terminate Spot instances until the size of the
  14955. // fleet no longer exceeds the new target capacity. If the allocation strategy
  14956. // is lowestPrice, the Spot fleet terminates the instances with the highest
  14957. // price per unit. If the allocation strategy is diversified, the Spot fleet
  14958. // terminates instances across the Spot pools. Alternatively, you can request
  14959. // that the Spot fleet keep the fleet at its current size, but not replace any
  14960. // Spot instances that are interrupted or that you terminate manually.
  14961. //
  14962. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  14963. // with awserr.Error's Code and Message methods to get detailed information about
  14964. // the error.
  14965. //
  14966. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  14967. // API operation ModifySpotFleetRequest for usage and error information.
  14968. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
  14969. func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
  14970. req, out := c.ModifySpotFleetRequestRequest(input)
  14971. return out, req.Send()
  14972. }
  14973. // ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
  14974. // the ability to pass a context and additional request options.
  14975. //
  14976. // See ModifySpotFleetRequest for details on how to use this API operation.
  14977. //
  14978. // The context must be non-nil and will be used for request cancellation. If
  14979. // the context is nil a panic will occur. In the future the SDK may create
  14980. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  14981. // for more information on using Contexts.
  14982. func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
  14983. req, out := c.ModifySpotFleetRequestRequest(input)
  14984. req.SetContext(ctx)
  14985. req.ApplyOptions(opts...)
  14986. return out, req.Send()
  14987. }
  14988. const opModifySubnetAttribute = "ModifySubnetAttribute"
  14989. // ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
  14990. // client's request for the ModifySubnetAttribute operation. The "output" return
  14991. // value can be used to capture response data after the request's "Send" method
  14992. // is called.
  14993. //
  14994. // See ModifySubnetAttribute for usage and error information.
  14995. //
  14996. // Creating a request object using this method should be used when you want to inject
  14997. // custom logic into the request's lifecycle using a custom handler, or if you want to
  14998. // access properties on the request object before or after sending the request. If
  14999. // you just want the service response, call the ModifySubnetAttribute method directly
  15000. // instead.
  15001. //
  15002. // Note: You must call the "Send" method on the returned request object in order
  15003. // to execute the request.
  15004. //
  15005. // // Example sending a request using the ModifySubnetAttributeRequest method.
  15006. // req, resp := client.ModifySubnetAttributeRequest(params)
  15007. //
  15008. // err := req.Send()
  15009. // if err == nil { // resp is now filled
  15010. // fmt.Println(resp)
  15011. // }
  15012. //
  15013. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  15014. func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
  15015. op := &request.Operation{
  15016. Name: opModifySubnetAttribute,
  15017. HTTPMethod: "POST",
  15018. HTTPPath: "/",
  15019. }
  15020. if input == nil {
  15021. input = &ModifySubnetAttributeInput{}
  15022. }
  15023. output = &ModifySubnetAttributeOutput{}
  15024. req = c.newRequest(op, input, output)
  15025. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15026. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15027. return
  15028. }
  15029. // ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
  15030. //
  15031. // Modifies a subnet attribute. You can only modify one attribute at a time.
  15032. //
  15033. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15034. // with awserr.Error's Code and Message methods to get detailed information about
  15035. // the error.
  15036. //
  15037. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15038. // API operation ModifySubnetAttribute for usage and error information.
  15039. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
  15040. func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
  15041. req, out := c.ModifySubnetAttributeRequest(input)
  15042. return out, req.Send()
  15043. }
  15044. // ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
  15045. // the ability to pass a context and additional request options.
  15046. //
  15047. // See ModifySubnetAttribute for details on how to use this API operation.
  15048. //
  15049. // The context must be non-nil and will be used for request cancellation. If
  15050. // the context is nil a panic will occur. In the future the SDK may create
  15051. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15052. // for more information on using Contexts.
  15053. func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
  15054. req, out := c.ModifySubnetAttributeRequest(input)
  15055. req.SetContext(ctx)
  15056. req.ApplyOptions(opts...)
  15057. return out, req.Send()
  15058. }
  15059. const opModifyVolume = "ModifyVolume"
  15060. // ModifyVolumeRequest generates a "aws/request.Request" representing the
  15061. // client's request for the ModifyVolume operation. The "output" return
  15062. // value can be used to capture response data after the request's "Send" method
  15063. // is called.
  15064. //
  15065. // See ModifyVolume for usage and error information.
  15066. //
  15067. // Creating a request object using this method should be used when you want to inject
  15068. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15069. // access properties on the request object before or after sending the request. If
  15070. // you just want the service response, call the ModifyVolume method directly
  15071. // instead.
  15072. //
  15073. // Note: You must call the "Send" method on the returned request object in order
  15074. // to execute the request.
  15075. //
  15076. // // Example sending a request using the ModifyVolumeRequest method.
  15077. // req, resp := client.ModifyVolumeRequest(params)
  15078. //
  15079. // err := req.Send()
  15080. // if err == nil { // resp is now filled
  15081. // fmt.Println(resp)
  15082. // }
  15083. //
  15084. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  15085. func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
  15086. op := &request.Operation{
  15087. Name: opModifyVolume,
  15088. HTTPMethod: "POST",
  15089. HTTPPath: "/",
  15090. }
  15091. if input == nil {
  15092. input = &ModifyVolumeInput{}
  15093. }
  15094. output = &ModifyVolumeOutput{}
  15095. req = c.newRequest(op, input, output)
  15096. return
  15097. }
  15098. // ModifyVolume API operation for Amazon Elastic Compute Cloud.
  15099. //
  15100. // You can modify several parameters of an existing EBS volume, including volume
  15101. // size, volume type, and IOPS capacity. If your EBS volume is attached to a
  15102. // current-generation EC2 instance type, you may be able to apply these changes
  15103. // without stopping the instance or detaching the volume from it. For more information
  15104. // about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
  15105. // or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  15106. // For more information about modifying an EBS volume running Windows, see Modifying
  15107. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  15108. //
  15109. // When you complete a resize operation on your volume, you need to extend the
  15110. // volume's file-system size to take advantage of the new storage capacity.
  15111. // For information about extending a Linux file system, see Extending a Linux
  15112. // File System (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
  15113. // For information about extending a Windows file system, see Extending a Windows
  15114. // File System (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
  15115. //
  15116. // You can use CloudWatch Events to check the status of a modification to an
  15117. // EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
  15118. // Events User Guide (http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
  15119. // You can also track the status of a modification using the DescribeVolumesModifications
  15120. // API. For information about tracking status changes using either method, see
  15121. // Monitoring Volume Modifications (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
  15122. //
  15123. // With previous-generation instance types, resizing an EBS volume may require
  15124. // detaching and reattaching the volume or stopping and restarting the instance.
  15125. // For more information about modifying an EBS volume running Linux, see Modifying
  15126. // the Size, IOPS, or Type of an EBS Volume on Linux (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
  15127. // For more information about modifying an EBS volume running Windows, see Modifying
  15128. // the Size, IOPS, or Type of an EBS Volume on Windows (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
  15129. //
  15130. // If you reach the maximum volume modification rate per volume limit, you will
  15131. // need to wait at least six hours before applying further modifications to
  15132. // the affected EBS volume.
  15133. //
  15134. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15135. // with awserr.Error's Code and Message methods to get detailed information about
  15136. // the error.
  15137. //
  15138. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15139. // API operation ModifyVolume for usage and error information.
  15140. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
  15141. func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
  15142. req, out := c.ModifyVolumeRequest(input)
  15143. return out, req.Send()
  15144. }
  15145. // ModifyVolumeWithContext is the same as ModifyVolume with the addition of
  15146. // the ability to pass a context and additional request options.
  15147. //
  15148. // See ModifyVolume for details on how to use this API operation.
  15149. //
  15150. // The context must be non-nil and will be used for request cancellation. If
  15151. // the context is nil a panic will occur. In the future the SDK may create
  15152. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15153. // for more information on using Contexts.
  15154. func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
  15155. req, out := c.ModifyVolumeRequest(input)
  15156. req.SetContext(ctx)
  15157. req.ApplyOptions(opts...)
  15158. return out, req.Send()
  15159. }
  15160. const opModifyVolumeAttribute = "ModifyVolumeAttribute"
  15161. // ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
  15162. // client's request for the ModifyVolumeAttribute operation. The "output" return
  15163. // value can be used to capture response data after the request's "Send" method
  15164. // is called.
  15165. //
  15166. // See ModifyVolumeAttribute for usage and error information.
  15167. //
  15168. // Creating a request object using this method should be used when you want to inject
  15169. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15170. // access properties on the request object before or after sending the request. If
  15171. // you just want the service response, call the ModifyVolumeAttribute method directly
  15172. // instead.
  15173. //
  15174. // Note: You must call the "Send" method on the returned request object in order
  15175. // to execute the request.
  15176. //
  15177. // // Example sending a request using the ModifyVolumeAttributeRequest method.
  15178. // req, resp := client.ModifyVolumeAttributeRequest(params)
  15179. //
  15180. // err := req.Send()
  15181. // if err == nil { // resp is now filled
  15182. // fmt.Println(resp)
  15183. // }
  15184. //
  15185. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  15186. func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
  15187. op := &request.Operation{
  15188. Name: opModifyVolumeAttribute,
  15189. HTTPMethod: "POST",
  15190. HTTPPath: "/",
  15191. }
  15192. if input == nil {
  15193. input = &ModifyVolumeAttributeInput{}
  15194. }
  15195. output = &ModifyVolumeAttributeOutput{}
  15196. req = c.newRequest(op, input, output)
  15197. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15198. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15199. return
  15200. }
  15201. // ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
  15202. //
  15203. // Modifies a volume attribute.
  15204. //
  15205. // By default, all I/O operations for the volume are suspended when the data
  15206. // on the volume is determined to be potentially inconsistent, to prevent undetectable,
  15207. // latent data corruption. The I/O access to the volume can be resumed by first
  15208. // enabling I/O access and then checking the data consistency on your volume.
  15209. //
  15210. // You can change the default behavior to resume I/O operations. We recommend
  15211. // that you change this only for boot volumes or for volumes that are stateless
  15212. // or disposable.
  15213. //
  15214. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15215. // with awserr.Error's Code and Message methods to get detailed information about
  15216. // the error.
  15217. //
  15218. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15219. // API operation ModifyVolumeAttribute for usage and error information.
  15220. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
  15221. func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
  15222. req, out := c.ModifyVolumeAttributeRequest(input)
  15223. return out, req.Send()
  15224. }
  15225. // ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
  15226. // the ability to pass a context and additional request options.
  15227. //
  15228. // See ModifyVolumeAttribute for details on how to use this API operation.
  15229. //
  15230. // The context must be non-nil and will be used for request cancellation. If
  15231. // the context is nil a panic will occur. In the future the SDK may create
  15232. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15233. // for more information on using Contexts.
  15234. func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
  15235. req, out := c.ModifyVolumeAttributeRequest(input)
  15236. req.SetContext(ctx)
  15237. req.ApplyOptions(opts...)
  15238. return out, req.Send()
  15239. }
  15240. const opModifyVpcAttribute = "ModifyVpcAttribute"
  15241. // ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
  15242. // client's request for the ModifyVpcAttribute operation. The "output" return
  15243. // value can be used to capture response data after the request's "Send" method
  15244. // is called.
  15245. //
  15246. // See ModifyVpcAttribute for usage and error information.
  15247. //
  15248. // Creating a request object using this method should be used when you want to inject
  15249. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15250. // access properties on the request object before or after sending the request. If
  15251. // you just want the service response, call the ModifyVpcAttribute method directly
  15252. // instead.
  15253. //
  15254. // Note: You must call the "Send" method on the returned request object in order
  15255. // to execute the request.
  15256. //
  15257. // // Example sending a request using the ModifyVpcAttributeRequest method.
  15258. // req, resp := client.ModifyVpcAttributeRequest(params)
  15259. //
  15260. // err := req.Send()
  15261. // if err == nil { // resp is now filled
  15262. // fmt.Println(resp)
  15263. // }
  15264. //
  15265. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  15266. func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
  15267. op := &request.Operation{
  15268. Name: opModifyVpcAttribute,
  15269. HTTPMethod: "POST",
  15270. HTTPPath: "/",
  15271. }
  15272. if input == nil {
  15273. input = &ModifyVpcAttributeInput{}
  15274. }
  15275. output = &ModifyVpcAttributeOutput{}
  15276. req = c.newRequest(op, input, output)
  15277. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15278. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15279. return
  15280. }
  15281. // ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
  15282. //
  15283. // Modifies the specified attribute of the specified VPC.
  15284. //
  15285. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15286. // with awserr.Error's Code and Message methods to get detailed information about
  15287. // the error.
  15288. //
  15289. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15290. // API operation ModifyVpcAttribute for usage and error information.
  15291. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
  15292. func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
  15293. req, out := c.ModifyVpcAttributeRequest(input)
  15294. return out, req.Send()
  15295. }
  15296. // ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
  15297. // the ability to pass a context and additional request options.
  15298. //
  15299. // See ModifyVpcAttribute for details on how to use this API operation.
  15300. //
  15301. // The context must be non-nil and will be used for request cancellation. If
  15302. // the context is nil a panic will occur. In the future the SDK may create
  15303. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15304. // for more information on using Contexts.
  15305. func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
  15306. req, out := c.ModifyVpcAttributeRequest(input)
  15307. req.SetContext(ctx)
  15308. req.ApplyOptions(opts...)
  15309. return out, req.Send()
  15310. }
  15311. const opModifyVpcEndpoint = "ModifyVpcEndpoint"
  15312. // ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
  15313. // client's request for the ModifyVpcEndpoint operation. The "output" return
  15314. // value can be used to capture response data after the request's "Send" method
  15315. // is called.
  15316. //
  15317. // See ModifyVpcEndpoint for usage and error information.
  15318. //
  15319. // Creating a request object using this method should be used when you want to inject
  15320. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15321. // access properties on the request object before or after sending the request. If
  15322. // you just want the service response, call the ModifyVpcEndpoint method directly
  15323. // instead.
  15324. //
  15325. // Note: You must call the "Send" method on the returned request object in order
  15326. // to execute the request.
  15327. //
  15328. // // Example sending a request using the ModifyVpcEndpointRequest method.
  15329. // req, resp := client.ModifyVpcEndpointRequest(params)
  15330. //
  15331. // err := req.Send()
  15332. // if err == nil { // resp is now filled
  15333. // fmt.Println(resp)
  15334. // }
  15335. //
  15336. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  15337. func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
  15338. op := &request.Operation{
  15339. Name: opModifyVpcEndpoint,
  15340. HTTPMethod: "POST",
  15341. HTTPPath: "/",
  15342. }
  15343. if input == nil {
  15344. input = &ModifyVpcEndpointInput{}
  15345. }
  15346. output = &ModifyVpcEndpointOutput{}
  15347. req = c.newRequest(op, input, output)
  15348. return
  15349. }
  15350. // ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
  15351. //
  15352. // Modifies attributes of a specified VPC endpoint. You can modify the policy
  15353. // associated with the endpoint, and you can add and remove route tables associated
  15354. // with the endpoint.
  15355. //
  15356. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15357. // with awserr.Error's Code and Message methods to get detailed information about
  15358. // the error.
  15359. //
  15360. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15361. // API operation ModifyVpcEndpoint for usage and error information.
  15362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
  15363. func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
  15364. req, out := c.ModifyVpcEndpointRequest(input)
  15365. return out, req.Send()
  15366. }
  15367. // ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
  15368. // the ability to pass a context and additional request options.
  15369. //
  15370. // See ModifyVpcEndpoint for details on how to use this API operation.
  15371. //
  15372. // The context must be non-nil and will be used for request cancellation. If
  15373. // the context is nil a panic will occur. In the future the SDK may create
  15374. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15375. // for more information on using Contexts.
  15376. func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
  15377. req, out := c.ModifyVpcEndpointRequest(input)
  15378. req.SetContext(ctx)
  15379. req.ApplyOptions(opts...)
  15380. return out, req.Send()
  15381. }
  15382. const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
  15383. // ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
  15384. // client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
  15385. // value can be used to capture response data after the request's "Send" method
  15386. // is called.
  15387. //
  15388. // See ModifyVpcPeeringConnectionOptions for usage and error information.
  15389. //
  15390. // Creating a request object using this method should be used when you want to inject
  15391. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15392. // access properties on the request object before or after sending the request. If
  15393. // you just want the service response, call the ModifyVpcPeeringConnectionOptions method directly
  15394. // instead.
  15395. //
  15396. // Note: You must call the "Send" method on the returned request object in order
  15397. // to execute the request.
  15398. //
  15399. // // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
  15400. // req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
  15401. //
  15402. // err := req.Send()
  15403. // if err == nil { // resp is now filled
  15404. // fmt.Println(resp)
  15405. // }
  15406. //
  15407. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  15408. func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
  15409. op := &request.Operation{
  15410. Name: opModifyVpcPeeringConnectionOptions,
  15411. HTTPMethod: "POST",
  15412. HTTPPath: "/",
  15413. }
  15414. if input == nil {
  15415. input = &ModifyVpcPeeringConnectionOptionsInput{}
  15416. }
  15417. output = &ModifyVpcPeeringConnectionOptionsOutput{}
  15418. req = c.newRequest(op, input, output)
  15419. return
  15420. }
  15421. // ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
  15422. //
  15423. // Modifies the VPC peering connection options on one side of a VPC peering
  15424. // connection. You can do the following:
  15425. //
  15426. // * Enable/disable communication over the peering connection between an
  15427. // EC2-Classic instance that's linked to your VPC (using ClassicLink) and
  15428. // instances in the peer VPC.
  15429. //
  15430. // * Enable/disable communication over the peering connection between instances
  15431. // in your VPC and an EC2-Classic instance that's linked to the peer VPC.
  15432. //
  15433. // * Enable/disable a local VPC to resolve public DNS hostnames to private
  15434. // IP addresses when queried from instances in the peer VPC.
  15435. //
  15436. // If the peered VPCs are in different accounts, each owner must initiate a
  15437. // separate request to modify the peering connection options, depending on whether
  15438. // their VPC was the requester or accepter for the VPC peering connection. If
  15439. // the peered VPCs are in the same account, you can modify the requester and
  15440. // accepter options in the same request. To confirm which VPC is the accepter
  15441. // and requester for a VPC peering connection, use the DescribeVpcPeeringConnections
  15442. // command.
  15443. //
  15444. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15445. // with awserr.Error's Code and Message methods to get detailed information about
  15446. // the error.
  15447. //
  15448. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15449. // API operation ModifyVpcPeeringConnectionOptions for usage and error information.
  15450. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
  15451. func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  15452. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  15453. return out, req.Send()
  15454. }
  15455. // ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
  15456. // the ability to pass a context and additional request options.
  15457. //
  15458. // See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
  15459. //
  15460. // The context must be non-nil and will be used for request cancellation. If
  15461. // the context is nil a panic will occur. In the future the SDK may create
  15462. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15463. // for more information on using Contexts.
  15464. func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
  15465. req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
  15466. req.SetContext(ctx)
  15467. req.ApplyOptions(opts...)
  15468. return out, req.Send()
  15469. }
  15470. const opMonitorInstances = "MonitorInstances"
  15471. // MonitorInstancesRequest generates a "aws/request.Request" representing the
  15472. // client's request for the MonitorInstances operation. The "output" return
  15473. // value can be used to capture response data after the request's "Send" method
  15474. // is called.
  15475. //
  15476. // See MonitorInstances for usage and error information.
  15477. //
  15478. // Creating a request object using this method should be used when you want to inject
  15479. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15480. // access properties on the request object before or after sending the request. If
  15481. // you just want the service response, call the MonitorInstances method directly
  15482. // instead.
  15483. //
  15484. // Note: You must call the "Send" method on the returned request object in order
  15485. // to execute the request.
  15486. //
  15487. // // Example sending a request using the MonitorInstancesRequest method.
  15488. // req, resp := client.MonitorInstancesRequest(params)
  15489. //
  15490. // err := req.Send()
  15491. // if err == nil { // resp is now filled
  15492. // fmt.Println(resp)
  15493. // }
  15494. //
  15495. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  15496. func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
  15497. op := &request.Operation{
  15498. Name: opMonitorInstances,
  15499. HTTPMethod: "POST",
  15500. HTTPPath: "/",
  15501. }
  15502. if input == nil {
  15503. input = &MonitorInstancesInput{}
  15504. }
  15505. output = &MonitorInstancesOutput{}
  15506. req = c.newRequest(op, input, output)
  15507. return
  15508. }
  15509. // MonitorInstances API operation for Amazon Elastic Compute Cloud.
  15510. //
  15511. // Enables detailed monitoring for a running instance. Otherwise, basic monitoring
  15512. // is enabled. For more information, see Monitoring Your Instances and Volumes
  15513. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  15514. // in the Amazon Elastic Compute Cloud User Guide.
  15515. //
  15516. // To disable detailed monitoring, see .
  15517. //
  15518. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15519. // with awserr.Error's Code and Message methods to get detailed information about
  15520. // the error.
  15521. //
  15522. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15523. // API operation MonitorInstances for usage and error information.
  15524. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
  15525. func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
  15526. req, out := c.MonitorInstancesRequest(input)
  15527. return out, req.Send()
  15528. }
  15529. // MonitorInstancesWithContext is the same as MonitorInstances with the addition of
  15530. // the ability to pass a context and additional request options.
  15531. //
  15532. // See MonitorInstances for details on how to use this API operation.
  15533. //
  15534. // The context must be non-nil and will be used for request cancellation. If
  15535. // the context is nil a panic will occur. In the future the SDK may create
  15536. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15537. // for more information on using Contexts.
  15538. func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
  15539. req, out := c.MonitorInstancesRequest(input)
  15540. req.SetContext(ctx)
  15541. req.ApplyOptions(opts...)
  15542. return out, req.Send()
  15543. }
  15544. const opMoveAddressToVpc = "MoveAddressToVpc"
  15545. // MoveAddressToVpcRequest generates a "aws/request.Request" representing the
  15546. // client's request for the MoveAddressToVpc operation. The "output" return
  15547. // value can be used to capture response data after the request's "Send" method
  15548. // is called.
  15549. //
  15550. // See MoveAddressToVpc for usage and error information.
  15551. //
  15552. // Creating a request object using this method should be used when you want to inject
  15553. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15554. // access properties on the request object before or after sending the request. If
  15555. // you just want the service response, call the MoveAddressToVpc method directly
  15556. // instead.
  15557. //
  15558. // Note: You must call the "Send" method on the returned request object in order
  15559. // to execute the request.
  15560. //
  15561. // // Example sending a request using the MoveAddressToVpcRequest method.
  15562. // req, resp := client.MoveAddressToVpcRequest(params)
  15563. //
  15564. // err := req.Send()
  15565. // if err == nil { // resp is now filled
  15566. // fmt.Println(resp)
  15567. // }
  15568. //
  15569. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  15570. func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
  15571. op := &request.Operation{
  15572. Name: opMoveAddressToVpc,
  15573. HTTPMethod: "POST",
  15574. HTTPPath: "/",
  15575. }
  15576. if input == nil {
  15577. input = &MoveAddressToVpcInput{}
  15578. }
  15579. output = &MoveAddressToVpcOutput{}
  15580. req = c.newRequest(op, input, output)
  15581. return
  15582. }
  15583. // MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
  15584. //
  15585. // Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
  15586. // platform. The Elastic IP address must be allocated to your account for more
  15587. // than 24 hours, and it must not be associated with an instance. After the
  15588. // Elastic IP address is moved, it is no longer available for use in the EC2-Classic
  15589. // platform, unless you move it back using the RestoreAddressToClassic request.
  15590. // You cannot move an Elastic IP address that was originally allocated for use
  15591. // in the EC2-VPC platform to the EC2-Classic platform.
  15592. //
  15593. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15594. // with awserr.Error's Code and Message methods to get detailed information about
  15595. // the error.
  15596. //
  15597. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15598. // API operation MoveAddressToVpc for usage and error information.
  15599. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
  15600. func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
  15601. req, out := c.MoveAddressToVpcRequest(input)
  15602. return out, req.Send()
  15603. }
  15604. // MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
  15605. // the ability to pass a context and additional request options.
  15606. //
  15607. // See MoveAddressToVpc for details on how to use this API operation.
  15608. //
  15609. // The context must be non-nil and will be used for request cancellation. If
  15610. // the context is nil a panic will occur. In the future the SDK may create
  15611. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15612. // for more information on using Contexts.
  15613. func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
  15614. req, out := c.MoveAddressToVpcRequest(input)
  15615. req.SetContext(ctx)
  15616. req.ApplyOptions(opts...)
  15617. return out, req.Send()
  15618. }
  15619. const opPurchaseHostReservation = "PurchaseHostReservation"
  15620. // PurchaseHostReservationRequest generates a "aws/request.Request" representing the
  15621. // client's request for the PurchaseHostReservation operation. The "output" return
  15622. // value can be used to capture response data after the request's "Send" method
  15623. // is called.
  15624. //
  15625. // See PurchaseHostReservation for usage and error information.
  15626. //
  15627. // Creating a request object using this method should be used when you want to inject
  15628. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15629. // access properties on the request object before or after sending the request. If
  15630. // you just want the service response, call the PurchaseHostReservation method directly
  15631. // instead.
  15632. //
  15633. // Note: You must call the "Send" method on the returned request object in order
  15634. // to execute the request.
  15635. //
  15636. // // Example sending a request using the PurchaseHostReservationRequest method.
  15637. // req, resp := client.PurchaseHostReservationRequest(params)
  15638. //
  15639. // err := req.Send()
  15640. // if err == nil { // resp is now filled
  15641. // fmt.Println(resp)
  15642. // }
  15643. //
  15644. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  15645. func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
  15646. op := &request.Operation{
  15647. Name: opPurchaseHostReservation,
  15648. HTTPMethod: "POST",
  15649. HTTPPath: "/",
  15650. }
  15651. if input == nil {
  15652. input = &PurchaseHostReservationInput{}
  15653. }
  15654. output = &PurchaseHostReservationOutput{}
  15655. req = c.newRequest(op, input, output)
  15656. return
  15657. }
  15658. // PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
  15659. //
  15660. // Purchase a reservation with configurations that match those of your Dedicated
  15661. // Host. You must have active Dedicated Hosts in your account before you purchase
  15662. // a reservation. This action results in the specified reservation being purchased
  15663. // and charged to your account.
  15664. //
  15665. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15666. // with awserr.Error's Code and Message methods to get detailed information about
  15667. // the error.
  15668. //
  15669. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15670. // API operation PurchaseHostReservation for usage and error information.
  15671. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
  15672. func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
  15673. req, out := c.PurchaseHostReservationRequest(input)
  15674. return out, req.Send()
  15675. }
  15676. // PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
  15677. // the ability to pass a context and additional request options.
  15678. //
  15679. // See PurchaseHostReservation for details on how to use this API operation.
  15680. //
  15681. // The context must be non-nil and will be used for request cancellation. If
  15682. // the context is nil a panic will occur. In the future the SDK may create
  15683. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15684. // for more information on using Contexts.
  15685. func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
  15686. req, out := c.PurchaseHostReservationRequest(input)
  15687. req.SetContext(ctx)
  15688. req.ApplyOptions(opts...)
  15689. return out, req.Send()
  15690. }
  15691. const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
  15692. // PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
  15693. // client's request for the PurchaseReservedInstancesOffering operation. The "output" return
  15694. // value can be used to capture response data after the request's "Send" method
  15695. // is called.
  15696. //
  15697. // See PurchaseReservedInstancesOffering for usage and error information.
  15698. //
  15699. // Creating a request object using this method should be used when you want to inject
  15700. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15701. // access properties on the request object before or after sending the request. If
  15702. // you just want the service response, call the PurchaseReservedInstancesOffering method directly
  15703. // instead.
  15704. //
  15705. // Note: You must call the "Send" method on the returned request object in order
  15706. // to execute the request.
  15707. //
  15708. // // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
  15709. // req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
  15710. //
  15711. // err := req.Send()
  15712. // if err == nil { // resp is now filled
  15713. // fmt.Println(resp)
  15714. // }
  15715. //
  15716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  15717. func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
  15718. op := &request.Operation{
  15719. Name: opPurchaseReservedInstancesOffering,
  15720. HTTPMethod: "POST",
  15721. HTTPPath: "/",
  15722. }
  15723. if input == nil {
  15724. input = &PurchaseReservedInstancesOfferingInput{}
  15725. }
  15726. output = &PurchaseReservedInstancesOfferingOutput{}
  15727. req = c.newRequest(op, input, output)
  15728. return
  15729. }
  15730. // PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
  15731. //
  15732. // Purchases a Reserved Instance for use with your account. With Reserved Instances,
  15733. // you pay a lower hourly rate compared to On-Demand instance pricing.
  15734. //
  15735. // Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
  15736. // offerings that match your specifications. After you've purchased a Reserved
  15737. // Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
  15738. //
  15739. // For more information, see Reserved Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
  15740. // and Reserved Instance Marketplace (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
  15741. // in the Amazon Elastic Compute Cloud User Guide.
  15742. //
  15743. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15744. // with awserr.Error's Code and Message methods to get detailed information about
  15745. // the error.
  15746. //
  15747. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15748. // API operation PurchaseReservedInstancesOffering for usage and error information.
  15749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
  15750. func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
  15751. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  15752. return out, req.Send()
  15753. }
  15754. // PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
  15755. // the ability to pass a context and additional request options.
  15756. //
  15757. // See PurchaseReservedInstancesOffering for details on how to use this API operation.
  15758. //
  15759. // The context must be non-nil and will be used for request cancellation. If
  15760. // the context is nil a panic will occur. In the future the SDK may create
  15761. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15762. // for more information on using Contexts.
  15763. func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
  15764. req, out := c.PurchaseReservedInstancesOfferingRequest(input)
  15765. req.SetContext(ctx)
  15766. req.ApplyOptions(opts...)
  15767. return out, req.Send()
  15768. }
  15769. const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
  15770. // PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
  15771. // client's request for the PurchaseScheduledInstances operation. The "output" return
  15772. // value can be used to capture response data after the request's "Send" method
  15773. // is called.
  15774. //
  15775. // See PurchaseScheduledInstances for usage and error information.
  15776. //
  15777. // Creating a request object using this method should be used when you want to inject
  15778. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15779. // access properties on the request object before or after sending the request. If
  15780. // you just want the service response, call the PurchaseScheduledInstances method directly
  15781. // instead.
  15782. //
  15783. // Note: You must call the "Send" method on the returned request object in order
  15784. // to execute the request.
  15785. //
  15786. // // Example sending a request using the PurchaseScheduledInstancesRequest method.
  15787. // req, resp := client.PurchaseScheduledInstancesRequest(params)
  15788. //
  15789. // err := req.Send()
  15790. // if err == nil { // resp is now filled
  15791. // fmt.Println(resp)
  15792. // }
  15793. //
  15794. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  15795. func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
  15796. op := &request.Operation{
  15797. Name: opPurchaseScheduledInstances,
  15798. HTTPMethod: "POST",
  15799. HTTPPath: "/",
  15800. }
  15801. if input == nil {
  15802. input = &PurchaseScheduledInstancesInput{}
  15803. }
  15804. output = &PurchaseScheduledInstancesOutput{}
  15805. req = c.newRequest(op, input, output)
  15806. return
  15807. }
  15808. // PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
  15809. //
  15810. // Purchases one or more Scheduled Instances with the specified schedule.
  15811. //
  15812. // Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
  15813. // the hour for a one-year term. Before you can purchase a Scheduled Instance,
  15814. // you must call DescribeScheduledInstanceAvailability to check for available
  15815. // schedules and obtain a purchase token. After you purchase a Scheduled Instance,
  15816. // you must call RunScheduledInstances during each scheduled time period.
  15817. //
  15818. // After you purchase a Scheduled Instance, you can't cancel, modify, or resell
  15819. // your purchase.
  15820. //
  15821. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15822. // with awserr.Error's Code and Message methods to get detailed information about
  15823. // the error.
  15824. //
  15825. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15826. // API operation PurchaseScheduledInstances for usage and error information.
  15827. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
  15828. func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
  15829. req, out := c.PurchaseScheduledInstancesRequest(input)
  15830. return out, req.Send()
  15831. }
  15832. // PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
  15833. // the ability to pass a context and additional request options.
  15834. //
  15835. // See PurchaseScheduledInstances for details on how to use this API operation.
  15836. //
  15837. // The context must be non-nil and will be used for request cancellation. If
  15838. // the context is nil a panic will occur. In the future the SDK may create
  15839. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15840. // for more information on using Contexts.
  15841. func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
  15842. req, out := c.PurchaseScheduledInstancesRequest(input)
  15843. req.SetContext(ctx)
  15844. req.ApplyOptions(opts...)
  15845. return out, req.Send()
  15846. }
  15847. const opRebootInstances = "RebootInstances"
  15848. // RebootInstancesRequest generates a "aws/request.Request" representing the
  15849. // client's request for the RebootInstances operation. The "output" return
  15850. // value can be used to capture response data after the request's "Send" method
  15851. // is called.
  15852. //
  15853. // See RebootInstances for usage and error information.
  15854. //
  15855. // Creating a request object using this method should be used when you want to inject
  15856. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15857. // access properties on the request object before or after sending the request. If
  15858. // you just want the service response, call the RebootInstances method directly
  15859. // instead.
  15860. //
  15861. // Note: You must call the "Send" method on the returned request object in order
  15862. // to execute the request.
  15863. //
  15864. // // Example sending a request using the RebootInstancesRequest method.
  15865. // req, resp := client.RebootInstancesRequest(params)
  15866. //
  15867. // err := req.Send()
  15868. // if err == nil { // resp is now filled
  15869. // fmt.Println(resp)
  15870. // }
  15871. //
  15872. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  15873. func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
  15874. op := &request.Operation{
  15875. Name: opRebootInstances,
  15876. HTTPMethod: "POST",
  15877. HTTPPath: "/",
  15878. }
  15879. if input == nil {
  15880. input = &RebootInstancesInput{}
  15881. }
  15882. output = &RebootInstancesOutput{}
  15883. req = c.newRequest(op, input, output)
  15884. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  15885. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  15886. return
  15887. }
  15888. // RebootInstances API operation for Amazon Elastic Compute Cloud.
  15889. //
  15890. // Requests a reboot of one or more instances. This operation is asynchronous;
  15891. // it only queues a request to reboot the specified instances. The operation
  15892. // succeeds if the instances are valid and belong to you. Requests to reboot
  15893. // terminated instances are ignored.
  15894. //
  15895. // If an instance does not cleanly shut down within four minutes, Amazon EC2
  15896. // performs a hard reboot.
  15897. //
  15898. // For more information about troubleshooting, see Getting Console Output and
  15899. // Rebooting Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
  15900. // in the Amazon Elastic Compute Cloud User Guide.
  15901. //
  15902. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  15903. // with awserr.Error's Code and Message methods to get detailed information about
  15904. // the error.
  15905. //
  15906. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  15907. // API operation RebootInstances for usage and error information.
  15908. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
  15909. func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
  15910. req, out := c.RebootInstancesRequest(input)
  15911. return out, req.Send()
  15912. }
  15913. // RebootInstancesWithContext is the same as RebootInstances with the addition of
  15914. // the ability to pass a context and additional request options.
  15915. //
  15916. // See RebootInstances for details on how to use this API operation.
  15917. //
  15918. // The context must be non-nil and will be used for request cancellation. If
  15919. // the context is nil a panic will occur. In the future the SDK may create
  15920. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  15921. // for more information on using Contexts.
  15922. func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
  15923. req, out := c.RebootInstancesRequest(input)
  15924. req.SetContext(ctx)
  15925. req.ApplyOptions(opts...)
  15926. return out, req.Send()
  15927. }
  15928. const opRegisterImage = "RegisterImage"
  15929. // RegisterImageRequest generates a "aws/request.Request" representing the
  15930. // client's request for the RegisterImage operation. The "output" return
  15931. // value can be used to capture response data after the request's "Send" method
  15932. // is called.
  15933. //
  15934. // See RegisterImage for usage and error information.
  15935. //
  15936. // Creating a request object using this method should be used when you want to inject
  15937. // custom logic into the request's lifecycle using a custom handler, or if you want to
  15938. // access properties on the request object before or after sending the request. If
  15939. // you just want the service response, call the RegisterImage method directly
  15940. // instead.
  15941. //
  15942. // Note: You must call the "Send" method on the returned request object in order
  15943. // to execute the request.
  15944. //
  15945. // // Example sending a request using the RegisterImageRequest method.
  15946. // req, resp := client.RegisterImageRequest(params)
  15947. //
  15948. // err := req.Send()
  15949. // if err == nil { // resp is now filled
  15950. // fmt.Println(resp)
  15951. // }
  15952. //
  15953. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  15954. func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
  15955. op := &request.Operation{
  15956. Name: opRegisterImage,
  15957. HTTPMethod: "POST",
  15958. HTTPPath: "/",
  15959. }
  15960. if input == nil {
  15961. input = &RegisterImageInput{}
  15962. }
  15963. output = &RegisterImageOutput{}
  15964. req = c.newRequest(op, input, output)
  15965. return
  15966. }
  15967. // RegisterImage API operation for Amazon Elastic Compute Cloud.
  15968. //
  15969. // Registers an AMI. When you're creating an AMI, this is the final step you
  15970. // must complete before you can launch an instance from the AMI. For more information
  15971. // about creating AMIs, see Creating Your Own AMIs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
  15972. // in the Amazon Elastic Compute Cloud User Guide.
  15973. //
  15974. // For Amazon EBS-backed instances, CreateImage creates and registers the AMI
  15975. // in a single request, so you don't have to register the AMI yourself.
  15976. //
  15977. // You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
  15978. // a snapshot of a root device volume. You specify the snapshot using the block
  15979. // device mapping. For more information, see Launching a Linux Instance from
  15980. // a Backup (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
  15981. // in the Amazon Elastic Compute Cloud User Guide.
  15982. //
  15983. // You can't register an image where a secondary (non-root) snapshot has AWS
  15984. // Marketplace product codes.
  15985. //
  15986. // Some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE
  15987. // Linux Enterprise Server (SLES), use the EC2 billing product code associated
  15988. // with an AMI to verify the subscription status for package updates. Creating
  15989. // an AMI from an EBS snapshot does not maintain this billing code, and subsequent
  15990. // instances launched from such an AMI will not be able to connect to package
  15991. // update infrastructure. To create an AMI that must retain billing codes, see
  15992. // CreateImage.
  15993. //
  15994. // If needed, you can deregister an AMI at any time. Any modifications you make
  15995. // to an AMI backed by an instance store volume invalidates its registration.
  15996. // If you make changes to an image, deregister the previous image and register
  15997. // the new image.
  15998. //
  15999. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16000. // with awserr.Error's Code and Message methods to get detailed information about
  16001. // the error.
  16002. //
  16003. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16004. // API operation RegisterImage for usage and error information.
  16005. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
  16006. func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
  16007. req, out := c.RegisterImageRequest(input)
  16008. return out, req.Send()
  16009. }
  16010. // RegisterImageWithContext is the same as RegisterImage with the addition of
  16011. // the ability to pass a context and additional request options.
  16012. //
  16013. // See RegisterImage for details on how to use this API operation.
  16014. //
  16015. // The context must be non-nil and will be used for request cancellation. If
  16016. // the context is nil a panic will occur. In the future the SDK may create
  16017. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16018. // for more information on using Contexts.
  16019. func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
  16020. req, out := c.RegisterImageRequest(input)
  16021. req.SetContext(ctx)
  16022. req.ApplyOptions(opts...)
  16023. return out, req.Send()
  16024. }
  16025. const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
  16026. // RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  16027. // client's request for the RejectVpcPeeringConnection operation. The "output" return
  16028. // value can be used to capture response data after the request's "Send" method
  16029. // is called.
  16030. //
  16031. // See RejectVpcPeeringConnection for usage and error information.
  16032. //
  16033. // Creating a request object using this method should be used when you want to inject
  16034. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16035. // access properties on the request object before or after sending the request. If
  16036. // you just want the service response, call the RejectVpcPeeringConnection method directly
  16037. // instead.
  16038. //
  16039. // Note: You must call the "Send" method on the returned request object in order
  16040. // to execute the request.
  16041. //
  16042. // // Example sending a request using the RejectVpcPeeringConnectionRequest method.
  16043. // req, resp := client.RejectVpcPeeringConnectionRequest(params)
  16044. //
  16045. // err := req.Send()
  16046. // if err == nil { // resp is now filled
  16047. // fmt.Println(resp)
  16048. // }
  16049. //
  16050. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  16051. func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
  16052. op := &request.Operation{
  16053. Name: opRejectVpcPeeringConnection,
  16054. HTTPMethod: "POST",
  16055. HTTPPath: "/",
  16056. }
  16057. if input == nil {
  16058. input = &RejectVpcPeeringConnectionInput{}
  16059. }
  16060. output = &RejectVpcPeeringConnectionOutput{}
  16061. req = c.newRequest(op, input, output)
  16062. return
  16063. }
  16064. // RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
  16065. //
  16066. // Rejects a VPC peering connection request. The VPC peering connection must
  16067. // be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
  16068. // request to view your outstanding VPC peering connection requests. To delete
  16069. // an active VPC peering connection, or to delete a VPC peering connection request
  16070. // that you initiated, use DeleteVpcPeeringConnection.
  16071. //
  16072. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16073. // with awserr.Error's Code and Message methods to get detailed information about
  16074. // the error.
  16075. //
  16076. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16077. // API operation RejectVpcPeeringConnection for usage and error information.
  16078. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
  16079. func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
  16080. req, out := c.RejectVpcPeeringConnectionRequest(input)
  16081. return out, req.Send()
  16082. }
  16083. // RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
  16084. // the ability to pass a context and additional request options.
  16085. //
  16086. // See RejectVpcPeeringConnection for details on how to use this API operation.
  16087. //
  16088. // The context must be non-nil and will be used for request cancellation. If
  16089. // the context is nil a panic will occur. In the future the SDK may create
  16090. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16091. // for more information on using Contexts.
  16092. func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
  16093. req, out := c.RejectVpcPeeringConnectionRequest(input)
  16094. req.SetContext(ctx)
  16095. req.ApplyOptions(opts...)
  16096. return out, req.Send()
  16097. }
  16098. const opReleaseAddress = "ReleaseAddress"
  16099. // ReleaseAddressRequest generates a "aws/request.Request" representing the
  16100. // client's request for the ReleaseAddress operation. The "output" return
  16101. // value can be used to capture response data after the request's "Send" method
  16102. // is called.
  16103. //
  16104. // See ReleaseAddress for usage and error information.
  16105. //
  16106. // Creating a request object using this method should be used when you want to inject
  16107. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16108. // access properties on the request object before or after sending the request. If
  16109. // you just want the service response, call the ReleaseAddress method directly
  16110. // instead.
  16111. //
  16112. // Note: You must call the "Send" method on the returned request object in order
  16113. // to execute the request.
  16114. //
  16115. // // Example sending a request using the ReleaseAddressRequest method.
  16116. // req, resp := client.ReleaseAddressRequest(params)
  16117. //
  16118. // err := req.Send()
  16119. // if err == nil { // resp is now filled
  16120. // fmt.Println(resp)
  16121. // }
  16122. //
  16123. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  16124. func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
  16125. op := &request.Operation{
  16126. Name: opReleaseAddress,
  16127. HTTPMethod: "POST",
  16128. HTTPPath: "/",
  16129. }
  16130. if input == nil {
  16131. input = &ReleaseAddressInput{}
  16132. }
  16133. output = &ReleaseAddressOutput{}
  16134. req = c.newRequest(op, input, output)
  16135. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16136. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16137. return
  16138. }
  16139. // ReleaseAddress API operation for Amazon Elastic Compute Cloud.
  16140. //
  16141. // Releases the specified Elastic IP address.
  16142. //
  16143. // After releasing an Elastic IP address, it is released to the IP address pool
  16144. // and might be unavailable to you. Be sure to update your DNS records and any
  16145. // servers or devices that communicate with the address. If you attempt to release
  16146. // an Elastic IP address that you already released, you'll get an AuthFailure
  16147. // error if the address is already allocated to another AWS account.
  16148. //
  16149. // [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
  16150. // disassociates it from any instance that it's associated with. To disassociate
  16151. // an Elastic IP address without releasing it, use DisassociateAddress.
  16152. //
  16153. // [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
  16154. // IP address before you try to release it. Otherwise, Amazon EC2 returns an
  16155. // error (InvalidIPAddress.InUse).
  16156. //
  16157. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16158. // with awserr.Error's Code and Message methods to get detailed information about
  16159. // the error.
  16160. //
  16161. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16162. // API operation ReleaseAddress for usage and error information.
  16163. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
  16164. func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
  16165. req, out := c.ReleaseAddressRequest(input)
  16166. return out, req.Send()
  16167. }
  16168. // ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
  16169. // the ability to pass a context and additional request options.
  16170. //
  16171. // See ReleaseAddress for details on how to use this API operation.
  16172. //
  16173. // The context must be non-nil and will be used for request cancellation. If
  16174. // the context is nil a panic will occur. In the future the SDK may create
  16175. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16176. // for more information on using Contexts.
  16177. func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
  16178. req, out := c.ReleaseAddressRequest(input)
  16179. req.SetContext(ctx)
  16180. req.ApplyOptions(opts...)
  16181. return out, req.Send()
  16182. }
  16183. const opReleaseHosts = "ReleaseHosts"
  16184. // ReleaseHostsRequest generates a "aws/request.Request" representing the
  16185. // client's request for the ReleaseHosts operation. The "output" return
  16186. // value can be used to capture response data after the request's "Send" method
  16187. // is called.
  16188. //
  16189. // See ReleaseHosts for usage and error information.
  16190. //
  16191. // Creating a request object using this method should be used when you want to inject
  16192. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16193. // access properties on the request object before or after sending the request. If
  16194. // you just want the service response, call the ReleaseHosts method directly
  16195. // instead.
  16196. //
  16197. // Note: You must call the "Send" method on the returned request object in order
  16198. // to execute the request.
  16199. //
  16200. // // Example sending a request using the ReleaseHostsRequest method.
  16201. // req, resp := client.ReleaseHostsRequest(params)
  16202. //
  16203. // err := req.Send()
  16204. // if err == nil { // resp is now filled
  16205. // fmt.Println(resp)
  16206. // }
  16207. //
  16208. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  16209. func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
  16210. op := &request.Operation{
  16211. Name: opReleaseHosts,
  16212. HTTPMethod: "POST",
  16213. HTTPPath: "/",
  16214. }
  16215. if input == nil {
  16216. input = &ReleaseHostsInput{}
  16217. }
  16218. output = &ReleaseHostsOutput{}
  16219. req = c.newRequest(op, input, output)
  16220. return
  16221. }
  16222. // ReleaseHosts API operation for Amazon Elastic Compute Cloud.
  16223. //
  16224. // When you no longer want to use an On-Demand Dedicated Host it can be released.
  16225. // On-Demand billing is stopped and the host goes into released state. The host
  16226. // ID of Dedicated Hosts that have been released can no longer be specified
  16227. // in another request, e.g., ModifyHosts. You must stop or terminate all instances
  16228. // on a host before it can be released.
  16229. //
  16230. // When Dedicated Hosts are released, it make take some time for them to stop
  16231. // counting toward your limit and you may receive capacity errors when trying
  16232. // to allocate new Dedicated hosts. Try waiting a few minutes, and then try
  16233. // again.
  16234. //
  16235. // Released hosts will still appear in a DescribeHosts response.
  16236. //
  16237. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16238. // with awserr.Error's Code and Message methods to get detailed information about
  16239. // the error.
  16240. //
  16241. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16242. // API operation ReleaseHosts for usage and error information.
  16243. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
  16244. func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
  16245. req, out := c.ReleaseHostsRequest(input)
  16246. return out, req.Send()
  16247. }
  16248. // ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
  16249. // the ability to pass a context and additional request options.
  16250. //
  16251. // See ReleaseHosts for details on how to use this API operation.
  16252. //
  16253. // The context must be non-nil and will be used for request cancellation. If
  16254. // the context is nil a panic will occur. In the future the SDK may create
  16255. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16256. // for more information on using Contexts.
  16257. func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
  16258. req, out := c.ReleaseHostsRequest(input)
  16259. req.SetContext(ctx)
  16260. req.ApplyOptions(opts...)
  16261. return out, req.Send()
  16262. }
  16263. const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
  16264. // ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
  16265. // client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
  16266. // value can be used to capture response data after the request's "Send" method
  16267. // is called.
  16268. //
  16269. // See ReplaceIamInstanceProfileAssociation for usage and error information.
  16270. //
  16271. // Creating a request object using this method should be used when you want to inject
  16272. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16273. // access properties on the request object before or after sending the request. If
  16274. // you just want the service response, call the ReplaceIamInstanceProfileAssociation method directly
  16275. // instead.
  16276. //
  16277. // Note: You must call the "Send" method on the returned request object in order
  16278. // to execute the request.
  16279. //
  16280. // // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
  16281. // req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
  16282. //
  16283. // err := req.Send()
  16284. // if err == nil { // resp is now filled
  16285. // fmt.Println(resp)
  16286. // }
  16287. //
  16288. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  16289. func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
  16290. op := &request.Operation{
  16291. Name: opReplaceIamInstanceProfileAssociation,
  16292. HTTPMethod: "POST",
  16293. HTTPPath: "/",
  16294. }
  16295. if input == nil {
  16296. input = &ReplaceIamInstanceProfileAssociationInput{}
  16297. }
  16298. output = &ReplaceIamInstanceProfileAssociationOutput{}
  16299. req = c.newRequest(op, input, output)
  16300. return
  16301. }
  16302. // ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
  16303. //
  16304. // Replaces an IAM instance profile for the specified running instance. You
  16305. // can use this action to change the IAM instance profile that's associated
  16306. // with an instance without having to disassociate the existing IAM instance
  16307. // profile first.
  16308. //
  16309. // Use DescribeIamInstanceProfileAssociations to get the association ID.
  16310. //
  16311. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16312. // with awserr.Error's Code and Message methods to get detailed information about
  16313. // the error.
  16314. //
  16315. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16316. // API operation ReplaceIamInstanceProfileAssociation for usage and error information.
  16317. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
  16318. func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  16319. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  16320. return out, req.Send()
  16321. }
  16322. // ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
  16323. // the ability to pass a context and additional request options.
  16324. //
  16325. // See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
  16326. //
  16327. // The context must be non-nil and will be used for request cancellation. If
  16328. // the context is nil a panic will occur. In the future the SDK may create
  16329. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16330. // for more information on using Contexts.
  16331. func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
  16332. req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
  16333. req.SetContext(ctx)
  16334. req.ApplyOptions(opts...)
  16335. return out, req.Send()
  16336. }
  16337. const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
  16338. // ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
  16339. // client's request for the ReplaceNetworkAclAssociation operation. The "output" return
  16340. // value can be used to capture response data after the request's "Send" method
  16341. // is called.
  16342. //
  16343. // See ReplaceNetworkAclAssociation for usage and error information.
  16344. //
  16345. // Creating a request object using this method should be used when you want to inject
  16346. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16347. // access properties on the request object before or after sending the request. If
  16348. // you just want the service response, call the ReplaceNetworkAclAssociation method directly
  16349. // instead.
  16350. //
  16351. // Note: You must call the "Send" method on the returned request object in order
  16352. // to execute the request.
  16353. //
  16354. // // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
  16355. // req, resp := client.ReplaceNetworkAclAssociationRequest(params)
  16356. //
  16357. // err := req.Send()
  16358. // if err == nil { // resp is now filled
  16359. // fmt.Println(resp)
  16360. // }
  16361. //
  16362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  16363. func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
  16364. op := &request.Operation{
  16365. Name: opReplaceNetworkAclAssociation,
  16366. HTTPMethod: "POST",
  16367. HTTPPath: "/",
  16368. }
  16369. if input == nil {
  16370. input = &ReplaceNetworkAclAssociationInput{}
  16371. }
  16372. output = &ReplaceNetworkAclAssociationOutput{}
  16373. req = c.newRequest(op, input, output)
  16374. return
  16375. }
  16376. // ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
  16377. //
  16378. // Changes which network ACL a subnet is associated with. By default when you
  16379. // create a subnet, it's automatically associated with the default network ACL.
  16380. // For more information about network ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  16381. // in the Amazon Virtual Private Cloud User Guide.
  16382. //
  16383. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16384. // with awserr.Error's Code and Message methods to get detailed information about
  16385. // the error.
  16386. //
  16387. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16388. // API operation ReplaceNetworkAclAssociation for usage and error information.
  16389. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
  16390. func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
  16391. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  16392. return out, req.Send()
  16393. }
  16394. // ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
  16395. // the ability to pass a context and additional request options.
  16396. //
  16397. // See ReplaceNetworkAclAssociation for details on how to use this API operation.
  16398. //
  16399. // The context must be non-nil and will be used for request cancellation. If
  16400. // the context is nil a panic will occur. In the future the SDK may create
  16401. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16402. // for more information on using Contexts.
  16403. func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
  16404. req, out := c.ReplaceNetworkAclAssociationRequest(input)
  16405. req.SetContext(ctx)
  16406. req.ApplyOptions(opts...)
  16407. return out, req.Send()
  16408. }
  16409. const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
  16410. // ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
  16411. // client's request for the ReplaceNetworkAclEntry operation. The "output" return
  16412. // value can be used to capture response data after the request's "Send" method
  16413. // is called.
  16414. //
  16415. // See ReplaceNetworkAclEntry for usage and error information.
  16416. //
  16417. // Creating a request object using this method should be used when you want to inject
  16418. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16419. // access properties on the request object before or after sending the request. If
  16420. // you just want the service response, call the ReplaceNetworkAclEntry method directly
  16421. // instead.
  16422. //
  16423. // Note: You must call the "Send" method on the returned request object in order
  16424. // to execute the request.
  16425. //
  16426. // // Example sending a request using the ReplaceNetworkAclEntryRequest method.
  16427. // req, resp := client.ReplaceNetworkAclEntryRequest(params)
  16428. //
  16429. // err := req.Send()
  16430. // if err == nil { // resp is now filled
  16431. // fmt.Println(resp)
  16432. // }
  16433. //
  16434. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  16435. func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
  16436. op := &request.Operation{
  16437. Name: opReplaceNetworkAclEntry,
  16438. HTTPMethod: "POST",
  16439. HTTPPath: "/",
  16440. }
  16441. if input == nil {
  16442. input = &ReplaceNetworkAclEntryInput{}
  16443. }
  16444. output = &ReplaceNetworkAclEntryOutput{}
  16445. req = c.newRequest(op, input, output)
  16446. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16447. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16448. return
  16449. }
  16450. // ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
  16451. //
  16452. // Replaces an entry (rule) in a network ACL. For more information about network
  16453. // ACLs, see Network ACLs (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html)
  16454. // in the Amazon Virtual Private Cloud User Guide.
  16455. //
  16456. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16457. // with awserr.Error's Code and Message methods to get detailed information about
  16458. // the error.
  16459. //
  16460. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16461. // API operation ReplaceNetworkAclEntry for usage and error information.
  16462. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
  16463. func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
  16464. req, out := c.ReplaceNetworkAclEntryRequest(input)
  16465. return out, req.Send()
  16466. }
  16467. // ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
  16468. // the ability to pass a context and additional request options.
  16469. //
  16470. // See ReplaceNetworkAclEntry for details on how to use this API operation.
  16471. //
  16472. // The context must be non-nil and will be used for request cancellation. If
  16473. // the context is nil a panic will occur. In the future the SDK may create
  16474. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16475. // for more information on using Contexts.
  16476. func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
  16477. req, out := c.ReplaceNetworkAclEntryRequest(input)
  16478. req.SetContext(ctx)
  16479. req.ApplyOptions(opts...)
  16480. return out, req.Send()
  16481. }
  16482. const opReplaceRoute = "ReplaceRoute"
  16483. // ReplaceRouteRequest generates a "aws/request.Request" representing the
  16484. // client's request for the ReplaceRoute operation. The "output" return
  16485. // value can be used to capture response data after the request's "Send" method
  16486. // is called.
  16487. //
  16488. // See ReplaceRoute for usage and error information.
  16489. //
  16490. // Creating a request object using this method should be used when you want to inject
  16491. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16492. // access properties on the request object before or after sending the request. If
  16493. // you just want the service response, call the ReplaceRoute method directly
  16494. // instead.
  16495. //
  16496. // Note: You must call the "Send" method on the returned request object in order
  16497. // to execute the request.
  16498. //
  16499. // // Example sending a request using the ReplaceRouteRequest method.
  16500. // req, resp := client.ReplaceRouteRequest(params)
  16501. //
  16502. // err := req.Send()
  16503. // if err == nil { // resp is now filled
  16504. // fmt.Println(resp)
  16505. // }
  16506. //
  16507. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  16508. func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
  16509. op := &request.Operation{
  16510. Name: opReplaceRoute,
  16511. HTTPMethod: "POST",
  16512. HTTPPath: "/",
  16513. }
  16514. if input == nil {
  16515. input = &ReplaceRouteInput{}
  16516. }
  16517. output = &ReplaceRouteOutput{}
  16518. req = c.newRequest(op, input, output)
  16519. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16520. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16521. return
  16522. }
  16523. // ReplaceRoute API operation for Amazon Elastic Compute Cloud.
  16524. //
  16525. // Replaces an existing route within a route table in a VPC. You must provide
  16526. // only one of the following: Internet gateway or virtual private gateway, NAT
  16527. // instance, NAT gateway, VPC peering connection, network interface, or egress-only
  16528. // Internet gateway.
  16529. //
  16530. // For more information about route tables, see Route Tables (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  16531. // in the Amazon Virtual Private Cloud User Guide.
  16532. //
  16533. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16534. // with awserr.Error's Code and Message methods to get detailed information about
  16535. // the error.
  16536. //
  16537. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16538. // API operation ReplaceRoute for usage and error information.
  16539. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
  16540. func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
  16541. req, out := c.ReplaceRouteRequest(input)
  16542. return out, req.Send()
  16543. }
  16544. // ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
  16545. // the ability to pass a context and additional request options.
  16546. //
  16547. // See ReplaceRoute for details on how to use this API operation.
  16548. //
  16549. // The context must be non-nil and will be used for request cancellation. If
  16550. // the context is nil a panic will occur. In the future the SDK may create
  16551. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16552. // for more information on using Contexts.
  16553. func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
  16554. req, out := c.ReplaceRouteRequest(input)
  16555. req.SetContext(ctx)
  16556. req.ApplyOptions(opts...)
  16557. return out, req.Send()
  16558. }
  16559. const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
  16560. // ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
  16561. // client's request for the ReplaceRouteTableAssociation operation. The "output" return
  16562. // value can be used to capture response data after the request's "Send" method
  16563. // is called.
  16564. //
  16565. // See ReplaceRouteTableAssociation for usage and error information.
  16566. //
  16567. // Creating a request object using this method should be used when you want to inject
  16568. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16569. // access properties on the request object before or after sending the request. If
  16570. // you just want the service response, call the ReplaceRouteTableAssociation method directly
  16571. // instead.
  16572. //
  16573. // Note: You must call the "Send" method on the returned request object in order
  16574. // to execute the request.
  16575. //
  16576. // // Example sending a request using the ReplaceRouteTableAssociationRequest method.
  16577. // req, resp := client.ReplaceRouteTableAssociationRequest(params)
  16578. //
  16579. // err := req.Send()
  16580. // if err == nil { // resp is now filled
  16581. // fmt.Println(resp)
  16582. // }
  16583. //
  16584. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  16585. func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
  16586. op := &request.Operation{
  16587. Name: opReplaceRouteTableAssociation,
  16588. HTTPMethod: "POST",
  16589. HTTPPath: "/",
  16590. }
  16591. if input == nil {
  16592. input = &ReplaceRouteTableAssociationInput{}
  16593. }
  16594. output = &ReplaceRouteTableAssociationOutput{}
  16595. req = c.newRequest(op, input, output)
  16596. return
  16597. }
  16598. // ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
  16599. //
  16600. // Changes the route table associated with a given subnet in a VPC. After the
  16601. // operation completes, the subnet uses the routes in the new route table it's
  16602. // associated with. For more information about route tables, see Route Tables
  16603. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html)
  16604. // in the Amazon Virtual Private Cloud User Guide.
  16605. //
  16606. // You can also use ReplaceRouteTableAssociation to change which table is the
  16607. // main route table in the VPC. You just specify the main route table's association
  16608. // ID and the route table to be the new main route table.
  16609. //
  16610. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16611. // with awserr.Error's Code and Message methods to get detailed information about
  16612. // the error.
  16613. //
  16614. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16615. // API operation ReplaceRouteTableAssociation for usage and error information.
  16616. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
  16617. func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
  16618. req, out := c.ReplaceRouteTableAssociationRequest(input)
  16619. return out, req.Send()
  16620. }
  16621. // ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
  16622. // the ability to pass a context and additional request options.
  16623. //
  16624. // See ReplaceRouteTableAssociation for details on how to use this API operation.
  16625. //
  16626. // The context must be non-nil and will be used for request cancellation. If
  16627. // the context is nil a panic will occur. In the future the SDK may create
  16628. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16629. // for more information on using Contexts.
  16630. func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
  16631. req, out := c.ReplaceRouteTableAssociationRequest(input)
  16632. req.SetContext(ctx)
  16633. req.ApplyOptions(opts...)
  16634. return out, req.Send()
  16635. }
  16636. const opReportInstanceStatus = "ReportInstanceStatus"
  16637. // ReportInstanceStatusRequest generates a "aws/request.Request" representing the
  16638. // client's request for the ReportInstanceStatus operation. The "output" return
  16639. // value can be used to capture response data after the request's "Send" method
  16640. // is called.
  16641. //
  16642. // See ReportInstanceStatus for usage and error information.
  16643. //
  16644. // Creating a request object using this method should be used when you want to inject
  16645. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16646. // access properties on the request object before or after sending the request. If
  16647. // you just want the service response, call the ReportInstanceStatus method directly
  16648. // instead.
  16649. //
  16650. // Note: You must call the "Send" method on the returned request object in order
  16651. // to execute the request.
  16652. //
  16653. // // Example sending a request using the ReportInstanceStatusRequest method.
  16654. // req, resp := client.ReportInstanceStatusRequest(params)
  16655. //
  16656. // err := req.Send()
  16657. // if err == nil { // resp is now filled
  16658. // fmt.Println(resp)
  16659. // }
  16660. //
  16661. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  16662. func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
  16663. op := &request.Operation{
  16664. Name: opReportInstanceStatus,
  16665. HTTPMethod: "POST",
  16666. HTTPPath: "/",
  16667. }
  16668. if input == nil {
  16669. input = &ReportInstanceStatusInput{}
  16670. }
  16671. output = &ReportInstanceStatusOutput{}
  16672. req = c.newRequest(op, input, output)
  16673. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16674. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16675. return
  16676. }
  16677. // ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
  16678. //
  16679. // Submits feedback about the status of an instance. The instance must be in
  16680. // the running state. If your experience with the instance differs from the
  16681. // instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
  16682. // to report your experience with the instance. Amazon EC2 collects this information
  16683. // to improve the accuracy of status checks.
  16684. //
  16685. // Use of this action does not change the value returned by DescribeInstanceStatus.
  16686. //
  16687. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16688. // with awserr.Error's Code and Message methods to get detailed information about
  16689. // the error.
  16690. //
  16691. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16692. // API operation ReportInstanceStatus for usage and error information.
  16693. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
  16694. func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
  16695. req, out := c.ReportInstanceStatusRequest(input)
  16696. return out, req.Send()
  16697. }
  16698. // ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
  16699. // the ability to pass a context and additional request options.
  16700. //
  16701. // See ReportInstanceStatus for details on how to use this API operation.
  16702. //
  16703. // The context must be non-nil and will be used for request cancellation. If
  16704. // the context is nil a panic will occur. In the future the SDK may create
  16705. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16706. // for more information on using Contexts.
  16707. func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
  16708. req, out := c.ReportInstanceStatusRequest(input)
  16709. req.SetContext(ctx)
  16710. req.ApplyOptions(opts...)
  16711. return out, req.Send()
  16712. }
  16713. const opRequestSpotFleet = "RequestSpotFleet"
  16714. // RequestSpotFleetRequest generates a "aws/request.Request" representing the
  16715. // client's request for the RequestSpotFleet operation. The "output" return
  16716. // value can be used to capture response data after the request's "Send" method
  16717. // is called.
  16718. //
  16719. // See RequestSpotFleet for usage and error information.
  16720. //
  16721. // Creating a request object using this method should be used when you want to inject
  16722. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16723. // access properties on the request object before or after sending the request. If
  16724. // you just want the service response, call the RequestSpotFleet method directly
  16725. // instead.
  16726. //
  16727. // Note: You must call the "Send" method on the returned request object in order
  16728. // to execute the request.
  16729. //
  16730. // // Example sending a request using the RequestSpotFleetRequest method.
  16731. // req, resp := client.RequestSpotFleetRequest(params)
  16732. //
  16733. // err := req.Send()
  16734. // if err == nil { // resp is now filled
  16735. // fmt.Println(resp)
  16736. // }
  16737. //
  16738. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  16739. func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
  16740. op := &request.Operation{
  16741. Name: opRequestSpotFleet,
  16742. HTTPMethod: "POST",
  16743. HTTPPath: "/",
  16744. }
  16745. if input == nil {
  16746. input = &RequestSpotFleetInput{}
  16747. }
  16748. output = &RequestSpotFleetOutput{}
  16749. req = c.newRequest(op, input, output)
  16750. return
  16751. }
  16752. // RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
  16753. //
  16754. // Creates a Spot fleet request.
  16755. //
  16756. // You can submit a single request that includes multiple launch specifications
  16757. // that vary by instance type, AMI, Availability Zone, or subnet.
  16758. //
  16759. // By default, the Spot fleet requests Spot instances in the Spot pool where
  16760. // the price per unit is the lowest. Each launch specification can include its
  16761. // own instance weighting that reflects the value of the instance type to your
  16762. // application workload.
  16763. //
  16764. // Alternatively, you can specify that the Spot fleet distribute the target
  16765. // capacity across the Spot pools included in its launch specifications. By
  16766. // ensuring that the Spot instances in your Spot fleet are in different Spot
  16767. // pools, you can improve the availability of your fleet.
  16768. //
  16769. // For more information, see Spot Fleet Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
  16770. // in the Amazon Elastic Compute Cloud User Guide.
  16771. //
  16772. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16773. // with awserr.Error's Code and Message methods to get detailed information about
  16774. // the error.
  16775. //
  16776. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16777. // API operation RequestSpotFleet for usage and error information.
  16778. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
  16779. func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
  16780. req, out := c.RequestSpotFleetRequest(input)
  16781. return out, req.Send()
  16782. }
  16783. // RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
  16784. // the ability to pass a context and additional request options.
  16785. //
  16786. // See RequestSpotFleet for details on how to use this API operation.
  16787. //
  16788. // The context must be non-nil and will be used for request cancellation. If
  16789. // the context is nil a panic will occur. In the future the SDK may create
  16790. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16791. // for more information on using Contexts.
  16792. func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
  16793. req, out := c.RequestSpotFleetRequest(input)
  16794. req.SetContext(ctx)
  16795. req.ApplyOptions(opts...)
  16796. return out, req.Send()
  16797. }
  16798. const opRequestSpotInstances = "RequestSpotInstances"
  16799. // RequestSpotInstancesRequest generates a "aws/request.Request" representing the
  16800. // client's request for the RequestSpotInstances operation. The "output" return
  16801. // value can be used to capture response data after the request's "Send" method
  16802. // is called.
  16803. //
  16804. // See RequestSpotInstances for usage and error information.
  16805. //
  16806. // Creating a request object using this method should be used when you want to inject
  16807. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16808. // access properties on the request object before or after sending the request. If
  16809. // you just want the service response, call the RequestSpotInstances method directly
  16810. // instead.
  16811. //
  16812. // Note: You must call the "Send" method on the returned request object in order
  16813. // to execute the request.
  16814. //
  16815. // // Example sending a request using the RequestSpotInstancesRequest method.
  16816. // req, resp := client.RequestSpotInstancesRequest(params)
  16817. //
  16818. // err := req.Send()
  16819. // if err == nil { // resp is now filled
  16820. // fmt.Println(resp)
  16821. // }
  16822. //
  16823. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  16824. func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
  16825. op := &request.Operation{
  16826. Name: opRequestSpotInstances,
  16827. HTTPMethod: "POST",
  16828. HTTPPath: "/",
  16829. }
  16830. if input == nil {
  16831. input = &RequestSpotInstancesInput{}
  16832. }
  16833. output = &RequestSpotInstancesOutput{}
  16834. req = c.newRequest(op, input, output)
  16835. return
  16836. }
  16837. // RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
  16838. //
  16839. // Creates a Spot instance request. Spot instances are instances that Amazon
  16840. // EC2 launches when the bid price that you specify exceeds the current Spot
  16841. // price. Amazon EC2 periodically sets the Spot price based on available Spot
  16842. // Instance capacity and current Spot instance requests. For more information,
  16843. // see Spot Instance Requests (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
  16844. // in the Amazon Elastic Compute Cloud User Guide.
  16845. //
  16846. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16847. // with awserr.Error's Code and Message methods to get detailed information about
  16848. // the error.
  16849. //
  16850. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16851. // API operation RequestSpotInstances for usage and error information.
  16852. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
  16853. func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
  16854. req, out := c.RequestSpotInstancesRequest(input)
  16855. return out, req.Send()
  16856. }
  16857. // RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
  16858. // the ability to pass a context and additional request options.
  16859. //
  16860. // See RequestSpotInstances for details on how to use this API operation.
  16861. //
  16862. // The context must be non-nil and will be used for request cancellation. If
  16863. // the context is nil a panic will occur. In the future the SDK may create
  16864. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16865. // for more information on using Contexts.
  16866. func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
  16867. req, out := c.RequestSpotInstancesRequest(input)
  16868. req.SetContext(ctx)
  16869. req.ApplyOptions(opts...)
  16870. return out, req.Send()
  16871. }
  16872. const opResetImageAttribute = "ResetImageAttribute"
  16873. // ResetImageAttributeRequest generates a "aws/request.Request" representing the
  16874. // client's request for the ResetImageAttribute operation. The "output" return
  16875. // value can be used to capture response data after the request's "Send" method
  16876. // is called.
  16877. //
  16878. // See ResetImageAttribute for usage and error information.
  16879. //
  16880. // Creating a request object using this method should be used when you want to inject
  16881. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16882. // access properties on the request object before or after sending the request. If
  16883. // you just want the service response, call the ResetImageAttribute method directly
  16884. // instead.
  16885. //
  16886. // Note: You must call the "Send" method on the returned request object in order
  16887. // to execute the request.
  16888. //
  16889. // // Example sending a request using the ResetImageAttributeRequest method.
  16890. // req, resp := client.ResetImageAttributeRequest(params)
  16891. //
  16892. // err := req.Send()
  16893. // if err == nil { // resp is now filled
  16894. // fmt.Println(resp)
  16895. // }
  16896. //
  16897. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  16898. func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
  16899. op := &request.Operation{
  16900. Name: opResetImageAttribute,
  16901. HTTPMethod: "POST",
  16902. HTTPPath: "/",
  16903. }
  16904. if input == nil {
  16905. input = &ResetImageAttributeInput{}
  16906. }
  16907. output = &ResetImageAttributeOutput{}
  16908. req = c.newRequest(op, input, output)
  16909. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16910. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16911. return
  16912. }
  16913. // ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
  16914. //
  16915. // Resets an attribute of an AMI to its default value.
  16916. //
  16917. // The productCodes attribute can't be reset.
  16918. //
  16919. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16920. // with awserr.Error's Code and Message methods to get detailed information about
  16921. // the error.
  16922. //
  16923. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  16924. // API operation ResetImageAttribute for usage and error information.
  16925. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
  16926. func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
  16927. req, out := c.ResetImageAttributeRequest(input)
  16928. return out, req.Send()
  16929. }
  16930. // ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
  16931. // the ability to pass a context and additional request options.
  16932. //
  16933. // See ResetImageAttribute for details on how to use this API operation.
  16934. //
  16935. // The context must be non-nil and will be used for request cancellation. If
  16936. // the context is nil a panic will occur. In the future the SDK may create
  16937. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  16938. // for more information on using Contexts.
  16939. func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
  16940. req, out := c.ResetImageAttributeRequest(input)
  16941. req.SetContext(ctx)
  16942. req.ApplyOptions(opts...)
  16943. return out, req.Send()
  16944. }
  16945. const opResetInstanceAttribute = "ResetInstanceAttribute"
  16946. // ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
  16947. // client's request for the ResetInstanceAttribute operation. The "output" return
  16948. // value can be used to capture response data after the request's "Send" method
  16949. // is called.
  16950. //
  16951. // See ResetInstanceAttribute for usage and error information.
  16952. //
  16953. // Creating a request object using this method should be used when you want to inject
  16954. // custom logic into the request's lifecycle using a custom handler, or if you want to
  16955. // access properties on the request object before or after sending the request. If
  16956. // you just want the service response, call the ResetInstanceAttribute method directly
  16957. // instead.
  16958. //
  16959. // Note: You must call the "Send" method on the returned request object in order
  16960. // to execute the request.
  16961. //
  16962. // // Example sending a request using the ResetInstanceAttributeRequest method.
  16963. // req, resp := client.ResetInstanceAttributeRequest(params)
  16964. //
  16965. // err := req.Send()
  16966. // if err == nil { // resp is now filled
  16967. // fmt.Println(resp)
  16968. // }
  16969. //
  16970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  16971. func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
  16972. op := &request.Operation{
  16973. Name: opResetInstanceAttribute,
  16974. HTTPMethod: "POST",
  16975. HTTPPath: "/",
  16976. }
  16977. if input == nil {
  16978. input = &ResetInstanceAttributeInput{}
  16979. }
  16980. output = &ResetInstanceAttributeOutput{}
  16981. req = c.newRequest(op, input, output)
  16982. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  16983. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  16984. return
  16985. }
  16986. // ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
  16987. //
  16988. // Resets an attribute of an instance to its default value. To reset the kernel
  16989. // or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
  16990. // the instance can be either running or stopped.
  16991. //
  16992. // The sourceDestCheck attribute controls whether source/destination checking
  16993. // is enabled. The default value is true, which means checking is enabled. This
  16994. // value must be false for a NAT instance to perform NAT. For more information,
  16995. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  16996. // in the Amazon Virtual Private Cloud User Guide.
  16997. //
  16998. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  16999. // with awserr.Error's Code and Message methods to get detailed information about
  17000. // the error.
  17001. //
  17002. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17003. // API operation ResetInstanceAttribute for usage and error information.
  17004. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
  17005. func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
  17006. req, out := c.ResetInstanceAttributeRequest(input)
  17007. return out, req.Send()
  17008. }
  17009. // ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
  17010. // the ability to pass a context and additional request options.
  17011. //
  17012. // See ResetInstanceAttribute for details on how to use this API operation.
  17013. //
  17014. // The context must be non-nil and will be used for request cancellation. If
  17015. // the context is nil a panic will occur. In the future the SDK may create
  17016. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17017. // for more information on using Contexts.
  17018. func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
  17019. req, out := c.ResetInstanceAttributeRequest(input)
  17020. req.SetContext(ctx)
  17021. req.ApplyOptions(opts...)
  17022. return out, req.Send()
  17023. }
  17024. const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
  17025. // ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
  17026. // client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
  17027. // value can be used to capture response data after the request's "Send" method
  17028. // is called.
  17029. //
  17030. // See ResetNetworkInterfaceAttribute for usage and error information.
  17031. //
  17032. // Creating a request object using this method should be used when you want to inject
  17033. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17034. // access properties on the request object before or after sending the request. If
  17035. // you just want the service response, call the ResetNetworkInterfaceAttribute method directly
  17036. // instead.
  17037. //
  17038. // Note: You must call the "Send" method on the returned request object in order
  17039. // to execute the request.
  17040. //
  17041. // // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
  17042. // req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
  17043. //
  17044. // err := req.Send()
  17045. // if err == nil { // resp is now filled
  17046. // fmt.Println(resp)
  17047. // }
  17048. //
  17049. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  17050. func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
  17051. op := &request.Operation{
  17052. Name: opResetNetworkInterfaceAttribute,
  17053. HTTPMethod: "POST",
  17054. HTTPPath: "/",
  17055. }
  17056. if input == nil {
  17057. input = &ResetNetworkInterfaceAttributeInput{}
  17058. }
  17059. output = &ResetNetworkInterfaceAttributeOutput{}
  17060. req = c.newRequest(op, input, output)
  17061. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17062. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17063. return
  17064. }
  17065. // ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
  17066. //
  17067. // Resets a network interface attribute. You can specify only one attribute
  17068. // at a time.
  17069. //
  17070. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17071. // with awserr.Error's Code and Message methods to get detailed information about
  17072. // the error.
  17073. //
  17074. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17075. // API operation ResetNetworkInterfaceAttribute for usage and error information.
  17076. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
  17077. func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
  17078. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  17079. return out, req.Send()
  17080. }
  17081. // ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
  17082. // the ability to pass a context and additional request options.
  17083. //
  17084. // See ResetNetworkInterfaceAttribute for details on how to use this API operation.
  17085. //
  17086. // The context must be non-nil and will be used for request cancellation. If
  17087. // the context is nil a panic will occur. In the future the SDK may create
  17088. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17089. // for more information on using Contexts.
  17090. func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
  17091. req, out := c.ResetNetworkInterfaceAttributeRequest(input)
  17092. req.SetContext(ctx)
  17093. req.ApplyOptions(opts...)
  17094. return out, req.Send()
  17095. }
  17096. const opResetSnapshotAttribute = "ResetSnapshotAttribute"
  17097. // ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
  17098. // client's request for the ResetSnapshotAttribute operation. The "output" return
  17099. // value can be used to capture response data after the request's "Send" method
  17100. // is called.
  17101. //
  17102. // See ResetSnapshotAttribute for usage and error information.
  17103. //
  17104. // Creating a request object using this method should be used when you want to inject
  17105. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17106. // access properties on the request object before or after sending the request. If
  17107. // you just want the service response, call the ResetSnapshotAttribute method directly
  17108. // instead.
  17109. //
  17110. // Note: You must call the "Send" method on the returned request object in order
  17111. // to execute the request.
  17112. //
  17113. // // Example sending a request using the ResetSnapshotAttributeRequest method.
  17114. // req, resp := client.ResetSnapshotAttributeRequest(params)
  17115. //
  17116. // err := req.Send()
  17117. // if err == nil { // resp is now filled
  17118. // fmt.Println(resp)
  17119. // }
  17120. //
  17121. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  17122. func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
  17123. op := &request.Operation{
  17124. Name: opResetSnapshotAttribute,
  17125. HTTPMethod: "POST",
  17126. HTTPPath: "/",
  17127. }
  17128. if input == nil {
  17129. input = &ResetSnapshotAttributeInput{}
  17130. }
  17131. output = &ResetSnapshotAttributeOutput{}
  17132. req = c.newRequest(op, input, output)
  17133. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17134. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17135. return
  17136. }
  17137. // ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
  17138. //
  17139. // Resets permission settings for the specified snapshot.
  17140. //
  17141. // For more information on modifying snapshot permissions, see Sharing Snapshots
  17142. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
  17143. // in the Amazon Elastic Compute Cloud User Guide.
  17144. //
  17145. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17146. // with awserr.Error's Code and Message methods to get detailed information about
  17147. // the error.
  17148. //
  17149. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17150. // API operation ResetSnapshotAttribute for usage and error information.
  17151. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
  17152. func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
  17153. req, out := c.ResetSnapshotAttributeRequest(input)
  17154. return out, req.Send()
  17155. }
  17156. // ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
  17157. // the ability to pass a context and additional request options.
  17158. //
  17159. // See ResetSnapshotAttribute for details on how to use this API operation.
  17160. //
  17161. // The context must be non-nil and will be used for request cancellation. If
  17162. // the context is nil a panic will occur. In the future the SDK may create
  17163. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17164. // for more information on using Contexts.
  17165. func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
  17166. req, out := c.ResetSnapshotAttributeRequest(input)
  17167. req.SetContext(ctx)
  17168. req.ApplyOptions(opts...)
  17169. return out, req.Send()
  17170. }
  17171. const opRestoreAddressToClassic = "RestoreAddressToClassic"
  17172. // RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
  17173. // client's request for the RestoreAddressToClassic operation. The "output" return
  17174. // value can be used to capture response data after the request's "Send" method
  17175. // is called.
  17176. //
  17177. // See RestoreAddressToClassic for usage and error information.
  17178. //
  17179. // Creating a request object using this method should be used when you want to inject
  17180. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17181. // access properties on the request object before or after sending the request. If
  17182. // you just want the service response, call the RestoreAddressToClassic method directly
  17183. // instead.
  17184. //
  17185. // Note: You must call the "Send" method on the returned request object in order
  17186. // to execute the request.
  17187. //
  17188. // // Example sending a request using the RestoreAddressToClassicRequest method.
  17189. // req, resp := client.RestoreAddressToClassicRequest(params)
  17190. //
  17191. // err := req.Send()
  17192. // if err == nil { // resp is now filled
  17193. // fmt.Println(resp)
  17194. // }
  17195. //
  17196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  17197. func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
  17198. op := &request.Operation{
  17199. Name: opRestoreAddressToClassic,
  17200. HTTPMethod: "POST",
  17201. HTTPPath: "/",
  17202. }
  17203. if input == nil {
  17204. input = &RestoreAddressToClassicInput{}
  17205. }
  17206. output = &RestoreAddressToClassicOutput{}
  17207. req = c.newRequest(op, input, output)
  17208. return
  17209. }
  17210. // RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
  17211. //
  17212. // Restores an Elastic IP address that was previously moved to the EC2-VPC platform
  17213. // back to the EC2-Classic platform. You cannot move an Elastic IP address that
  17214. // was originally allocated for use in EC2-VPC. The Elastic IP address must
  17215. // not be associated with an instance or network interface.
  17216. //
  17217. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17218. // with awserr.Error's Code and Message methods to get detailed information about
  17219. // the error.
  17220. //
  17221. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17222. // API operation RestoreAddressToClassic for usage and error information.
  17223. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
  17224. func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
  17225. req, out := c.RestoreAddressToClassicRequest(input)
  17226. return out, req.Send()
  17227. }
  17228. // RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
  17229. // the ability to pass a context and additional request options.
  17230. //
  17231. // See RestoreAddressToClassic for details on how to use this API operation.
  17232. //
  17233. // The context must be non-nil and will be used for request cancellation. If
  17234. // the context is nil a panic will occur. In the future the SDK may create
  17235. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17236. // for more information on using Contexts.
  17237. func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
  17238. req, out := c.RestoreAddressToClassicRequest(input)
  17239. req.SetContext(ctx)
  17240. req.ApplyOptions(opts...)
  17241. return out, req.Send()
  17242. }
  17243. const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
  17244. // RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
  17245. // client's request for the RevokeSecurityGroupEgress operation. The "output" return
  17246. // value can be used to capture response data after the request's "Send" method
  17247. // is called.
  17248. //
  17249. // See RevokeSecurityGroupEgress for usage and error information.
  17250. //
  17251. // Creating a request object using this method should be used when you want to inject
  17252. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17253. // access properties on the request object before or after sending the request. If
  17254. // you just want the service response, call the RevokeSecurityGroupEgress method directly
  17255. // instead.
  17256. //
  17257. // Note: You must call the "Send" method on the returned request object in order
  17258. // to execute the request.
  17259. //
  17260. // // Example sending a request using the RevokeSecurityGroupEgressRequest method.
  17261. // req, resp := client.RevokeSecurityGroupEgressRequest(params)
  17262. //
  17263. // err := req.Send()
  17264. // if err == nil { // resp is now filled
  17265. // fmt.Println(resp)
  17266. // }
  17267. //
  17268. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  17269. func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
  17270. op := &request.Operation{
  17271. Name: opRevokeSecurityGroupEgress,
  17272. HTTPMethod: "POST",
  17273. HTTPPath: "/",
  17274. }
  17275. if input == nil {
  17276. input = &RevokeSecurityGroupEgressInput{}
  17277. }
  17278. output = &RevokeSecurityGroupEgressOutput{}
  17279. req = c.newRequest(op, input, output)
  17280. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17281. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17282. return
  17283. }
  17284. // RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
  17285. //
  17286. // [EC2-VPC only] Removes one or more egress rules from a security group for
  17287. // EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic.
  17288. // The values that you specify in the revoke request (for example, ports) must
  17289. // match the existing rule's values for the rule to be revoked.
  17290. //
  17291. // Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
  17292. // security group. For the TCP and UDP protocols, you must also specify the
  17293. // destination port or range of ports. For the ICMP protocol, you must also
  17294. // specify the ICMP type and code.
  17295. //
  17296. // Rule changes are propagated to instances within the security group as quickly
  17297. // as possible. However, a small delay might occur.
  17298. //
  17299. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17300. // with awserr.Error's Code and Message methods to get detailed information about
  17301. // the error.
  17302. //
  17303. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17304. // API operation RevokeSecurityGroupEgress for usage and error information.
  17305. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
  17306. func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
  17307. req, out := c.RevokeSecurityGroupEgressRequest(input)
  17308. return out, req.Send()
  17309. }
  17310. // RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
  17311. // the ability to pass a context and additional request options.
  17312. //
  17313. // See RevokeSecurityGroupEgress for details on how to use this API operation.
  17314. //
  17315. // The context must be non-nil and will be used for request cancellation. If
  17316. // the context is nil a panic will occur. In the future the SDK may create
  17317. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17318. // for more information on using Contexts.
  17319. func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
  17320. req, out := c.RevokeSecurityGroupEgressRequest(input)
  17321. req.SetContext(ctx)
  17322. req.ApplyOptions(opts...)
  17323. return out, req.Send()
  17324. }
  17325. const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
  17326. // RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
  17327. // client's request for the RevokeSecurityGroupIngress operation. The "output" return
  17328. // value can be used to capture response data after the request's "Send" method
  17329. // is called.
  17330. //
  17331. // See RevokeSecurityGroupIngress for usage and error information.
  17332. //
  17333. // Creating a request object using this method should be used when you want to inject
  17334. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17335. // access properties on the request object before or after sending the request. If
  17336. // you just want the service response, call the RevokeSecurityGroupIngress method directly
  17337. // instead.
  17338. //
  17339. // Note: You must call the "Send" method on the returned request object in order
  17340. // to execute the request.
  17341. //
  17342. // // Example sending a request using the RevokeSecurityGroupIngressRequest method.
  17343. // req, resp := client.RevokeSecurityGroupIngressRequest(params)
  17344. //
  17345. // err := req.Send()
  17346. // if err == nil { // resp is now filled
  17347. // fmt.Println(resp)
  17348. // }
  17349. //
  17350. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  17351. func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
  17352. op := &request.Operation{
  17353. Name: opRevokeSecurityGroupIngress,
  17354. HTTPMethod: "POST",
  17355. HTTPPath: "/",
  17356. }
  17357. if input == nil {
  17358. input = &RevokeSecurityGroupIngressInput{}
  17359. }
  17360. output = &RevokeSecurityGroupIngressOutput{}
  17361. req = c.newRequest(op, input, output)
  17362. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17363. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17364. return
  17365. }
  17366. // RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
  17367. //
  17368. // Removes one or more ingress rules from a security group. The values that
  17369. // you specify in the revoke request (for example, ports) must match the existing
  17370. // rule's values for the rule to be removed.
  17371. //
  17372. // Each rule consists of the protocol and the CIDR range or source security
  17373. // group. For the TCP and UDP protocols, you must also specify the destination
  17374. // port or range of ports. For the ICMP protocol, you must also specify the
  17375. // ICMP type and code.
  17376. //
  17377. // Rule changes are propagated to instances within the security group as quickly
  17378. // as possible. However, a small delay might occur.
  17379. //
  17380. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17381. // with awserr.Error's Code and Message methods to get detailed information about
  17382. // the error.
  17383. //
  17384. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17385. // API operation RevokeSecurityGroupIngress for usage and error information.
  17386. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
  17387. func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
  17388. req, out := c.RevokeSecurityGroupIngressRequest(input)
  17389. return out, req.Send()
  17390. }
  17391. // RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
  17392. // the ability to pass a context and additional request options.
  17393. //
  17394. // See RevokeSecurityGroupIngress for details on how to use this API operation.
  17395. //
  17396. // The context must be non-nil and will be used for request cancellation. If
  17397. // the context is nil a panic will occur. In the future the SDK may create
  17398. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17399. // for more information on using Contexts.
  17400. func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
  17401. req, out := c.RevokeSecurityGroupIngressRequest(input)
  17402. req.SetContext(ctx)
  17403. req.ApplyOptions(opts...)
  17404. return out, req.Send()
  17405. }
  17406. const opRunInstances = "RunInstances"
  17407. // RunInstancesRequest generates a "aws/request.Request" representing the
  17408. // client's request for the RunInstances operation. The "output" return
  17409. // value can be used to capture response data after the request's "Send" method
  17410. // is called.
  17411. //
  17412. // See RunInstances for usage and error information.
  17413. //
  17414. // Creating a request object using this method should be used when you want to inject
  17415. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17416. // access properties on the request object before or after sending the request. If
  17417. // you just want the service response, call the RunInstances method directly
  17418. // instead.
  17419. //
  17420. // Note: You must call the "Send" method on the returned request object in order
  17421. // to execute the request.
  17422. //
  17423. // // Example sending a request using the RunInstancesRequest method.
  17424. // req, resp := client.RunInstancesRequest(params)
  17425. //
  17426. // err := req.Send()
  17427. // if err == nil { // resp is now filled
  17428. // fmt.Println(resp)
  17429. // }
  17430. //
  17431. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  17432. func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
  17433. op := &request.Operation{
  17434. Name: opRunInstances,
  17435. HTTPMethod: "POST",
  17436. HTTPPath: "/",
  17437. }
  17438. if input == nil {
  17439. input = &RunInstancesInput{}
  17440. }
  17441. output = &Reservation{}
  17442. req = c.newRequest(op, input, output)
  17443. return
  17444. }
  17445. // RunInstances API operation for Amazon Elastic Compute Cloud.
  17446. //
  17447. // Launches the specified number of instances using an AMI for which you have
  17448. // permissions.
  17449. //
  17450. // You can specify a number of options, or leave the default options. The following
  17451. // rules apply:
  17452. //
  17453. // * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
  17454. // from your default VPC for you. If you don't have a default VPC, you must
  17455. // specify a subnet ID in the request.
  17456. //
  17457. // * [EC2-Classic] If don't specify an Availability Zone, we choose one for
  17458. // you.
  17459. //
  17460. // * Some instance types must be launched into a VPC. If you do not have
  17461. // a default VPC, or if you do not specify a subnet ID, the request fails.
  17462. // 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).
  17463. //
  17464. // * [EC2-VPC] All instances have a network interface with a primary private
  17465. // IPv4 address. If you don't specify this address, we choose one from the
  17466. // IPv4 range of your subnet.
  17467. //
  17468. // * Not all instance types support IPv6 addresses. For more information,
  17469. // see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  17470. //
  17471. // * If you don't specify a security group ID, we use the default security
  17472. // group. For more information, see Security Groups (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
  17473. //
  17474. // * If any of the AMIs have a product code attached for which the user has
  17475. // not subscribed, the request fails.
  17476. //
  17477. // To ensure faster instance launches, break up large requests into smaller
  17478. // batches. For example, create 5 separate launch requests for 100 instances
  17479. // each instead of 1 launch request for 500 instances.
  17480. //
  17481. // An instance is ready for you to use when it's in the running state. You can
  17482. // check the state of your instance using DescribeInstances. You can tag instances
  17483. // and EBS volumes during launch, after launch, or both. For more information,
  17484. // see CreateTags and Tagging Your Amazon EC2 Resources (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
  17485. //
  17486. // Linux instances have access to the public key of the key pair at boot. You
  17487. // can use this key to provide secure access to the instance. Amazon EC2 public
  17488. // images use this feature to provide secure access without passwords. For more
  17489. // information, see Key Pairs (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
  17490. // in the Amazon Elastic Compute Cloud User Guide.
  17491. //
  17492. // For troubleshooting, see What To Do If An Instance Immediately Terminates
  17493. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
  17494. // and Troubleshooting Connecting to Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
  17495. // in the Amazon Elastic Compute Cloud User Guide.
  17496. //
  17497. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17498. // with awserr.Error's Code and Message methods to get detailed information about
  17499. // the error.
  17500. //
  17501. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17502. // API operation RunInstances for usage and error information.
  17503. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
  17504. func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
  17505. req, out := c.RunInstancesRequest(input)
  17506. return out, req.Send()
  17507. }
  17508. // RunInstancesWithContext is the same as RunInstances with the addition of
  17509. // the ability to pass a context and additional request options.
  17510. //
  17511. // See RunInstances for details on how to use this API operation.
  17512. //
  17513. // The context must be non-nil and will be used for request cancellation. If
  17514. // the context is nil a panic will occur. In the future the SDK may create
  17515. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17516. // for more information on using Contexts.
  17517. func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
  17518. req, out := c.RunInstancesRequest(input)
  17519. req.SetContext(ctx)
  17520. req.ApplyOptions(opts...)
  17521. return out, req.Send()
  17522. }
  17523. const opRunScheduledInstances = "RunScheduledInstances"
  17524. // RunScheduledInstancesRequest generates a "aws/request.Request" representing the
  17525. // client's request for the RunScheduledInstances operation. The "output" return
  17526. // value can be used to capture response data after the request's "Send" method
  17527. // is called.
  17528. //
  17529. // See RunScheduledInstances for usage and error information.
  17530. //
  17531. // Creating a request object using this method should be used when you want to inject
  17532. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17533. // access properties on the request object before or after sending the request. If
  17534. // you just want the service response, call the RunScheduledInstances method directly
  17535. // instead.
  17536. //
  17537. // Note: You must call the "Send" method on the returned request object in order
  17538. // to execute the request.
  17539. //
  17540. // // Example sending a request using the RunScheduledInstancesRequest method.
  17541. // req, resp := client.RunScheduledInstancesRequest(params)
  17542. //
  17543. // err := req.Send()
  17544. // if err == nil { // resp is now filled
  17545. // fmt.Println(resp)
  17546. // }
  17547. //
  17548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  17549. func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
  17550. op := &request.Operation{
  17551. Name: opRunScheduledInstances,
  17552. HTTPMethod: "POST",
  17553. HTTPPath: "/",
  17554. }
  17555. if input == nil {
  17556. input = &RunScheduledInstancesInput{}
  17557. }
  17558. output = &RunScheduledInstancesOutput{}
  17559. req = c.newRequest(op, input, output)
  17560. return
  17561. }
  17562. // RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
  17563. //
  17564. // Launches the specified Scheduled Instances.
  17565. //
  17566. // Before you can launch a Scheduled Instance, you must purchase it and obtain
  17567. // an identifier using PurchaseScheduledInstances.
  17568. //
  17569. // You must launch a Scheduled Instance during its scheduled time period. You
  17570. // can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
  17571. // If you terminate a Scheduled Instance before the current scheduled time period
  17572. // ends, you can launch it again after a few minutes. For more information,
  17573. // see Scheduled Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
  17574. // in the Amazon Elastic Compute Cloud User Guide.
  17575. //
  17576. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17577. // with awserr.Error's Code and Message methods to get detailed information about
  17578. // the error.
  17579. //
  17580. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17581. // API operation RunScheduledInstances for usage and error information.
  17582. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
  17583. func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
  17584. req, out := c.RunScheduledInstancesRequest(input)
  17585. return out, req.Send()
  17586. }
  17587. // RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
  17588. // the ability to pass a context and additional request options.
  17589. //
  17590. // See RunScheduledInstances for details on how to use this API operation.
  17591. //
  17592. // The context must be non-nil and will be used for request cancellation. If
  17593. // the context is nil a panic will occur. In the future the SDK may create
  17594. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17595. // for more information on using Contexts.
  17596. func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
  17597. req, out := c.RunScheduledInstancesRequest(input)
  17598. req.SetContext(ctx)
  17599. req.ApplyOptions(opts...)
  17600. return out, req.Send()
  17601. }
  17602. const opStartInstances = "StartInstances"
  17603. // StartInstancesRequest generates a "aws/request.Request" representing the
  17604. // client's request for the StartInstances operation. The "output" return
  17605. // value can be used to capture response data after the request's "Send" method
  17606. // is called.
  17607. //
  17608. // See StartInstances for usage and error information.
  17609. //
  17610. // Creating a request object using this method should be used when you want to inject
  17611. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17612. // access properties on the request object before or after sending the request. If
  17613. // you just want the service response, call the StartInstances method directly
  17614. // instead.
  17615. //
  17616. // Note: You must call the "Send" method on the returned request object in order
  17617. // to execute the request.
  17618. //
  17619. // // Example sending a request using the StartInstancesRequest method.
  17620. // req, resp := client.StartInstancesRequest(params)
  17621. //
  17622. // err := req.Send()
  17623. // if err == nil { // resp is now filled
  17624. // fmt.Println(resp)
  17625. // }
  17626. //
  17627. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  17628. func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
  17629. op := &request.Operation{
  17630. Name: opStartInstances,
  17631. HTTPMethod: "POST",
  17632. HTTPPath: "/",
  17633. }
  17634. if input == nil {
  17635. input = &StartInstancesInput{}
  17636. }
  17637. output = &StartInstancesOutput{}
  17638. req = c.newRequest(op, input, output)
  17639. return
  17640. }
  17641. // StartInstances API operation for Amazon Elastic Compute Cloud.
  17642. //
  17643. // Starts an Amazon EBS-backed AMI that you've previously stopped.
  17644. //
  17645. // Instances that use Amazon EBS volumes as their root devices can be quickly
  17646. // stopped and started. When an instance is stopped, the compute resources are
  17647. // released and you are not billed for hourly instance usage. However, your
  17648. // root partition Amazon EBS volume remains, continues to persist your data,
  17649. // and you are charged for Amazon EBS volume usage. You can restart your instance
  17650. // at any time. Each time you transition an instance from stopped to started,
  17651. // Amazon EC2 charges a full instance hour, even if transitions happen multiple
  17652. // times within a single hour.
  17653. //
  17654. // Before stopping an instance, make sure it is in a state from which it can
  17655. // be restarted. Stopping an instance does not preserve data stored in RAM.
  17656. //
  17657. // Performing this operation on an instance that uses an instance store as its
  17658. // root device returns an error.
  17659. //
  17660. // For more information, see Stopping Instances (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
  17661. // in the Amazon Elastic Compute Cloud User Guide.
  17662. //
  17663. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17664. // with awserr.Error's Code and Message methods to get detailed information about
  17665. // the error.
  17666. //
  17667. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17668. // API operation StartInstances for usage and error information.
  17669. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
  17670. func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
  17671. req, out := c.StartInstancesRequest(input)
  17672. return out, req.Send()
  17673. }
  17674. // StartInstancesWithContext is the same as StartInstances with the addition of
  17675. // the ability to pass a context and additional request options.
  17676. //
  17677. // See StartInstances for details on how to use this API operation.
  17678. //
  17679. // The context must be non-nil and will be used for request cancellation. If
  17680. // the context is nil a panic will occur. In the future the SDK may create
  17681. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17682. // for more information on using Contexts.
  17683. func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
  17684. req, out := c.StartInstancesRequest(input)
  17685. req.SetContext(ctx)
  17686. req.ApplyOptions(opts...)
  17687. return out, req.Send()
  17688. }
  17689. const opStopInstances = "StopInstances"
  17690. // StopInstancesRequest generates a "aws/request.Request" representing the
  17691. // client's request for the StopInstances operation. The "output" return
  17692. // value can be used to capture response data after the request's "Send" method
  17693. // is called.
  17694. //
  17695. // See StopInstances for usage and error information.
  17696. //
  17697. // Creating a request object using this method should be used when you want to inject
  17698. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17699. // access properties on the request object before or after sending the request. If
  17700. // you just want the service response, call the StopInstances method directly
  17701. // instead.
  17702. //
  17703. // Note: You must call the "Send" method on the returned request object in order
  17704. // to execute the request.
  17705. //
  17706. // // Example sending a request using the StopInstancesRequest method.
  17707. // req, resp := client.StopInstancesRequest(params)
  17708. //
  17709. // err := req.Send()
  17710. // if err == nil { // resp is now filled
  17711. // fmt.Println(resp)
  17712. // }
  17713. //
  17714. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  17715. func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
  17716. op := &request.Operation{
  17717. Name: opStopInstances,
  17718. HTTPMethod: "POST",
  17719. HTTPPath: "/",
  17720. }
  17721. if input == nil {
  17722. input = &StopInstancesInput{}
  17723. }
  17724. output = &StopInstancesOutput{}
  17725. req = c.newRequest(op, input, output)
  17726. return
  17727. }
  17728. // StopInstances API operation for Amazon Elastic Compute Cloud.
  17729. //
  17730. // Stops an Amazon EBS-backed instance.
  17731. //
  17732. // We don't charge hourly usage for a stopped instance, or data transfer fees;
  17733. // however, your root partition Amazon EBS volume remains, continues to persist
  17734. // your data, and you are charged for Amazon EBS volume usage. Each time you
  17735. // transition an instance from stopped to started, Amazon EC2 charges a full
  17736. // instance hour, even if transitions happen multiple times within a single
  17737. // hour.
  17738. //
  17739. // You can't start or stop Spot instances, and you can't stop instance store-backed
  17740. // instances.
  17741. //
  17742. // When you stop an instance, we shut it down. You can restart your instance
  17743. // at any time. Before stopping an instance, make sure it is in a state from
  17744. // which it can be restarted. Stopping an instance does not preserve data stored
  17745. // in RAM.
  17746. //
  17747. // Stopping an instance is different to rebooting or terminating it. For example,
  17748. // when you stop an instance, the root device and any other devices attached
  17749. // to the instance persist. When you terminate an instance, the root device
  17750. // and any other devices attached during the instance launch are automatically
  17751. // deleted. For more information about the differences between rebooting, stopping,
  17752. // and terminating instances, see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  17753. // in the Amazon Elastic Compute Cloud User Guide.
  17754. //
  17755. // When you stop an instance, we attempt to shut it down forcibly after a short
  17756. // while. If your instance appears stuck in the stopping state after a period
  17757. // of time, there may be an issue with the underlying host computer. For more
  17758. // information, see Troubleshooting Stopping Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
  17759. // in the Amazon Elastic Compute Cloud User Guide.
  17760. //
  17761. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17762. // with awserr.Error's Code and Message methods to get detailed information about
  17763. // the error.
  17764. //
  17765. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17766. // API operation StopInstances for usage and error information.
  17767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
  17768. func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
  17769. req, out := c.StopInstancesRequest(input)
  17770. return out, req.Send()
  17771. }
  17772. // StopInstancesWithContext is the same as StopInstances with the addition of
  17773. // the ability to pass a context and additional request options.
  17774. //
  17775. // See StopInstances for details on how to use this API operation.
  17776. //
  17777. // The context must be non-nil and will be used for request cancellation. If
  17778. // the context is nil a panic will occur. In the future the SDK may create
  17779. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17780. // for more information on using Contexts.
  17781. func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
  17782. req, out := c.StopInstancesRequest(input)
  17783. req.SetContext(ctx)
  17784. req.ApplyOptions(opts...)
  17785. return out, req.Send()
  17786. }
  17787. const opTerminateInstances = "TerminateInstances"
  17788. // TerminateInstancesRequest generates a "aws/request.Request" representing the
  17789. // client's request for the TerminateInstances operation. The "output" return
  17790. // value can be used to capture response data after the request's "Send" method
  17791. // is called.
  17792. //
  17793. // See TerminateInstances for usage and error information.
  17794. //
  17795. // Creating a request object using this method should be used when you want to inject
  17796. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17797. // access properties on the request object before or after sending the request. If
  17798. // you just want the service response, call the TerminateInstances method directly
  17799. // instead.
  17800. //
  17801. // Note: You must call the "Send" method on the returned request object in order
  17802. // to execute the request.
  17803. //
  17804. // // Example sending a request using the TerminateInstancesRequest method.
  17805. // req, resp := client.TerminateInstancesRequest(params)
  17806. //
  17807. // err := req.Send()
  17808. // if err == nil { // resp is now filled
  17809. // fmt.Println(resp)
  17810. // }
  17811. //
  17812. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  17813. func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
  17814. op := &request.Operation{
  17815. Name: opTerminateInstances,
  17816. HTTPMethod: "POST",
  17817. HTTPPath: "/",
  17818. }
  17819. if input == nil {
  17820. input = &TerminateInstancesInput{}
  17821. }
  17822. output = &TerminateInstancesOutput{}
  17823. req = c.newRequest(op, input, output)
  17824. return
  17825. }
  17826. // TerminateInstances API operation for Amazon Elastic Compute Cloud.
  17827. //
  17828. // Shuts down one or more instances. This operation is idempotent; if you terminate
  17829. // an instance more than once, each call succeeds.
  17830. //
  17831. // If you specify multiple instances and the request fails (for example, because
  17832. // of a single incorrect instance ID), none of the instances are terminated.
  17833. //
  17834. // Terminated instances remain visible after termination (for approximately
  17835. // one hour).
  17836. //
  17837. // By default, Amazon EC2 deletes all EBS volumes that were attached when the
  17838. // instance launched. Volumes attached after instance launch continue running.
  17839. //
  17840. // You can stop, start, and terminate EBS-backed instances. You can only terminate
  17841. // instance store-backed instances. What happens to an instance differs if you
  17842. // stop it or terminate it. For example, when you stop an instance, the root
  17843. // device and any other devices attached to the instance persist. When you terminate
  17844. // an instance, any attached EBS volumes with the DeleteOnTermination block
  17845. // device mapping parameter set to true are automatically deleted. For more
  17846. // information about the differences between stopping and terminating instances,
  17847. // see Instance Lifecycle (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
  17848. // in the Amazon Elastic Compute Cloud User Guide.
  17849. //
  17850. // For more information about troubleshooting, see Troubleshooting Terminating
  17851. // Your Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
  17852. // in the Amazon Elastic Compute Cloud User Guide.
  17853. //
  17854. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17855. // with awserr.Error's Code and Message methods to get detailed information about
  17856. // the error.
  17857. //
  17858. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17859. // API operation TerminateInstances for usage and error information.
  17860. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
  17861. func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
  17862. req, out := c.TerminateInstancesRequest(input)
  17863. return out, req.Send()
  17864. }
  17865. // TerminateInstancesWithContext is the same as TerminateInstances with the addition of
  17866. // the ability to pass a context and additional request options.
  17867. //
  17868. // See TerminateInstances for details on how to use this API operation.
  17869. //
  17870. // The context must be non-nil and will be used for request cancellation. If
  17871. // the context is nil a panic will occur. In the future the SDK may create
  17872. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17873. // for more information on using Contexts.
  17874. func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
  17875. req, out := c.TerminateInstancesRequest(input)
  17876. req.SetContext(ctx)
  17877. req.ApplyOptions(opts...)
  17878. return out, req.Send()
  17879. }
  17880. const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
  17881. // UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
  17882. // client's request for the UnassignIpv6Addresses operation. The "output" return
  17883. // value can be used to capture response data after the request's "Send" method
  17884. // is called.
  17885. //
  17886. // See UnassignIpv6Addresses for usage and error information.
  17887. //
  17888. // Creating a request object using this method should be used when you want to inject
  17889. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17890. // access properties on the request object before or after sending the request. If
  17891. // you just want the service response, call the UnassignIpv6Addresses method directly
  17892. // instead.
  17893. //
  17894. // Note: You must call the "Send" method on the returned request object in order
  17895. // to execute the request.
  17896. //
  17897. // // Example sending a request using the UnassignIpv6AddressesRequest method.
  17898. // req, resp := client.UnassignIpv6AddressesRequest(params)
  17899. //
  17900. // err := req.Send()
  17901. // if err == nil { // resp is now filled
  17902. // fmt.Println(resp)
  17903. // }
  17904. //
  17905. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  17906. func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
  17907. op := &request.Operation{
  17908. Name: opUnassignIpv6Addresses,
  17909. HTTPMethod: "POST",
  17910. HTTPPath: "/",
  17911. }
  17912. if input == nil {
  17913. input = &UnassignIpv6AddressesInput{}
  17914. }
  17915. output = &UnassignIpv6AddressesOutput{}
  17916. req = c.newRequest(op, input, output)
  17917. return
  17918. }
  17919. // UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
  17920. //
  17921. // Unassigns one or more IPv6 addresses from a network interface.
  17922. //
  17923. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17924. // with awserr.Error's Code and Message methods to get detailed information about
  17925. // the error.
  17926. //
  17927. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17928. // API operation UnassignIpv6Addresses for usage and error information.
  17929. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
  17930. func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
  17931. req, out := c.UnassignIpv6AddressesRequest(input)
  17932. return out, req.Send()
  17933. }
  17934. // UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
  17935. // the ability to pass a context and additional request options.
  17936. //
  17937. // See UnassignIpv6Addresses for details on how to use this API operation.
  17938. //
  17939. // The context must be non-nil and will be used for request cancellation. If
  17940. // the context is nil a panic will occur. In the future the SDK may create
  17941. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  17942. // for more information on using Contexts.
  17943. func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
  17944. req, out := c.UnassignIpv6AddressesRequest(input)
  17945. req.SetContext(ctx)
  17946. req.ApplyOptions(opts...)
  17947. return out, req.Send()
  17948. }
  17949. const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
  17950. // UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
  17951. // client's request for the UnassignPrivateIpAddresses operation. The "output" return
  17952. // value can be used to capture response data after the request's "Send" method
  17953. // is called.
  17954. //
  17955. // See UnassignPrivateIpAddresses for usage and error information.
  17956. //
  17957. // Creating a request object using this method should be used when you want to inject
  17958. // custom logic into the request's lifecycle using a custom handler, or if you want to
  17959. // access properties on the request object before or after sending the request. If
  17960. // you just want the service response, call the UnassignPrivateIpAddresses method directly
  17961. // instead.
  17962. //
  17963. // Note: You must call the "Send" method on the returned request object in order
  17964. // to execute the request.
  17965. //
  17966. // // Example sending a request using the UnassignPrivateIpAddressesRequest method.
  17967. // req, resp := client.UnassignPrivateIpAddressesRequest(params)
  17968. //
  17969. // err := req.Send()
  17970. // if err == nil { // resp is now filled
  17971. // fmt.Println(resp)
  17972. // }
  17973. //
  17974. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  17975. func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
  17976. op := &request.Operation{
  17977. Name: opUnassignPrivateIpAddresses,
  17978. HTTPMethod: "POST",
  17979. HTTPPath: "/",
  17980. }
  17981. if input == nil {
  17982. input = &UnassignPrivateIpAddressesInput{}
  17983. }
  17984. output = &UnassignPrivateIpAddressesOutput{}
  17985. req = c.newRequest(op, input, output)
  17986. req.Handlers.Unmarshal.Remove(ec2query.UnmarshalHandler)
  17987. req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
  17988. return
  17989. }
  17990. // UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
  17991. //
  17992. // Unassigns one or more secondary private IP addresses from a network interface.
  17993. //
  17994. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  17995. // with awserr.Error's Code and Message methods to get detailed information about
  17996. // the error.
  17997. //
  17998. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  17999. // API operation UnassignPrivateIpAddresses for usage and error information.
  18000. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
  18001. func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
  18002. req, out := c.UnassignPrivateIpAddressesRequest(input)
  18003. return out, req.Send()
  18004. }
  18005. // UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
  18006. // the ability to pass a context and additional request options.
  18007. //
  18008. // See UnassignPrivateIpAddresses for details on how to use this API operation.
  18009. //
  18010. // The context must be non-nil and will be used for request cancellation. If
  18011. // the context is nil a panic will occur. In the future the SDK may create
  18012. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18013. // for more information on using Contexts.
  18014. func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
  18015. req, out := c.UnassignPrivateIpAddressesRequest(input)
  18016. req.SetContext(ctx)
  18017. req.ApplyOptions(opts...)
  18018. return out, req.Send()
  18019. }
  18020. const opUnmonitorInstances = "UnmonitorInstances"
  18021. // UnmonitorInstancesRequest generates a "aws/request.Request" representing the
  18022. // client's request for the UnmonitorInstances operation. The "output" return
  18023. // value can be used to capture response data after the request's "Send" method
  18024. // is called.
  18025. //
  18026. // See UnmonitorInstances for usage and error information.
  18027. //
  18028. // Creating a request object using this method should be used when you want to inject
  18029. // custom logic into the request's lifecycle using a custom handler, or if you want to
  18030. // access properties on the request object before or after sending the request. If
  18031. // you just want the service response, call the UnmonitorInstances method directly
  18032. // instead.
  18033. //
  18034. // Note: You must call the "Send" method on the returned request object in order
  18035. // to execute the request.
  18036. //
  18037. // // Example sending a request using the UnmonitorInstancesRequest method.
  18038. // req, resp := client.UnmonitorInstancesRequest(params)
  18039. //
  18040. // err := req.Send()
  18041. // if err == nil { // resp is now filled
  18042. // fmt.Println(resp)
  18043. // }
  18044. //
  18045. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  18046. func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
  18047. op := &request.Operation{
  18048. Name: opUnmonitorInstances,
  18049. HTTPMethod: "POST",
  18050. HTTPPath: "/",
  18051. }
  18052. if input == nil {
  18053. input = &UnmonitorInstancesInput{}
  18054. }
  18055. output = &UnmonitorInstancesOutput{}
  18056. req = c.newRequest(op, input, output)
  18057. return
  18058. }
  18059. // UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
  18060. //
  18061. // Disables detailed monitoring for a running instance. For more information,
  18062. // see Monitoring Your Instances and Volumes (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
  18063. // in the Amazon Elastic Compute Cloud User Guide.
  18064. //
  18065. // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  18066. // with awserr.Error's Code and Message methods to get detailed information about
  18067. // the error.
  18068. //
  18069. // See the AWS API reference guide for Amazon Elastic Compute Cloud's
  18070. // API operation UnmonitorInstances for usage and error information.
  18071. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
  18072. func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
  18073. req, out := c.UnmonitorInstancesRequest(input)
  18074. return out, req.Send()
  18075. }
  18076. // UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
  18077. // the ability to pass a context and additional request options.
  18078. //
  18079. // See UnmonitorInstances for details on how to use this API operation.
  18080. //
  18081. // The context must be non-nil and will be used for request cancellation. If
  18082. // the context is nil a panic will occur. In the future the SDK may create
  18083. // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  18084. // for more information on using Contexts.
  18085. func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
  18086. req, out := c.UnmonitorInstancesRequest(input)
  18087. req.SetContext(ctx)
  18088. req.ApplyOptions(opts...)
  18089. return out, req.Send()
  18090. }
  18091. // Contains the parameters for accepting the quote.
  18092. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteRequest
  18093. type AcceptReservedInstancesExchangeQuoteInput struct {
  18094. _ struct{} `type:"structure"`
  18095. // Checks whether you have the required permissions for the action, without
  18096. // actually making the request, and provides an error response. If you have
  18097. // the required permissions, the error response is DryRunOperation. Otherwise,
  18098. // it is UnauthorizedOperation.
  18099. DryRun *bool `type:"boolean"`
  18100. // The IDs of the Convertible Reserved Instances to exchange for other Convertible
  18101. // Reserved Instances of the same or higher value.
  18102. //
  18103. // ReservedInstanceIds is a required field
  18104. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  18105. // The configurations of the Convertible Reserved Instance offerings that you
  18106. // are purchasing in this exchange.
  18107. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  18108. }
  18109. // String returns the string representation
  18110. func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
  18111. return awsutil.Prettify(s)
  18112. }
  18113. // GoString returns the string representation
  18114. func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
  18115. return s.String()
  18116. }
  18117. // Validate inspects the fields of the type to determine if they are valid.
  18118. func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
  18119. invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
  18120. if s.ReservedInstanceIds == nil {
  18121. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  18122. }
  18123. if s.TargetConfigurations != nil {
  18124. for i, v := range s.TargetConfigurations {
  18125. if v == nil {
  18126. continue
  18127. }
  18128. if err := v.Validate(); err != nil {
  18129. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  18130. }
  18131. }
  18132. }
  18133. if invalidParams.Len() > 0 {
  18134. return invalidParams
  18135. }
  18136. return nil
  18137. }
  18138. // SetDryRun sets the DryRun field's value.
  18139. func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
  18140. s.DryRun = &v
  18141. return s
  18142. }
  18143. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  18144. func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
  18145. s.ReservedInstanceIds = v
  18146. return s
  18147. }
  18148. // SetTargetConfigurations sets the TargetConfigurations field's value.
  18149. func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
  18150. s.TargetConfigurations = v
  18151. return s
  18152. }
  18153. // The result of the exchange and whether it was successful.
  18154. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptReservedInstancesExchangeQuoteResult
  18155. type AcceptReservedInstancesExchangeQuoteOutput struct {
  18156. _ struct{} `type:"structure"`
  18157. // The ID of the successful exchange.
  18158. ExchangeId *string `locationName:"exchangeId" type:"string"`
  18159. }
  18160. // String returns the string representation
  18161. func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
  18162. return awsutil.Prettify(s)
  18163. }
  18164. // GoString returns the string representation
  18165. func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
  18166. return s.String()
  18167. }
  18168. // SetExchangeId sets the ExchangeId field's value.
  18169. func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
  18170. s.ExchangeId = &v
  18171. return s
  18172. }
  18173. // Contains the parameters for AcceptVpcPeeringConnection.
  18174. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionRequest
  18175. type AcceptVpcPeeringConnectionInput struct {
  18176. _ struct{} `type:"structure"`
  18177. // Checks whether you have the required permissions for the action, without
  18178. // actually making the request, and provides an error response. If you have
  18179. // the required permissions, the error response is DryRunOperation. Otherwise,
  18180. // it is UnauthorizedOperation.
  18181. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18182. // The ID of the VPC peering connection.
  18183. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  18184. }
  18185. // String returns the string representation
  18186. func (s AcceptVpcPeeringConnectionInput) String() string {
  18187. return awsutil.Prettify(s)
  18188. }
  18189. // GoString returns the string representation
  18190. func (s AcceptVpcPeeringConnectionInput) GoString() string {
  18191. return s.String()
  18192. }
  18193. // SetDryRun sets the DryRun field's value.
  18194. func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
  18195. s.DryRun = &v
  18196. return s
  18197. }
  18198. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  18199. func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
  18200. s.VpcPeeringConnectionId = &v
  18201. return s
  18202. }
  18203. // Contains the output of AcceptVpcPeeringConnection.
  18204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AcceptVpcPeeringConnectionResult
  18205. type AcceptVpcPeeringConnectionOutput struct {
  18206. _ struct{} `type:"structure"`
  18207. // Information about the VPC peering connection.
  18208. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  18209. }
  18210. // String returns the string representation
  18211. func (s AcceptVpcPeeringConnectionOutput) String() string {
  18212. return awsutil.Prettify(s)
  18213. }
  18214. // GoString returns the string representation
  18215. func (s AcceptVpcPeeringConnectionOutput) GoString() string {
  18216. return s.String()
  18217. }
  18218. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  18219. func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
  18220. s.VpcPeeringConnection = v
  18221. return s
  18222. }
  18223. // Describes an account attribute.
  18224. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttribute
  18225. type AccountAttribute struct {
  18226. _ struct{} `type:"structure"`
  18227. // The name of the account attribute.
  18228. AttributeName *string `locationName:"attributeName" type:"string"`
  18229. // One or more values for the account attribute.
  18230. AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
  18231. }
  18232. // String returns the string representation
  18233. func (s AccountAttribute) String() string {
  18234. return awsutil.Prettify(s)
  18235. }
  18236. // GoString returns the string representation
  18237. func (s AccountAttribute) GoString() string {
  18238. return s.String()
  18239. }
  18240. // SetAttributeName sets the AttributeName field's value.
  18241. func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
  18242. s.AttributeName = &v
  18243. return s
  18244. }
  18245. // SetAttributeValues sets the AttributeValues field's value.
  18246. func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
  18247. s.AttributeValues = v
  18248. return s
  18249. }
  18250. // Describes a value of an account attribute.
  18251. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AccountAttributeValue
  18252. type AccountAttributeValue struct {
  18253. _ struct{} `type:"structure"`
  18254. // The value of the attribute.
  18255. AttributeValue *string `locationName:"attributeValue" type:"string"`
  18256. }
  18257. // String returns the string representation
  18258. func (s AccountAttributeValue) String() string {
  18259. return awsutil.Prettify(s)
  18260. }
  18261. // GoString returns the string representation
  18262. func (s AccountAttributeValue) GoString() string {
  18263. return s.String()
  18264. }
  18265. // SetAttributeValue sets the AttributeValue field's value.
  18266. func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
  18267. s.AttributeValue = &v
  18268. return s
  18269. }
  18270. // Describes a running instance in a Spot fleet.
  18271. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ActiveInstance
  18272. type ActiveInstance struct {
  18273. _ struct{} `type:"structure"`
  18274. // The health status of the instance. If the status of either the instance status
  18275. // check or the system status check is impaired, the health status of the instance
  18276. // is unhealthy. Otherwise, the health status is healthy.
  18277. InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
  18278. // The ID of the instance.
  18279. InstanceId *string `locationName:"instanceId" type:"string"`
  18280. // The instance type.
  18281. InstanceType *string `locationName:"instanceType" type:"string"`
  18282. // The ID of the Spot instance request.
  18283. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  18284. }
  18285. // String returns the string representation
  18286. func (s ActiveInstance) String() string {
  18287. return awsutil.Prettify(s)
  18288. }
  18289. // GoString returns the string representation
  18290. func (s ActiveInstance) GoString() string {
  18291. return s.String()
  18292. }
  18293. // SetInstanceHealth sets the InstanceHealth field's value.
  18294. func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
  18295. s.InstanceHealth = &v
  18296. return s
  18297. }
  18298. // SetInstanceId sets the InstanceId field's value.
  18299. func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
  18300. s.InstanceId = &v
  18301. return s
  18302. }
  18303. // SetInstanceType sets the InstanceType field's value.
  18304. func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
  18305. s.InstanceType = &v
  18306. return s
  18307. }
  18308. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  18309. func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
  18310. s.SpotInstanceRequestId = &v
  18311. return s
  18312. }
  18313. // Describes an Elastic IP address.
  18314. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Address
  18315. type Address struct {
  18316. _ struct{} `type:"structure"`
  18317. // The ID representing the allocation of the address for use with EC2-VPC.
  18318. AllocationId *string `locationName:"allocationId" type:"string"`
  18319. // The ID representing the association of the address with an instance in a
  18320. // VPC.
  18321. AssociationId *string `locationName:"associationId" type:"string"`
  18322. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  18323. // (standard) or instances in a VPC (vpc).
  18324. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  18325. // The ID of the instance that the address is associated with (if any).
  18326. InstanceId *string `locationName:"instanceId" type:"string"`
  18327. // The ID of the network interface.
  18328. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18329. // The ID of the AWS account that owns the network interface.
  18330. NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
  18331. // The private IP address associated with the Elastic IP address.
  18332. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  18333. // The Elastic IP address.
  18334. PublicIp *string `locationName:"publicIp" type:"string"`
  18335. }
  18336. // String returns the string representation
  18337. func (s Address) String() string {
  18338. return awsutil.Prettify(s)
  18339. }
  18340. // GoString returns the string representation
  18341. func (s Address) GoString() string {
  18342. return s.String()
  18343. }
  18344. // SetAllocationId sets the AllocationId field's value.
  18345. func (s *Address) SetAllocationId(v string) *Address {
  18346. s.AllocationId = &v
  18347. return s
  18348. }
  18349. // SetAssociationId sets the AssociationId field's value.
  18350. func (s *Address) SetAssociationId(v string) *Address {
  18351. s.AssociationId = &v
  18352. return s
  18353. }
  18354. // SetDomain sets the Domain field's value.
  18355. func (s *Address) SetDomain(v string) *Address {
  18356. s.Domain = &v
  18357. return s
  18358. }
  18359. // SetInstanceId sets the InstanceId field's value.
  18360. func (s *Address) SetInstanceId(v string) *Address {
  18361. s.InstanceId = &v
  18362. return s
  18363. }
  18364. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18365. func (s *Address) SetNetworkInterfaceId(v string) *Address {
  18366. s.NetworkInterfaceId = &v
  18367. return s
  18368. }
  18369. // SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
  18370. func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
  18371. s.NetworkInterfaceOwnerId = &v
  18372. return s
  18373. }
  18374. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  18375. func (s *Address) SetPrivateIpAddress(v string) *Address {
  18376. s.PrivateIpAddress = &v
  18377. return s
  18378. }
  18379. // SetPublicIp sets the PublicIp field's value.
  18380. func (s *Address) SetPublicIp(v string) *Address {
  18381. s.PublicIp = &v
  18382. return s
  18383. }
  18384. // Contains the parameters for AllocateAddress.
  18385. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressRequest
  18386. type AllocateAddressInput struct {
  18387. _ struct{} `type:"structure"`
  18388. // Set to vpc to allocate the address for use with instances in a VPC.
  18389. //
  18390. // Default: The address is for use with instances in EC2-Classic.
  18391. Domain *string `type:"string" enum:"DomainType"`
  18392. // Checks whether you have the required permissions for the action, without
  18393. // actually making the request, and provides an error response. If you have
  18394. // the required permissions, the error response is DryRunOperation. Otherwise,
  18395. // it is UnauthorizedOperation.
  18396. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18397. }
  18398. // String returns the string representation
  18399. func (s AllocateAddressInput) String() string {
  18400. return awsutil.Prettify(s)
  18401. }
  18402. // GoString returns the string representation
  18403. func (s AllocateAddressInput) GoString() string {
  18404. return s.String()
  18405. }
  18406. // SetDomain sets the Domain field's value.
  18407. func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
  18408. s.Domain = &v
  18409. return s
  18410. }
  18411. // SetDryRun sets the DryRun field's value.
  18412. func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
  18413. s.DryRun = &v
  18414. return s
  18415. }
  18416. // Contains the output of AllocateAddress.
  18417. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateAddressResult
  18418. type AllocateAddressOutput struct {
  18419. _ struct{} `type:"structure"`
  18420. // [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
  18421. // IP address for use with instances in a VPC.
  18422. AllocationId *string `locationName:"allocationId" type:"string"`
  18423. // Indicates whether this Elastic IP address is for use with instances in EC2-Classic
  18424. // (standard) or instances in a VPC (vpc).
  18425. Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
  18426. // The Elastic IP address.
  18427. PublicIp *string `locationName:"publicIp" type:"string"`
  18428. }
  18429. // String returns the string representation
  18430. func (s AllocateAddressOutput) String() string {
  18431. return awsutil.Prettify(s)
  18432. }
  18433. // GoString returns the string representation
  18434. func (s AllocateAddressOutput) GoString() string {
  18435. return s.String()
  18436. }
  18437. // SetAllocationId sets the AllocationId field's value.
  18438. func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
  18439. s.AllocationId = &v
  18440. return s
  18441. }
  18442. // SetDomain sets the Domain field's value.
  18443. func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
  18444. s.Domain = &v
  18445. return s
  18446. }
  18447. // SetPublicIp sets the PublicIp field's value.
  18448. func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
  18449. s.PublicIp = &v
  18450. return s
  18451. }
  18452. // Contains the parameters for AllocateHosts.
  18453. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsRequest
  18454. type AllocateHostsInput struct {
  18455. _ struct{} `type:"structure"`
  18456. // This is enabled by default. This property allows instances to be automatically
  18457. // placed onto available Dedicated Hosts, when you are launching instances without
  18458. // specifying a host ID.
  18459. //
  18460. // Default: Enabled
  18461. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  18462. // The Availability Zone for the Dedicated Hosts.
  18463. //
  18464. // AvailabilityZone is a required field
  18465. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  18466. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  18467. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  18468. // in the Amazon Elastic Compute Cloud User Guide.
  18469. ClientToken *string `locationName:"clientToken" type:"string"`
  18470. // Specify the instance type that you want your Dedicated Hosts to be configured
  18471. // for. When you specify the instance type, that is the only instance type that
  18472. // you can launch onto that host.
  18473. //
  18474. // InstanceType is a required field
  18475. InstanceType *string `locationName:"instanceType" type:"string" required:"true"`
  18476. // The number of Dedicated Hosts you want to allocate to your account with these
  18477. // parameters.
  18478. //
  18479. // Quantity is a required field
  18480. Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
  18481. }
  18482. // String returns the string representation
  18483. func (s AllocateHostsInput) String() string {
  18484. return awsutil.Prettify(s)
  18485. }
  18486. // GoString returns the string representation
  18487. func (s AllocateHostsInput) GoString() string {
  18488. return s.String()
  18489. }
  18490. // Validate inspects the fields of the type to determine if they are valid.
  18491. func (s *AllocateHostsInput) Validate() error {
  18492. invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
  18493. if s.AvailabilityZone == nil {
  18494. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  18495. }
  18496. if s.InstanceType == nil {
  18497. invalidParams.Add(request.NewErrParamRequired("InstanceType"))
  18498. }
  18499. if s.Quantity == nil {
  18500. invalidParams.Add(request.NewErrParamRequired("Quantity"))
  18501. }
  18502. if invalidParams.Len() > 0 {
  18503. return invalidParams
  18504. }
  18505. return nil
  18506. }
  18507. // SetAutoPlacement sets the AutoPlacement field's value.
  18508. func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
  18509. s.AutoPlacement = &v
  18510. return s
  18511. }
  18512. // SetAvailabilityZone sets the AvailabilityZone field's value.
  18513. func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
  18514. s.AvailabilityZone = &v
  18515. return s
  18516. }
  18517. // SetClientToken sets the ClientToken field's value.
  18518. func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
  18519. s.ClientToken = &v
  18520. return s
  18521. }
  18522. // SetInstanceType sets the InstanceType field's value.
  18523. func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
  18524. s.InstanceType = &v
  18525. return s
  18526. }
  18527. // SetQuantity sets the Quantity field's value.
  18528. func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
  18529. s.Quantity = &v
  18530. return s
  18531. }
  18532. // Contains the output of AllocateHosts.
  18533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AllocateHostsResult
  18534. type AllocateHostsOutput struct {
  18535. _ struct{} `type:"structure"`
  18536. // The ID of the allocated Dedicated Host. This is used when you want to launch
  18537. // an instance onto a specific host.
  18538. HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  18539. }
  18540. // String returns the string representation
  18541. func (s AllocateHostsOutput) String() string {
  18542. return awsutil.Prettify(s)
  18543. }
  18544. // GoString returns the string representation
  18545. func (s AllocateHostsOutput) GoString() string {
  18546. return s.String()
  18547. }
  18548. // SetHostIds sets the HostIds field's value.
  18549. func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
  18550. s.HostIds = v
  18551. return s
  18552. }
  18553. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesRequest
  18554. type AssignIpv6AddressesInput struct {
  18555. _ struct{} `type:"structure"`
  18556. // The number of IPv6 addresses to assign to the network interface. Amazon EC2
  18557. // automatically selects the IPv6 addresses from the subnet range. You can't
  18558. // use this option if specifying specific IPv6 addresses.
  18559. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  18560. // One or more specific IPv6 addresses to be assigned to the network interface.
  18561. // You can't use this option if you're specifying a number of IPv6 addresses.
  18562. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  18563. // The ID of the network interface.
  18564. //
  18565. // NetworkInterfaceId is a required field
  18566. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  18567. }
  18568. // String returns the string representation
  18569. func (s AssignIpv6AddressesInput) String() string {
  18570. return awsutil.Prettify(s)
  18571. }
  18572. // GoString returns the string representation
  18573. func (s AssignIpv6AddressesInput) GoString() string {
  18574. return s.String()
  18575. }
  18576. // Validate inspects the fields of the type to determine if they are valid.
  18577. func (s *AssignIpv6AddressesInput) Validate() error {
  18578. invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
  18579. if s.NetworkInterfaceId == nil {
  18580. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  18581. }
  18582. if invalidParams.Len() > 0 {
  18583. return invalidParams
  18584. }
  18585. return nil
  18586. }
  18587. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  18588. func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
  18589. s.Ipv6AddressCount = &v
  18590. return s
  18591. }
  18592. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  18593. func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
  18594. s.Ipv6Addresses = v
  18595. return s
  18596. }
  18597. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18598. func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
  18599. s.NetworkInterfaceId = &v
  18600. return s
  18601. }
  18602. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6AddressesResult
  18603. type AssignIpv6AddressesOutput struct {
  18604. _ struct{} `type:"structure"`
  18605. // The IPv6 addresses assigned to the network interface.
  18606. AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
  18607. // The ID of the network interface.
  18608. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18609. }
  18610. // String returns the string representation
  18611. func (s AssignIpv6AddressesOutput) String() string {
  18612. return awsutil.Prettify(s)
  18613. }
  18614. // GoString returns the string representation
  18615. func (s AssignIpv6AddressesOutput) GoString() string {
  18616. return s.String()
  18617. }
  18618. // SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
  18619. func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
  18620. s.AssignedIpv6Addresses = v
  18621. return s
  18622. }
  18623. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18624. func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
  18625. s.NetworkInterfaceId = &v
  18626. return s
  18627. }
  18628. // Contains the parameters for AssignPrivateIpAddresses.
  18629. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesRequest
  18630. type AssignPrivateIpAddressesInput struct {
  18631. _ struct{} `type:"structure"`
  18632. // Indicates whether to allow an IP address that is already assigned to another
  18633. // network interface or instance to be reassigned to the specified network interface.
  18634. AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
  18635. // The ID of the network interface.
  18636. //
  18637. // NetworkInterfaceId is a required field
  18638. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  18639. // One or more IP addresses to be assigned as a secondary private IP address
  18640. // to the network interface. You can't specify this parameter when also specifying
  18641. // a number of secondary IP addresses.
  18642. //
  18643. // If you don't specify an IP address, Amazon EC2 automatically selects an IP
  18644. // address within the subnet range.
  18645. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
  18646. // The number of secondary IP addresses to assign to the network interface.
  18647. // You can't specify this parameter when also specifying private IP addresses.
  18648. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  18649. }
  18650. // String returns the string representation
  18651. func (s AssignPrivateIpAddressesInput) String() string {
  18652. return awsutil.Prettify(s)
  18653. }
  18654. // GoString returns the string representation
  18655. func (s AssignPrivateIpAddressesInput) GoString() string {
  18656. return s.String()
  18657. }
  18658. // Validate inspects the fields of the type to determine if they are valid.
  18659. func (s *AssignPrivateIpAddressesInput) Validate() error {
  18660. invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
  18661. if s.NetworkInterfaceId == nil {
  18662. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  18663. }
  18664. if invalidParams.Len() > 0 {
  18665. return invalidParams
  18666. }
  18667. return nil
  18668. }
  18669. // SetAllowReassignment sets the AllowReassignment field's value.
  18670. func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
  18671. s.AllowReassignment = &v
  18672. return s
  18673. }
  18674. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18675. func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
  18676. s.NetworkInterfaceId = &v
  18677. return s
  18678. }
  18679. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  18680. func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
  18681. s.PrivateIpAddresses = v
  18682. return s
  18683. }
  18684. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  18685. func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
  18686. s.SecondaryPrivateIpAddressCount = &v
  18687. return s
  18688. }
  18689. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddressesOutput
  18690. type AssignPrivateIpAddressesOutput struct {
  18691. _ struct{} `type:"structure"`
  18692. }
  18693. // String returns the string representation
  18694. func (s AssignPrivateIpAddressesOutput) String() string {
  18695. return awsutil.Prettify(s)
  18696. }
  18697. // GoString returns the string representation
  18698. func (s AssignPrivateIpAddressesOutput) GoString() string {
  18699. return s.String()
  18700. }
  18701. // Contains the parameters for AssociateAddress.
  18702. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressRequest
  18703. type AssociateAddressInput struct {
  18704. _ struct{} `type:"structure"`
  18705. // [EC2-VPC] The allocation ID. This is required for EC2-VPC.
  18706. AllocationId *string `type:"string"`
  18707. // [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
  18708. // IP address that is already associated with an instance or network interface
  18709. // to be reassociated with the specified instance or network interface. Otherwise,
  18710. // the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
  18711. // automatic, therefore you can specify false to ensure the operation fails
  18712. // if the Elastic IP address is already associated with another resource.
  18713. AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
  18714. // Checks whether you have the required permissions for the action, without
  18715. // actually making the request, and provides an error response. If you have
  18716. // the required permissions, the error response is DryRunOperation. Otherwise,
  18717. // it is UnauthorizedOperation.
  18718. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18719. // The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
  18720. // can specify either the instance ID or the network interface ID, but not both.
  18721. // The operation fails if you specify an instance ID unless exactly one network
  18722. // interface is attached.
  18723. InstanceId *string `type:"string"`
  18724. // [EC2-VPC] The ID of the network interface. If the instance has more than
  18725. // one network interface, you must specify a network interface ID.
  18726. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  18727. // [EC2-VPC] The primary or secondary private IP address to associate with the
  18728. // Elastic IP address. If no private IP address is specified, the Elastic IP
  18729. // address is associated with the primary private IP address.
  18730. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  18731. // The Elastic IP address. This is required for EC2-Classic.
  18732. PublicIp *string `type:"string"`
  18733. }
  18734. // String returns the string representation
  18735. func (s AssociateAddressInput) String() string {
  18736. return awsutil.Prettify(s)
  18737. }
  18738. // GoString returns the string representation
  18739. func (s AssociateAddressInput) GoString() string {
  18740. return s.String()
  18741. }
  18742. // SetAllocationId sets the AllocationId field's value.
  18743. func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
  18744. s.AllocationId = &v
  18745. return s
  18746. }
  18747. // SetAllowReassociation sets the AllowReassociation field's value.
  18748. func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
  18749. s.AllowReassociation = &v
  18750. return s
  18751. }
  18752. // SetDryRun sets the DryRun field's value.
  18753. func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
  18754. s.DryRun = &v
  18755. return s
  18756. }
  18757. // SetInstanceId sets the InstanceId field's value.
  18758. func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
  18759. s.InstanceId = &v
  18760. return s
  18761. }
  18762. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  18763. func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
  18764. s.NetworkInterfaceId = &v
  18765. return s
  18766. }
  18767. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  18768. func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
  18769. s.PrivateIpAddress = &v
  18770. return s
  18771. }
  18772. // SetPublicIp sets the PublicIp field's value.
  18773. func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
  18774. s.PublicIp = &v
  18775. return s
  18776. }
  18777. // Contains the output of AssociateAddress.
  18778. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddressResult
  18779. type AssociateAddressOutput struct {
  18780. _ struct{} `type:"structure"`
  18781. // [EC2-VPC] The ID that represents the association of the Elastic IP address
  18782. // with an instance.
  18783. AssociationId *string `locationName:"associationId" type:"string"`
  18784. }
  18785. // String returns the string representation
  18786. func (s AssociateAddressOutput) String() string {
  18787. return awsutil.Prettify(s)
  18788. }
  18789. // GoString returns the string representation
  18790. func (s AssociateAddressOutput) GoString() string {
  18791. return s.String()
  18792. }
  18793. // SetAssociationId sets the AssociationId field's value.
  18794. func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
  18795. s.AssociationId = &v
  18796. return s
  18797. }
  18798. // Contains the parameters for AssociateDhcpOptions.
  18799. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsRequest
  18800. type AssociateDhcpOptionsInput struct {
  18801. _ struct{} `type:"structure"`
  18802. // The ID of the DHCP options set, or default to associate no DHCP options with
  18803. // the VPC.
  18804. //
  18805. // DhcpOptionsId is a required field
  18806. DhcpOptionsId *string `type:"string" required:"true"`
  18807. // Checks whether you have the required permissions for the action, without
  18808. // actually making the request, and provides an error response. If you have
  18809. // the required permissions, the error response is DryRunOperation. Otherwise,
  18810. // it is UnauthorizedOperation.
  18811. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18812. // The ID of the VPC.
  18813. //
  18814. // VpcId is a required field
  18815. VpcId *string `type:"string" required:"true"`
  18816. }
  18817. // String returns the string representation
  18818. func (s AssociateDhcpOptionsInput) String() string {
  18819. return awsutil.Prettify(s)
  18820. }
  18821. // GoString returns the string representation
  18822. func (s AssociateDhcpOptionsInput) GoString() string {
  18823. return s.String()
  18824. }
  18825. // Validate inspects the fields of the type to determine if they are valid.
  18826. func (s *AssociateDhcpOptionsInput) Validate() error {
  18827. invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
  18828. if s.DhcpOptionsId == nil {
  18829. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  18830. }
  18831. if s.VpcId == nil {
  18832. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  18833. }
  18834. if invalidParams.Len() > 0 {
  18835. return invalidParams
  18836. }
  18837. return nil
  18838. }
  18839. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  18840. func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
  18841. s.DhcpOptionsId = &v
  18842. return s
  18843. }
  18844. // SetDryRun sets the DryRun field's value.
  18845. func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
  18846. s.DryRun = &v
  18847. return s
  18848. }
  18849. // SetVpcId sets the VpcId field's value.
  18850. func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
  18851. s.VpcId = &v
  18852. return s
  18853. }
  18854. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptionsOutput
  18855. type AssociateDhcpOptionsOutput struct {
  18856. _ struct{} `type:"structure"`
  18857. }
  18858. // String returns the string representation
  18859. func (s AssociateDhcpOptionsOutput) String() string {
  18860. return awsutil.Prettify(s)
  18861. }
  18862. // GoString returns the string representation
  18863. func (s AssociateDhcpOptionsOutput) GoString() string {
  18864. return s.String()
  18865. }
  18866. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileRequest
  18867. type AssociateIamInstanceProfileInput struct {
  18868. _ struct{} `type:"structure"`
  18869. // The IAM instance profile.
  18870. //
  18871. // IamInstanceProfile is a required field
  18872. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  18873. // The ID of the instance.
  18874. //
  18875. // InstanceId is a required field
  18876. InstanceId *string `type:"string" required:"true"`
  18877. }
  18878. // String returns the string representation
  18879. func (s AssociateIamInstanceProfileInput) String() string {
  18880. return awsutil.Prettify(s)
  18881. }
  18882. // GoString returns the string representation
  18883. func (s AssociateIamInstanceProfileInput) GoString() string {
  18884. return s.String()
  18885. }
  18886. // Validate inspects the fields of the type to determine if they are valid.
  18887. func (s *AssociateIamInstanceProfileInput) Validate() error {
  18888. invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
  18889. if s.IamInstanceProfile == nil {
  18890. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  18891. }
  18892. if s.InstanceId == nil {
  18893. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  18894. }
  18895. if invalidParams.Len() > 0 {
  18896. return invalidParams
  18897. }
  18898. return nil
  18899. }
  18900. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  18901. func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
  18902. s.IamInstanceProfile = v
  18903. return s
  18904. }
  18905. // SetInstanceId sets the InstanceId field's value.
  18906. func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
  18907. s.InstanceId = &v
  18908. return s
  18909. }
  18910. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfileResult
  18911. type AssociateIamInstanceProfileOutput struct {
  18912. _ struct{} `type:"structure"`
  18913. // Information about the IAM instance profile association.
  18914. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  18915. }
  18916. // String returns the string representation
  18917. func (s AssociateIamInstanceProfileOutput) String() string {
  18918. return awsutil.Prettify(s)
  18919. }
  18920. // GoString returns the string representation
  18921. func (s AssociateIamInstanceProfileOutput) GoString() string {
  18922. return s.String()
  18923. }
  18924. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  18925. func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
  18926. s.IamInstanceProfileAssociation = v
  18927. return s
  18928. }
  18929. // Contains the parameters for AssociateRouteTable.
  18930. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableRequest
  18931. type AssociateRouteTableInput struct {
  18932. _ struct{} `type:"structure"`
  18933. // Checks whether you have the required permissions for the action, without
  18934. // actually making the request, and provides an error response. If you have
  18935. // the required permissions, the error response is DryRunOperation. Otherwise,
  18936. // it is UnauthorizedOperation.
  18937. DryRun *bool `locationName:"dryRun" type:"boolean"`
  18938. // The ID of the route table.
  18939. //
  18940. // RouteTableId is a required field
  18941. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  18942. // The ID of the subnet.
  18943. //
  18944. // SubnetId is a required field
  18945. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  18946. }
  18947. // String returns the string representation
  18948. func (s AssociateRouteTableInput) String() string {
  18949. return awsutil.Prettify(s)
  18950. }
  18951. // GoString returns the string representation
  18952. func (s AssociateRouteTableInput) GoString() string {
  18953. return s.String()
  18954. }
  18955. // Validate inspects the fields of the type to determine if they are valid.
  18956. func (s *AssociateRouteTableInput) Validate() error {
  18957. invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
  18958. if s.RouteTableId == nil {
  18959. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  18960. }
  18961. if s.SubnetId == nil {
  18962. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  18963. }
  18964. if invalidParams.Len() > 0 {
  18965. return invalidParams
  18966. }
  18967. return nil
  18968. }
  18969. // SetDryRun sets the DryRun field's value.
  18970. func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
  18971. s.DryRun = &v
  18972. return s
  18973. }
  18974. // SetRouteTableId sets the RouteTableId field's value.
  18975. func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
  18976. s.RouteTableId = &v
  18977. return s
  18978. }
  18979. // SetSubnetId sets the SubnetId field's value.
  18980. func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
  18981. s.SubnetId = &v
  18982. return s
  18983. }
  18984. // Contains the output of AssociateRouteTable.
  18985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTableResult
  18986. type AssociateRouteTableOutput struct {
  18987. _ struct{} `type:"structure"`
  18988. // The route table association ID (needed to disassociate the route table).
  18989. AssociationId *string `locationName:"associationId" type:"string"`
  18990. }
  18991. // String returns the string representation
  18992. func (s AssociateRouteTableOutput) String() string {
  18993. return awsutil.Prettify(s)
  18994. }
  18995. // GoString returns the string representation
  18996. func (s AssociateRouteTableOutput) GoString() string {
  18997. return s.String()
  18998. }
  18999. // SetAssociationId sets the AssociationId field's value.
  19000. func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
  19001. s.AssociationId = &v
  19002. return s
  19003. }
  19004. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockRequest
  19005. type AssociateSubnetCidrBlockInput struct {
  19006. _ struct{} `type:"structure"`
  19007. // The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
  19008. //
  19009. // Ipv6CidrBlock is a required field
  19010. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
  19011. // The ID of your subnet.
  19012. //
  19013. // SubnetId is a required field
  19014. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  19015. }
  19016. // String returns the string representation
  19017. func (s AssociateSubnetCidrBlockInput) String() string {
  19018. return awsutil.Prettify(s)
  19019. }
  19020. // GoString returns the string representation
  19021. func (s AssociateSubnetCidrBlockInput) GoString() string {
  19022. return s.String()
  19023. }
  19024. // Validate inspects the fields of the type to determine if they are valid.
  19025. func (s *AssociateSubnetCidrBlockInput) Validate() error {
  19026. invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
  19027. if s.Ipv6CidrBlock == nil {
  19028. invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
  19029. }
  19030. if s.SubnetId == nil {
  19031. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  19032. }
  19033. if invalidParams.Len() > 0 {
  19034. return invalidParams
  19035. }
  19036. return nil
  19037. }
  19038. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  19039. func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
  19040. s.Ipv6CidrBlock = &v
  19041. return s
  19042. }
  19043. // SetSubnetId sets the SubnetId field's value.
  19044. func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
  19045. s.SubnetId = &v
  19046. return s
  19047. }
  19048. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlockResult
  19049. type AssociateSubnetCidrBlockOutput struct {
  19050. _ struct{} `type:"structure"`
  19051. // Information about the IPv6 CIDR block association.
  19052. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  19053. // The ID of the subnet.
  19054. SubnetId *string `locationName:"subnetId" type:"string"`
  19055. }
  19056. // String returns the string representation
  19057. func (s AssociateSubnetCidrBlockOutput) String() string {
  19058. return awsutil.Prettify(s)
  19059. }
  19060. // GoString returns the string representation
  19061. func (s AssociateSubnetCidrBlockOutput) GoString() string {
  19062. return s.String()
  19063. }
  19064. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  19065. func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
  19066. s.Ipv6CidrBlockAssociation = v
  19067. return s
  19068. }
  19069. // SetSubnetId sets the SubnetId field's value.
  19070. func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
  19071. s.SubnetId = &v
  19072. return s
  19073. }
  19074. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockRequest
  19075. type AssociateVpcCidrBlockInput struct {
  19076. _ struct{} `type:"structure"`
  19077. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  19078. // the VPC. You cannot specify the range of IPv6 addresses, or the size of the
  19079. // CIDR block.
  19080. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  19081. // The ID of the VPC.
  19082. //
  19083. // VpcId is a required field
  19084. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19085. }
  19086. // String returns the string representation
  19087. func (s AssociateVpcCidrBlockInput) String() string {
  19088. return awsutil.Prettify(s)
  19089. }
  19090. // GoString returns the string representation
  19091. func (s AssociateVpcCidrBlockInput) GoString() string {
  19092. return s.String()
  19093. }
  19094. // Validate inspects the fields of the type to determine if they are valid.
  19095. func (s *AssociateVpcCidrBlockInput) Validate() error {
  19096. invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
  19097. if s.VpcId == nil {
  19098. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19099. }
  19100. if invalidParams.Len() > 0 {
  19101. return invalidParams
  19102. }
  19103. return nil
  19104. }
  19105. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  19106. func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
  19107. s.AmazonProvidedIpv6CidrBlock = &v
  19108. return s
  19109. }
  19110. // SetVpcId sets the VpcId field's value.
  19111. func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
  19112. s.VpcId = &v
  19113. return s
  19114. }
  19115. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlockResult
  19116. type AssociateVpcCidrBlockOutput struct {
  19117. _ struct{} `type:"structure"`
  19118. // Information about the IPv6 CIDR block association.
  19119. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  19120. // The ID of the VPC.
  19121. VpcId *string `locationName:"vpcId" type:"string"`
  19122. }
  19123. // String returns the string representation
  19124. func (s AssociateVpcCidrBlockOutput) String() string {
  19125. return awsutil.Prettify(s)
  19126. }
  19127. // GoString returns the string representation
  19128. func (s AssociateVpcCidrBlockOutput) GoString() string {
  19129. return s.String()
  19130. }
  19131. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  19132. func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
  19133. s.Ipv6CidrBlockAssociation = v
  19134. return s
  19135. }
  19136. // SetVpcId sets the VpcId field's value.
  19137. func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
  19138. s.VpcId = &v
  19139. return s
  19140. }
  19141. // Contains the parameters for AttachClassicLinkVpc.
  19142. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcRequest
  19143. type AttachClassicLinkVpcInput struct {
  19144. _ struct{} `type:"structure"`
  19145. // Checks whether you have the required permissions for the action, without
  19146. // actually making the request, and provides an error response. If you have
  19147. // the required permissions, the error response is DryRunOperation. Otherwise,
  19148. // it is UnauthorizedOperation.
  19149. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19150. // The ID of one or more of the VPC's security groups. You cannot specify security
  19151. // groups from a different VPC.
  19152. //
  19153. // Groups is a required field
  19154. Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
  19155. // The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
  19156. //
  19157. // InstanceId is a required field
  19158. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  19159. // The ID of a ClassicLink-enabled VPC.
  19160. //
  19161. // VpcId is a required field
  19162. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19163. }
  19164. // String returns the string representation
  19165. func (s AttachClassicLinkVpcInput) String() string {
  19166. return awsutil.Prettify(s)
  19167. }
  19168. // GoString returns the string representation
  19169. func (s AttachClassicLinkVpcInput) GoString() string {
  19170. return s.String()
  19171. }
  19172. // Validate inspects the fields of the type to determine if they are valid.
  19173. func (s *AttachClassicLinkVpcInput) Validate() error {
  19174. invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
  19175. if s.Groups == nil {
  19176. invalidParams.Add(request.NewErrParamRequired("Groups"))
  19177. }
  19178. if s.InstanceId == nil {
  19179. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19180. }
  19181. if s.VpcId == nil {
  19182. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19183. }
  19184. if invalidParams.Len() > 0 {
  19185. return invalidParams
  19186. }
  19187. return nil
  19188. }
  19189. // SetDryRun sets the DryRun field's value.
  19190. func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
  19191. s.DryRun = &v
  19192. return s
  19193. }
  19194. // SetGroups sets the Groups field's value.
  19195. func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
  19196. s.Groups = v
  19197. return s
  19198. }
  19199. // SetInstanceId sets the InstanceId field's value.
  19200. func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
  19201. s.InstanceId = &v
  19202. return s
  19203. }
  19204. // SetVpcId sets the VpcId field's value.
  19205. func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
  19206. s.VpcId = &v
  19207. return s
  19208. }
  19209. // Contains the output of AttachClassicLinkVpc.
  19210. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpcResult
  19211. type AttachClassicLinkVpcOutput struct {
  19212. _ struct{} `type:"structure"`
  19213. // Returns true if the request succeeds; otherwise, it returns an error.
  19214. Return *bool `locationName:"return" type:"boolean"`
  19215. }
  19216. // String returns the string representation
  19217. func (s AttachClassicLinkVpcOutput) String() string {
  19218. return awsutil.Prettify(s)
  19219. }
  19220. // GoString returns the string representation
  19221. func (s AttachClassicLinkVpcOutput) GoString() string {
  19222. return s.String()
  19223. }
  19224. // SetReturn sets the Return field's value.
  19225. func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
  19226. s.Return = &v
  19227. return s
  19228. }
  19229. // Contains the parameters for AttachInternetGateway.
  19230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayRequest
  19231. type AttachInternetGatewayInput struct {
  19232. _ struct{} `type:"structure"`
  19233. // Checks whether you have the required permissions for the action, without
  19234. // actually making the request, and provides an error response. If you have
  19235. // the required permissions, the error response is DryRunOperation. Otherwise,
  19236. // it is UnauthorizedOperation.
  19237. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19238. // The ID of the Internet gateway.
  19239. //
  19240. // InternetGatewayId is a required field
  19241. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  19242. // The ID of the VPC.
  19243. //
  19244. // VpcId is a required field
  19245. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  19246. }
  19247. // String returns the string representation
  19248. func (s AttachInternetGatewayInput) String() string {
  19249. return awsutil.Prettify(s)
  19250. }
  19251. // GoString returns the string representation
  19252. func (s AttachInternetGatewayInput) GoString() string {
  19253. return s.String()
  19254. }
  19255. // Validate inspects the fields of the type to determine if they are valid.
  19256. func (s *AttachInternetGatewayInput) Validate() error {
  19257. invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
  19258. if s.InternetGatewayId == nil {
  19259. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  19260. }
  19261. if s.VpcId == nil {
  19262. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19263. }
  19264. if invalidParams.Len() > 0 {
  19265. return invalidParams
  19266. }
  19267. return nil
  19268. }
  19269. // SetDryRun sets the DryRun field's value.
  19270. func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
  19271. s.DryRun = &v
  19272. return s
  19273. }
  19274. // SetInternetGatewayId sets the InternetGatewayId field's value.
  19275. func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
  19276. s.InternetGatewayId = &v
  19277. return s
  19278. }
  19279. // SetVpcId sets the VpcId field's value.
  19280. func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
  19281. s.VpcId = &v
  19282. return s
  19283. }
  19284. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGatewayOutput
  19285. type AttachInternetGatewayOutput struct {
  19286. _ struct{} `type:"structure"`
  19287. }
  19288. // String returns the string representation
  19289. func (s AttachInternetGatewayOutput) String() string {
  19290. return awsutil.Prettify(s)
  19291. }
  19292. // GoString returns the string representation
  19293. func (s AttachInternetGatewayOutput) GoString() string {
  19294. return s.String()
  19295. }
  19296. // Contains the parameters for AttachNetworkInterface.
  19297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceRequest
  19298. type AttachNetworkInterfaceInput struct {
  19299. _ struct{} `type:"structure"`
  19300. // The index of the device for the network interface attachment.
  19301. //
  19302. // DeviceIndex is a required field
  19303. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
  19304. // Checks whether you have the required permissions for the action, without
  19305. // actually making the request, and provides an error response. If you have
  19306. // the required permissions, the error response is DryRunOperation. Otherwise,
  19307. // it is UnauthorizedOperation.
  19308. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19309. // The ID of the instance.
  19310. //
  19311. // InstanceId is a required field
  19312. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  19313. // The ID of the network interface.
  19314. //
  19315. // NetworkInterfaceId is a required field
  19316. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  19317. }
  19318. // String returns the string representation
  19319. func (s AttachNetworkInterfaceInput) String() string {
  19320. return awsutil.Prettify(s)
  19321. }
  19322. // GoString returns the string representation
  19323. func (s AttachNetworkInterfaceInput) GoString() string {
  19324. return s.String()
  19325. }
  19326. // Validate inspects the fields of the type to determine if they are valid.
  19327. func (s *AttachNetworkInterfaceInput) Validate() error {
  19328. invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
  19329. if s.DeviceIndex == nil {
  19330. invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
  19331. }
  19332. if s.InstanceId == nil {
  19333. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19334. }
  19335. if s.NetworkInterfaceId == nil {
  19336. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  19337. }
  19338. if invalidParams.Len() > 0 {
  19339. return invalidParams
  19340. }
  19341. return nil
  19342. }
  19343. // SetDeviceIndex sets the DeviceIndex field's value.
  19344. func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
  19345. s.DeviceIndex = &v
  19346. return s
  19347. }
  19348. // SetDryRun sets the DryRun field's value.
  19349. func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
  19350. s.DryRun = &v
  19351. return s
  19352. }
  19353. // SetInstanceId sets the InstanceId field's value.
  19354. func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
  19355. s.InstanceId = &v
  19356. return s
  19357. }
  19358. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  19359. func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
  19360. s.NetworkInterfaceId = &v
  19361. return s
  19362. }
  19363. // Contains the output of AttachNetworkInterface.
  19364. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterfaceResult
  19365. type AttachNetworkInterfaceOutput struct {
  19366. _ struct{} `type:"structure"`
  19367. // The ID of the network interface attachment.
  19368. AttachmentId *string `locationName:"attachmentId" type:"string"`
  19369. }
  19370. // String returns the string representation
  19371. func (s AttachNetworkInterfaceOutput) String() string {
  19372. return awsutil.Prettify(s)
  19373. }
  19374. // GoString returns the string representation
  19375. func (s AttachNetworkInterfaceOutput) GoString() string {
  19376. return s.String()
  19377. }
  19378. // SetAttachmentId sets the AttachmentId field's value.
  19379. func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
  19380. s.AttachmentId = &v
  19381. return s
  19382. }
  19383. // Contains the parameters for AttachVolume.
  19384. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolumeRequest
  19385. type AttachVolumeInput struct {
  19386. _ struct{} `type:"structure"`
  19387. // The device name to expose to the instance (for example, /dev/sdh or xvdh).
  19388. //
  19389. // Device is a required field
  19390. Device *string `type:"string" required:"true"`
  19391. // Checks whether you have the required permissions for the action, without
  19392. // actually making the request, and provides an error response. If you have
  19393. // the required permissions, the error response is DryRunOperation. Otherwise,
  19394. // it is UnauthorizedOperation.
  19395. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19396. // The ID of the instance.
  19397. //
  19398. // InstanceId is a required field
  19399. InstanceId *string `type:"string" required:"true"`
  19400. // The ID of the EBS volume. The volume and instance must be within the same
  19401. // Availability Zone.
  19402. //
  19403. // VolumeId is a required field
  19404. VolumeId *string `type:"string" required:"true"`
  19405. }
  19406. // String returns the string representation
  19407. func (s AttachVolumeInput) String() string {
  19408. return awsutil.Prettify(s)
  19409. }
  19410. // GoString returns the string representation
  19411. func (s AttachVolumeInput) GoString() string {
  19412. return s.String()
  19413. }
  19414. // Validate inspects the fields of the type to determine if they are valid.
  19415. func (s *AttachVolumeInput) Validate() error {
  19416. invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
  19417. if s.Device == nil {
  19418. invalidParams.Add(request.NewErrParamRequired("Device"))
  19419. }
  19420. if s.InstanceId == nil {
  19421. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19422. }
  19423. if s.VolumeId == nil {
  19424. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  19425. }
  19426. if invalidParams.Len() > 0 {
  19427. return invalidParams
  19428. }
  19429. return nil
  19430. }
  19431. // SetDevice sets the Device field's value.
  19432. func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
  19433. s.Device = &v
  19434. return s
  19435. }
  19436. // SetDryRun sets the DryRun field's value.
  19437. func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
  19438. s.DryRun = &v
  19439. return s
  19440. }
  19441. // SetInstanceId sets the InstanceId field's value.
  19442. func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
  19443. s.InstanceId = &v
  19444. return s
  19445. }
  19446. // SetVolumeId sets the VolumeId field's value.
  19447. func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
  19448. s.VolumeId = &v
  19449. return s
  19450. }
  19451. // Contains the parameters for AttachVpnGateway.
  19452. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayRequest
  19453. type AttachVpnGatewayInput struct {
  19454. _ struct{} `type:"structure"`
  19455. // Checks whether you have the required permissions for the action, without
  19456. // actually making the request, and provides an error response. If you have
  19457. // the required permissions, the error response is DryRunOperation. Otherwise,
  19458. // it is UnauthorizedOperation.
  19459. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19460. // The ID of the VPC.
  19461. //
  19462. // VpcId is a required field
  19463. VpcId *string `type:"string" required:"true"`
  19464. // The ID of the virtual private gateway.
  19465. //
  19466. // VpnGatewayId is a required field
  19467. VpnGatewayId *string `type:"string" required:"true"`
  19468. }
  19469. // String returns the string representation
  19470. func (s AttachVpnGatewayInput) String() string {
  19471. return awsutil.Prettify(s)
  19472. }
  19473. // GoString returns the string representation
  19474. func (s AttachVpnGatewayInput) GoString() string {
  19475. return s.String()
  19476. }
  19477. // Validate inspects the fields of the type to determine if they are valid.
  19478. func (s *AttachVpnGatewayInput) Validate() error {
  19479. invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
  19480. if s.VpcId == nil {
  19481. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  19482. }
  19483. if s.VpnGatewayId == nil {
  19484. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  19485. }
  19486. if invalidParams.Len() > 0 {
  19487. return invalidParams
  19488. }
  19489. return nil
  19490. }
  19491. // SetDryRun sets the DryRun field's value.
  19492. func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
  19493. s.DryRun = &v
  19494. return s
  19495. }
  19496. // SetVpcId sets the VpcId field's value.
  19497. func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
  19498. s.VpcId = &v
  19499. return s
  19500. }
  19501. // SetVpnGatewayId sets the VpnGatewayId field's value.
  19502. func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
  19503. s.VpnGatewayId = &v
  19504. return s
  19505. }
  19506. // Contains the output of AttachVpnGateway.
  19507. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGatewayResult
  19508. type AttachVpnGatewayOutput struct {
  19509. _ struct{} `type:"structure"`
  19510. // Information about the attachment.
  19511. VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
  19512. }
  19513. // String returns the string representation
  19514. func (s AttachVpnGatewayOutput) String() string {
  19515. return awsutil.Prettify(s)
  19516. }
  19517. // GoString returns the string representation
  19518. func (s AttachVpnGatewayOutput) GoString() string {
  19519. return s.String()
  19520. }
  19521. // SetVpcAttachment sets the VpcAttachment field's value.
  19522. func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
  19523. s.VpcAttachment = v
  19524. return s
  19525. }
  19526. // Describes a value for a resource attribute that is a Boolean value.
  19527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeBooleanValue
  19528. type AttributeBooleanValue struct {
  19529. _ struct{} `type:"structure"`
  19530. // The attribute value. The valid values are true or false.
  19531. Value *bool `locationName:"value" type:"boolean"`
  19532. }
  19533. // String returns the string representation
  19534. func (s AttributeBooleanValue) String() string {
  19535. return awsutil.Prettify(s)
  19536. }
  19537. // GoString returns the string representation
  19538. func (s AttributeBooleanValue) GoString() string {
  19539. return s.String()
  19540. }
  19541. // SetValue sets the Value field's value.
  19542. func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
  19543. s.Value = &v
  19544. return s
  19545. }
  19546. // Describes a value for a resource attribute that is a String.
  19547. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttributeValue
  19548. type AttributeValue struct {
  19549. _ struct{} `type:"structure"`
  19550. // The attribute value. Note that the value is case-sensitive.
  19551. Value *string `locationName:"value" type:"string"`
  19552. }
  19553. // String returns the string representation
  19554. func (s AttributeValue) String() string {
  19555. return awsutil.Prettify(s)
  19556. }
  19557. // GoString returns the string representation
  19558. func (s AttributeValue) GoString() string {
  19559. return s.String()
  19560. }
  19561. // SetValue sets the Value field's value.
  19562. func (s *AttributeValue) SetValue(v string) *AttributeValue {
  19563. s.Value = &v
  19564. return s
  19565. }
  19566. // Contains the parameters for AuthorizeSecurityGroupEgress.
  19567. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressRequest
  19568. type AuthorizeSecurityGroupEgressInput struct {
  19569. _ struct{} `type:"structure"`
  19570. // The CIDR IPv4 address range. We recommend that you specify the CIDR range
  19571. // in a set of IP permissions instead.
  19572. CidrIp *string `locationName:"cidrIp" type:"string"`
  19573. // Checks whether you have the required permissions for the action, without
  19574. // actually making the request, and provides an error response. If you have
  19575. // the required permissions, the error response is DryRunOperation. Otherwise,
  19576. // it is UnauthorizedOperation.
  19577. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19578. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  19579. // We recommend that you specify the port range in a set of IP permissions instead.
  19580. FromPort *int64 `locationName:"fromPort" type:"integer"`
  19581. // The ID of the security group.
  19582. //
  19583. // GroupId is a required field
  19584. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  19585. // A set of IP permissions. You can't specify a destination security group and
  19586. // a CIDR IP address range.
  19587. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  19588. // The IP protocol name or number. We recommend that you specify the protocol
  19589. // in a set of IP permissions instead.
  19590. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  19591. // The name of a destination security group. To authorize outbound access to
  19592. // a destination security group, we recommend that you use a set of IP permissions
  19593. // instead.
  19594. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  19595. // The AWS account number for a destination security group. To authorize outbound
  19596. // access to a destination security group, we recommend that you use a set of
  19597. // IP permissions instead.
  19598. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  19599. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  19600. // We recommend that you specify the port range in a set of IP permissions instead.
  19601. ToPort *int64 `locationName:"toPort" type:"integer"`
  19602. }
  19603. // String returns the string representation
  19604. func (s AuthorizeSecurityGroupEgressInput) String() string {
  19605. return awsutil.Prettify(s)
  19606. }
  19607. // GoString returns the string representation
  19608. func (s AuthorizeSecurityGroupEgressInput) GoString() string {
  19609. return s.String()
  19610. }
  19611. // Validate inspects the fields of the type to determine if they are valid.
  19612. func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
  19613. invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
  19614. if s.GroupId == nil {
  19615. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  19616. }
  19617. if invalidParams.Len() > 0 {
  19618. return invalidParams
  19619. }
  19620. return nil
  19621. }
  19622. // SetCidrIp sets the CidrIp field's value.
  19623. func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
  19624. s.CidrIp = &v
  19625. return s
  19626. }
  19627. // SetDryRun sets the DryRun field's value.
  19628. func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
  19629. s.DryRun = &v
  19630. return s
  19631. }
  19632. // SetFromPort sets the FromPort field's value.
  19633. func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
  19634. s.FromPort = &v
  19635. return s
  19636. }
  19637. // SetGroupId sets the GroupId field's value.
  19638. func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
  19639. s.GroupId = &v
  19640. return s
  19641. }
  19642. // SetIpPermissions sets the IpPermissions field's value.
  19643. func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
  19644. s.IpPermissions = v
  19645. return s
  19646. }
  19647. // SetIpProtocol sets the IpProtocol field's value.
  19648. func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
  19649. s.IpProtocol = &v
  19650. return s
  19651. }
  19652. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  19653. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
  19654. s.SourceSecurityGroupName = &v
  19655. return s
  19656. }
  19657. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  19658. func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
  19659. s.SourceSecurityGroupOwnerId = &v
  19660. return s
  19661. }
  19662. // SetToPort sets the ToPort field's value.
  19663. func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
  19664. s.ToPort = &v
  19665. return s
  19666. }
  19667. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgressOutput
  19668. type AuthorizeSecurityGroupEgressOutput struct {
  19669. _ struct{} `type:"structure"`
  19670. }
  19671. // String returns the string representation
  19672. func (s AuthorizeSecurityGroupEgressOutput) String() string {
  19673. return awsutil.Prettify(s)
  19674. }
  19675. // GoString returns the string representation
  19676. func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
  19677. return s.String()
  19678. }
  19679. // Contains the parameters for AuthorizeSecurityGroupIngress.
  19680. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressRequest
  19681. type AuthorizeSecurityGroupIngressInput struct {
  19682. _ struct{} `type:"structure"`
  19683. // The CIDR IPv4 address range. You can't specify this parameter when specifying
  19684. // a source security group.
  19685. CidrIp *string `type:"string"`
  19686. // Checks whether you have the required permissions for the action, without
  19687. // actually making the request, and provides an error response. If you have
  19688. // the required permissions, the error response is DryRunOperation. Otherwise,
  19689. // it is UnauthorizedOperation.
  19690. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19691. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  19692. // type number. For the ICMP/ICMPv6 type number, use -1 to specify all types.
  19693. FromPort *int64 `type:"integer"`
  19694. // The ID of the security group. Required for a nondefault VPC.
  19695. GroupId *string `type:"string"`
  19696. // [EC2-Classic, default VPC] The name of the security group.
  19697. GroupName *string `type:"string"`
  19698. // A set of IP permissions. Can be used to specify multiple rules in a single
  19699. // command.
  19700. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  19701. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  19702. // (VPC only) Use -1 to specify all protocols. If you specify -1, or a protocol
  19703. // number other than tcp, udp, icmp, or 58 (ICMPv6), traffic on all ports is
  19704. // allowed, regardless of any ports you specify. For tcp, udp, and icmp, you
  19705. // must specify a port range. For protocol 58 (ICMPv6), you can optionally specify
  19706. // a port range; if you don't, traffic for all types and codes is allowed.
  19707. IpProtocol *string `type:"string"`
  19708. // [EC2-Classic, default VPC] The name of the source security group. You can't
  19709. // specify this parameter in combination with the following parameters: the
  19710. // CIDR IP address range, the start of the port range, the IP protocol, and
  19711. // the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
  19712. // access. To create a rule with a specific IP protocol and port range, use
  19713. // a set of IP permissions instead. For EC2-VPC, the source security group must
  19714. // be in the same VPC.
  19715. SourceSecurityGroupName *string `type:"string"`
  19716. // [EC2-Classic] The AWS account number for the source security group, if the
  19717. // source security group is in a different account. You can't specify this parameter
  19718. // in combination with the following parameters: the CIDR IP address range,
  19719. // the IP protocol, the start of the port range, and the end of the port range.
  19720. // Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
  19721. // with a specific IP protocol and port range, use a set of IP permissions instead.
  19722. SourceSecurityGroupOwnerId *string `type:"string"`
  19723. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code
  19724. // number. For the ICMP/ICMPv6 code number, use -1 to specify all codes.
  19725. ToPort *int64 `type:"integer"`
  19726. }
  19727. // String returns the string representation
  19728. func (s AuthorizeSecurityGroupIngressInput) String() string {
  19729. return awsutil.Prettify(s)
  19730. }
  19731. // GoString returns the string representation
  19732. func (s AuthorizeSecurityGroupIngressInput) GoString() string {
  19733. return s.String()
  19734. }
  19735. // SetCidrIp sets the CidrIp field's value.
  19736. func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
  19737. s.CidrIp = &v
  19738. return s
  19739. }
  19740. // SetDryRun sets the DryRun field's value.
  19741. func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
  19742. s.DryRun = &v
  19743. return s
  19744. }
  19745. // SetFromPort sets the FromPort field's value.
  19746. func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
  19747. s.FromPort = &v
  19748. return s
  19749. }
  19750. // SetGroupId sets the GroupId field's value.
  19751. func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
  19752. s.GroupId = &v
  19753. return s
  19754. }
  19755. // SetGroupName sets the GroupName field's value.
  19756. func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  19757. s.GroupName = &v
  19758. return s
  19759. }
  19760. // SetIpPermissions sets the IpPermissions field's value.
  19761. func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
  19762. s.IpPermissions = v
  19763. return s
  19764. }
  19765. // SetIpProtocol sets the IpProtocol field's value.
  19766. func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
  19767. s.IpProtocol = &v
  19768. return s
  19769. }
  19770. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  19771. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
  19772. s.SourceSecurityGroupName = &v
  19773. return s
  19774. }
  19775. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  19776. func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
  19777. s.SourceSecurityGroupOwnerId = &v
  19778. return s
  19779. }
  19780. // SetToPort sets the ToPort field's value.
  19781. func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
  19782. s.ToPort = &v
  19783. return s
  19784. }
  19785. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngressOutput
  19786. type AuthorizeSecurityGroupIngressOutput struct {
  19787. _ struct{} `type:"structure"`
  19788. }
  19789. // String returns the string representation
  19790. func (s AuthorizeSecurityGroupIngressOutput) String() string {
  19791. return awsutil.Prettify(s)
  19792. }
  19793. // GoString returns the string representation
  19794. func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
  19795. return s.String()
  19796. }
  19797. // Describes an Availability Zone.
  19798. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZone
  19799. type AvailabilityZone struct {
  19800. _ struct{} `type:"structure"`
  19801. // Any messages about the Availability Zone.
  19802. Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
  19803. // The name of the region.
  19804. RegionName *string `locationName:"regionName" type:"string"`
  19805. // The state of the Availability Zone.
  19806. State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
  19807. // The name of the Availability Zone.
  19808. ZoneName *string `locationName:"zoneName" type:"string"`
  19809. }
  19810. // String returns the string representation
  19811. func (s AvailabilityZone) String() string {
  19812. return awsutil.Prettify(s)
  19813. }
  19814. // GoString returns the string representation
  19815. func (s AvailabilityZone) GoString() string {
  19816. return s.String()
  19817. }
  19818. // SetMessages sets the Messages field's value.
  19819. func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
  19820. s.Messages = v
  19821. return s
  19822. }
  19823. // SetRegionName sets the RegionName field's value.
  19824. func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
  19825. s.RegionName = &v
  19826. return s
  19827. }
  19828. // SetState sets the State field's value.
  19829. func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
  19830. s.State = &v
  19831. return s
  19832. }
  19833. // SetZoneName sets the ZoneName field's value.
  19834. func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
  19835. s.ZoneName = &v
  19836. return s
  19837. }
  19838. // Describes a message about an Availability Zone.
  19839. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailabilityZoneMessage
  19840. type AvailabilityZoneMessage struct {
  19841. _ struct{} `type:"structure"`
  19842. // The message about the Availability Zone.
  19843. Message *string `locationName:"message" type:"string"`
  19844. }
  19845. // String returns the string representation
  19846. func (s AvailabilityZoneMessage) String() string {
  19847. return awsutil.Prettify(s)
  19848. }
  19849. // GoString returns the string representation
  19850. func (s AvailabilityZoneMessage) GoString() string {
  19851. return s.String()
  19852. }
  19853. // SetMessage sets the Message field's value.
  19854. func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
  19855. s.Message = &v
  19856. return s
  19857. }
  19858. // The capacity information for instances launched onto the Dedicated Host.
  19859. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AvailableCapacity
  19860. type AvailableCapacity struct {
  19861. _ struct{} `type:"structure"`
  19862. // The total number of instances that the Dedicated Host supports.
  19863. AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
  19864. // The number of vCPUs available on the Dedicated Host.
  19865. AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
  19866. }
  19867. // String returns the string representation
  19868. func (s AvailableCapacity) String() string {
  19869. return awsutil.Prettify(s)
  19870. }
  19871. // GoString returns the string representation
  19872. func (s AvailableCapacity) GoString() string {
  19873. return s.String()
  19874. }
  19875. // SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
  19876. func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
  19877. s.AvailableInstanceCapacity = v
  19878. return s
  19879. }
  19880. // SetAvailableVCpus sets the AvailableVCpus field's value.
  19881. func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
  19882. s.AvailableVCpus = &v
  19883. return s
  19884. }
  19885. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlobAttributeValue
  19886. type BlobAttributeValue struct {
  19887. _ struct{} `type:"structure"`
  19888. // Value is automatically base64 encoded/decoded by the SDK.
  19889. Value []byte `locationName:"value" type:"blob"`
  19890. }
  19891. // String returns the string representation
  19892. func (s BlobAttributeValue) String() string {
  19893. return awsutil.Prettify(s)
  19894. }
  19895. // GoString returns the string representation
  19896. func (s BlobAttributeValue) GoString() string {
  19897. return s.String()
  19898. }
  19899. // SetValue sets the Value field's value.
  19900. func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
  19901. s.Value = v
  19902. return s
  19903. }
  19904. // Describes a block device mapping.
  19905. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BlockDeviceMapping
  19906. type BlockDeviceMapping struct {
  19907. _ struct{} `type:"structure"`
  19908. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  19909. DeviceName *string `locationName:"deviceName" type:"string"`
  19910. // Parameters used to automatically set up EBS volumes when the instance is
  19911. // launched.
  19912. Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
  19913. // Suppresses the specified device included in the block device mapping of the
  19914. // AMI.
  19915. NoDevice *string `locationName:"noDevice" type:"string"`
  19916. // The virtual device name (ephemeralN). Instance store volumes are numbered
  19917. // starting from 0. An instance type with 2 available instance store volumes
  19918. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  19919. // instance store volumes depends on the instance type. After you connect to
  19920. // the instance, you must mount the volume.
  19921. //
  19922. // Constraints: For M3 instances, you must specify instance store volumes in
  19923. // the block device mapping for the instance. When you launch an M3 instance,
  19924. // we ignore any instance store volumes specified in the block device mapping
  19925. // for the AMI.
  19926. VirtualName *string `locationName:"virtualName" type:"string"`
  19927. }
  19928. // String returns the string representation
  19929. func (s BlockDeviceMapping) String() string {
  19930. return awsutil.Prettify(s)
  19931. }
  19932. // GoString returns the string representation
  19933. func (s BlockDeviceMapping) GoString() string {
  19934. return s.String()
  19935. }
  19936. // SetDeviceName sets the DeviceName field's value.
  19937. func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
  19938. s.DeviceName = &v
  19939. return s
  19940. }
  19941. // SetEbs sets the Ebs field's value.
  19942. func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
  19943. s.Ebs = v
  19944. return s
  19945. }
  19946. // SetNoDevice sets the NoDevice field's value.
  19947. func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
  19948. s.NoDevice = &v
  19949. return s
  19950. }
  19951. // SetVirtualName sets the VirtualName field's value.
  19952. func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
  19953. s.VirtualName = &v
  19954. return s
  19955. }
  19956. // Contains the parameters for BundleInstance.
  19957. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceRequest
  19958. type BundleInstanceInput struct {
  19959. _ struct{} `type:"structure"`
  19960. // Checks whether you have the required permissions for the action, without
  19961. // actually making the request, and provides an error response. If you have
  19962. // the required permissions, the error response is DryRunOperation. Otherwise,
  19963. // it is UnauthorizedOperation.
  19964. DryRun *bool `locationName:"dryRun" type:"boolean"`
  19965. // The ID of the instance to bundle.
  19966. //
  19967. // Type: String
  19968. //
  19969. // Default: None
  19970. //
  19971. // Required: Yes
  19972. //
  19973. // InstanceId is a required field
  19974. InstanceId *string `type:"string" required:"true"`
  19975. // The bucket in which to store the AMI. You can specify a bucket that you already
  19976. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  19977. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  19978. //
  19979. // Storage is a required field
  19980. Storage *Storage `type:"structure" required:"true"`
  19981. }
  19982. // String returns the string representation
  19983. func (s BundleInstanceInput) String() string {
  19984. return awsutil.Prettify(s)
  19985. }
  19986. // GoString returns the string representation
  19987. func (s BundleInstanceInput) GoString() string {
  19988. return s.String()
  19989. }
  19990. // Validate inspects the fields of the type to determine if they are valid.
  19991. func (s *BundleInstanceInput) Validate() error {
  19992. invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
  19993. if s.InstanceId == nil {
  19994. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  19995. }
  19996. if s.Storage == nil {
  19997. invalidParams.Add(request.NewErrParamRequired("Storage"))
  19998. }
  19999. if invalidParams.Len() > 0 {
  20000. return invalidParams
  20001. }
  20002. return nil
  20003. }
  20004. // SetDryRun sets the DryRun field's value.
  20005. func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
  20006. s.DryRun = &v
  20007. return s
  20008. }
  20009. // SetInstanceId sets the InstanceId field's value.
  20010. func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
  20011. s.InstanceId = &v
  20012. return s
  20013. }
  20014. // SetStorage sets the Storage field's value.
  20015. func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
  20016. s.Storage = v
  20017. return s
  20018. }
  20019. // Contains the output of BundleInstance.
  20020. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstanceResult
  20021. type BundleInstanceOutput struct {
  20022. _ struct{} `type:"structure"`
  20023. // Information about the bundle task.
  20024. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  20025. }
  20026. // String returns the string representation
  20027. func (s BundleInstanceOutput) String() string {
  20028. return awsutil.Prettify(s)
  20029. }
  20030. // GoString returns the string representation
  20031. func (s BundleInstanceOutput) GoString() string {
  20032. return s.String()
  20033. }
  20034. // SetBundleTask sets the BundleTask field's value.
  20035. func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
  20036. s.BundleTask = v
  20037. return s
  20038. }
  20039. // Describes a bundle task.
  20040. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTask
  20041. type BundleTask struct {
  20042. _ struct{} `type:"structure"`
  20043. // The ID of the bundle task.
  20044. BundleId *string `locationName:"bundleId" type:"string"`
  20045. // If the task fails, a description of the error.
  20046. BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
  20047. // The ID of the instance associated with this bundle task.
  20048. InstanceId *string `locationName:"instanceId" type:"string"`
  20049. // The level of task completion, as a percent (for example, 20%).
  20050. Progress *string `locationName:"progress" type:"string"`
  20051. // The time this task started.
  20052. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  20053. // The state of the task.
  20054. State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
  20055. // The Amazon S3 storage locations.
  20056. Storage *Storage `locationName:"storage" type:"structure"`
  20057. // The time of the most recent update for the task.
  20058. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  20059. }
  20060. // String returns the string representation
  20061. func (s BundleTask) String() string {
  20062. return awsutil.Prettify(s)
  20063. }
  20064. // GoString returns the string representation
  20065. func (s BundleTask) GoString() string {
  20066. return s.String()
  20067. }
  20068. // SetBundleId sets the BundleId field's value.
  20069. func (s *BundleTask) SetBundleId(v string) *BundleTask {
  20070. s.BundleId = &v
  20071. return s
  20072. }
  20073. // SetBundleTaskError sets the BundleTaskError field's value.
  20074. func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
  20075. s.BundleTaskError = v
  20076. return s
  20077. }
  20078. // SetInstanceId sets the InstanceId field's value.
  20079. func (s *BundleTask) SetInstanceId(v string) *BundleTask {
  20080. s.InstanceId = &v
  20081. return s
  20082. }
  20083. // SetProgress sets the Progress field's value.
  20084. func (s *BundleTask) SetProgress(v string) *BundleTask {
  20085. s.Progress = &v
  20086. return s
  20087. }
  20088. // SetStartTime sets the StartTime field's value.
  20089. func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
  20090. s.StartTime = &v
  20091. return s
  20092. }
  20093. // SetState sets the State field's value.
  20094. func (s *BundleTask) SetState(v string) *BundleTask {
  20095. s.State = &v
  20096. return s
  20097. }
  20098. // SetStorage sets the Storage field's value.
  20099. func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
  20100. s.Storage = v
  20101. return s
  20102. }
  20103. // SetUpdateTime sets the UpdateTime field's value.
  20104. func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
  20105. s.UpdateTime = &v
  20106. return s
  20107. }
  20108. // Describes an error for BundleInstance.
  20109. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleTaskError
  20110. type BundleTaskError struct {
  20111. _ struct{} `type:"structure"`
  20112. // The error code.
  20113. Code *string `locationName:"code" type:"string"`
  20114. // The error message.
  20115. Message *string `locationName:"message" type:"string"`
  20116. }
  20117. // String returns the string representation
  20118. func (s BundleTaskError) String() string {
  20119. return awsutil.Prettify(s)
  20120. }
  20121. // GoString returns the string representation
  20122. func (s BundleTaskError) GoString() string {
  20123. return s.String()
  20124. }
  20125. // SetCode sets the Code field's value.
  20126. func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
  20127. s.Code = &v
  20128. return s
  20129. }
  20130. // SetMessage sets the Message field's value.
  20131. func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
  20132. s.Message = &v
  20133. return s
  20134. }
  20135. // Contains the parameters for CancelBundleTask.
  20136. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskRequest
  20137. type CancelBundleTaskInput struct {
  20138. _ struct{} `type:"structure"`
  20139. // The ID of the bundle task.
  20140. //
  20141. // BundleId is a required field
  20142. BundleId *string `type:"string" required:"true"`
  20143. // Checks whether you have the required permissions for the action, without
  20144. // actually making the request, and provides an error response. If you have
  20145. // the required permissions, the error response is DryRunOperation. Otherwise,
  20146. // it is UnauthorizedOperation.
  20147. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20148. }
  20149. // String returns the string representation
  20150. func (s CancelBundleTaskInput) String() string {
  20151. return awsutil.Prettify(s)
  20152. }
  20153. // GoString returns the string representation
  20154. func (s CancelBundleTaskInput) GoString() string {
  20155. return s.String()
  20156. }
  20157. // Validate inspects the fields of the type to determine if they are valid.
  20158. func (s *CancelBundleTaskInput) Validate() error {
  20159. invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
  20160. if s.BundleId == nil {
  20161. invalidParams.Add(request.NewErrParamRequired("BundleId"))
  20162. }
  20163. if invalidParams.Len() > 0 {
  20164. return invalidParams
  20165. }
  20166. return nil
  20167. }
  20168. // SetBundleId sets the BundleId field's value.
  20169. func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
  20170. s.BundleId = &v
  20171. return s
  20172. }
  20173. // SetDryRun sets the DryRun field's value.
  20174. func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
  20175. s.DryRun = &v
  20176. return s
  20177. }
  20178. // Contains the output of CancelBundleTask.
  20179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTaskResult
  20180. type CancelBundleTaskOutput struct {
  20181. _ struct{} `type:"structure"`
  20182. // Information about the bundle task.
  20183. BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
  20184. }
  20185. // String returns the string representation
  20186. func (s CancelBundleTaskOutput) String() string {
  20187. return awsutil.Prettify(s)
  20188. }
  20189. // GoString returns the string representation
  20190. func (s CancelBundleTaskOutput) GoString() string {
  20191. return s.String()
  20192. }
  20193. // SetBundleTask sets the BundleTask field's value.
  20194. func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
  20195. s.BundleTask = v
  20196. return s
  20197. }
  20198. // Contains the parameters for CancelConversionTask.
  20199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionRequest
  20200. type CancelConversionTaskInput struct {
  20201. _ struct{} `type:"structure"`
  20202. // The ID of the conversion task.
  20203. //
  20204. // ConversionTaskId is a required field
  20205. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  20206. // Checks whether you have the required permissions for the action, without
  20207. // actually making the request, and provides an error response. If you have
  20208. // the required permissions, the error response is DryRunOperation. Otherwise,
  20209. // it is UnauthorizedOperation.
  20210. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20211. // The reason for canceling the conversion task.
  20212. ReasonMessage *string `locationName:"reasonMessage" type:"string"`
  20213. }
  20214. // String returns the string representation
  20215. func (s CancelConversionTaskInput) String() string {
  20216. return awsutil.Prettify(s)
  20217. }
  20218. // GoString returns the string representation
  20219. func (s CancelConversionTaskInput) GoString() string {
  20220. return s.String()
  20221. }
  20222. // Validate inspects the fields of the type to determine if they are valid.
  20223. func (s *CancelConversionTaskInput) Validate() error {
  20224. invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
  20225. if s.ConversionTaskId == nil {
  20226. invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
  20227. }
  20228. if invalidParams.Len() > 0 {
  20229. return invalidParams
  20230. }
  20231. return nil
  20232. }
  20233. // SetConversionTaskId sets the ConversionTaskId field's value.
  20234. func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
  20235. s.ConversionTaskId = &v
  20236. return s
  20237. }
  20238. // SetDryRun sets the DryRun field's value.
  20239. func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
  20240. s.DryRun = &v
  20241. return s
  20242. }
  20243. // SetReasonMessage sets the ReasonMessage field's value.
  20244. func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
  20245. s.ReasonMessage = &v
  20246. return s
  20247. }
  20248. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTaskOutput
  20249. type CancelConversionTaskOutput struct {
  20250. _ struct{} `type:"structure"`
  20251. }
  20252. // String returns the string representation
  20253. func (s CancelConversionTaskOutput) String() string {
  20254. return awsutil.Prettify(s)
  20255. }
  20256. // GoString returns the string representation
  20257. func (s CancelConversionTaskOutput) GoString() string {
  20258. return s.String()
  20259. }
  20260. // Contains the parameters for CancelExportTask.
  20261. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskRequest
  20262. type CancelExportTaskInput struct {
  20263. _ struct{} `type:"structure"`
  20264. // The ID of the export task. This is the ID returned by CreateInstanceExportTask.
  20265. //
  20266. // ExportTaskId is a required field
  20267. ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
  20268. }
  20269. // String returns the string representation
  20270. func (s CancelExportTaskInput) String() string {
  20271. return awsutil.Prettify(s)
  20272. }
  20273. // GoString returns the string representation
  20274. func (s CancelExportTaskInput) GoString() string {
  20275. return s.String()
  20276. }
  20277. // Validate inspects the fields of the type to determine if they are valid.
  20278. func (s *CancelExportTaskInput) Validate() error {
  20279. invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
  20280. if s.ExportTaskId == nil {
  20281. invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
  20282. }
  20283. if invalidParams.Len() > 0 {
  20284. return invalidParams
  20285. }
  20286. return nil
  20287. }
  20288. // SetExportTaskId sets the ExportTaskId field's value.
  20289. func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
  20290. s.ExportTaskId = &v
  20291. return s
  20292. }
  20293. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTaskOutput
  20294. type CancelExportTaskOutput struct {
  20295. _ struct{} `type:"structure"`
  20296. }
  20297. // String returns the string representation
  20298. func (s CancelExportTaskOutput) String() string {
  20299. return awsutil.Prettify(s)
  20300. }
  20301. // GoString returns the string representation
  20302. func (s CancelExportTaskOutput) GoString() string {
  20303. return s.String()
  20304. }
  20305. // Contains the parameters for CancelImportTask.
  20306. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskRequest
  20307. type CancelImportTaskInput struct {
  20308. _ struct{} `type:"structure"`
  20309. // The reason for canceling the task.
  20310. CancelReason *string `type:"string"`
  20311. // Checks whether you have the required permissions for the action, without
  20312. // actually making the request, and provides an error response. If you have
  20313. // the required permissions, the error response is DryRunOperation. Otherwise,
  20314. // it is UnauthorizedOperation.
  20315. DryRun *bool `type:"boolean"`
  20316. // The ID of the import image or import snapshot task to be canceled.
  20317. ImportTaskId *string `type:"string"`
  20318. }
  20319. // String returns the string representation
  20320. func (s CancelImportTaskInput) String() string {
  20321. return awsutil.Prettify(s)
  20322. }
  20323. // GoString returns the string representation
  20324. func (s CancelImportTaskInput) GoString() string {
  20325. return s.String()
  20326. }
  20327. // SetCancelReason sets the CancelReason field's value.
  20328. func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
  20329. s.CancelReason = &v
  20330. return s
  20331. }
  20332. // SetDryRun sets the DryRun field's value.
  20333. func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
  20334. s.DryRun = &v
  20335. return s
  20336. }
  20337. // SetImportTaskId sets the ImportTaskId field's value.
  20338. func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
  20339. s.ImportTaskId = &v
  20340. return s
  20341. }
  20342. // Contains the output for CancelImportTask.
  20343. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTaskResult
  20344. type CancelImportTaskOutput struct {
  20345. _ struct{} `type:"structure"`
  20346. // The ID of the task being canceled.
  20347. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  20348. // The current state of the task being canceled.
  20349. PreviousState *string `locationName:"previousState" type:"string"`
  20350. // The current state of the task being canceled.
  20351. State *string `locationName:"state" type:"string"`
  20352. }
  20353. // String returns the string representation
  20354. func (s CancelImportTaskOutput) String() string {
  20355. return awsutil.Prettify(s)
  20356. }
  20357. // GoString returns the string representation
  20358. func (s CancelImportTaskOutput) GoString() string {
  20359. return s.String()
  20360. }
  20361. // SetImportTaskId sets the ImportTaskId field's value.
  20362. func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
  20363. s.ImportTaskId = &v
  20364. return s
  20365. }
  20366. // SetPreviousState sets the PreviousState field's value.
  20367. func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
  20368. s.PreviousState = &v
  20369. return s
  20370. }
  20371. // SetState sets the State field's value.
  20372. func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
  20373. s.State = &v
  20374. return s
  20375. }
  20376. // Contains the parameters for CancelReservedInstancesListing.
  20377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingRequest
  20378. type CancelReservedInstancesListingInput struct {
  20379. _ struct{} `type:"structure"`
  20380. // The ID of the Reserved Instance listing.
  20381. //
  20382. // ReservedInstancesListingId is a required field
  20383. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
  20384. }
  20385. // String returns the string representation
  20386. func (s CancelReservedInstancesListingInput) String() string {
  20387. return awsutil.Prettify(s)
  20388. }
  20389. // GoString returns the string representation
  20390. func (s CancelReservedInstancesListingInput) GoString() string {
  20391. return s.String()
  20392. }
  20393. // Validate inspects the fields of the type to determine if they are valid.
  20394. func (s *CancelReservedInstancesListingInput) Validate() error {
  20395. invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
  20396. if s.ReservedInstancesListingId == nil {
  20397. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
  20398. }
  20399. if invalidParams.Len() > 0 {
  20400. return invalidParams
  20401. }
  20402. return nil
  20403. }
  20404. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  20405. func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
  20406. s.ReservedInstancesListingId = &v
  20407. return s
  20408. }
  20409. // Contains the output of CancelReservedInstancesListing.
  20410. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListingResult
  20411. type CancelReservedInstancesListingOutput struct {
  20412. _ struct{} `type:"structure"`
  20413. // The Reserved Instance listing.
  20414. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  20415. }
  20416. // String returns the string representation
  20417. func (s CancelReservedInstancesListingOutput) String() string {
  20418. return awsutil.Prettify(s)
  20419. }
  20420. // GoString returns the string representation
  20421. func (s CancelReservedInstancesListingOutput) GoString() string {
  20422. return s.String()
  20423. }
  20424. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  20425. func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
  20426. s.ReservedInstancesListings = v
  20427. return s
  20428. }
  20429. // Describes a Spot fleet error.
  20430. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsError
  20431. type CancelSpotFleetRequestsError struct {
  20432. _ struct{} `type:"structure"`
  20433. // The error code.
  20434. //
  20435. // Code is a required field
  20436. Code *string `locationName:"code" type:"string" required:"true" enum:"CancelBatchErrorCode"`
  20437. // The description for the error code.
  20438. //
  20439. // Message is a required field
  20440. Message *string `locationName:"message" type:"string" required:"true"`
  20441. }
  20442. // String returns the string representation
  20443. func (s CancelSpotFleetRequestsError) String() string {
  20444. return awsutil.Prettify(s)
  20445. }
  20446. // GoString returns the string representation
  20447. func (s CancelSpotFleetRequestsError) GoString() string {
  20448. return s.String()
  20449. }
  20450. // SetCode sets the Code field's value.
  20451. func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
  20452. s.Code = &v
  20453. return s
  20454. }
  20455. // SetMessage sets the Message field's value.
  20456. func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
  20457. s.Message = &v
  20458. return s
  20459. }
  20460. // Describes a Spot fleet request that was not successfully canceled.
  20461. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsErrorItem
  20462. type CancelSpotFleetRequestsErrorItem struct {
  20463. _ struct{} `type:"structure"`
  20464. // The error.
  20465. //
  20466. // Error is a required field
  20467. Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure" required:"true"`
  20468. // The ID of the Spot fleet request.
  20469. //
  20470. // SpotFleetRequestId is a required field
  20471. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20472. }
  20473. // String returns the string representation
  20474. func (s CancelSpotFleetRequestsErrorItem) String() string {
  20475. return awsutil.Prettify(s)
  20476. }
  20477. // GoString returns the string representation
  20478. func (s CancelSpotFleetRequestsErrorItem) GoString() string {
  20479. return s.String()
  20480. }
  20481. // SetError sets the Error field's value.
  20482. func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
  20483. s.Error = v
  20484. return s
  20485. }
  20486. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  20487. func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
  20488. s.SpotFleetRequestId = &v
  20489. return s
  20490. }
  20491. // Contains the parameters for CancelSpotFleetRequests.
  20492. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsRequest
  20493. type CancelSpotFleetRequestsInput struct {
  20494. _ struct{} `type:"structure"`
  20495. // Checks whether you have the required permissions for the action, without
  20496. // actually making the request, and provides an error response. If you have
  20497. // the required permissions, the error response is DryRunOperation. Otherwise,
  20498. // it is UnauthorizedOperation.
  20499. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20500. // The IDs of the Spot fleet requests.
  20501. //
  20502. // SpotFleetRequestIds is a required field
  20503. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
  20504. // Indicates whether to terminate instances for a Spot fleet request if it is
  20505. // canceled successfully.
  20506. //
  20507. // TerminateInstances is a required field
  20508. TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
  20509. }
  20510. // String returns the string representation
  20511. func (s CancelSpotFleetRequestsInput) String() string {
  20512. return awsutil.Prettify(s)
  20513. }
  20514. // GoString returns the string representation
  20515. func (s CancelSpotFleetRequestsInput) GoString() string {
  20516. return s.String()
  20517. }
  20518. // Validate inspects the fields of the type to determine if they are valid.
  20519. func (s *CancelSpotFleetRequestsInput) Validate() error {
  20520. invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
  20521. if s.SpotFleetRequestIds == nil {
  20522. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
  20523. }
  20524. if s.TerminateInstances == nil {
  20525. invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
  20526. }
  20527. if invalidParams.Len() > 0 {
  20528. return invalidParams
  20529. }
  20530. return nil
  20531. }
  20532. // SetDryRun sets the DryRun field's value.
  20533. func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
  20534. s.DryRun = &v
  20535. return s
  20536. }
  20537. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  20538. func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
  20539. s.SpotFleetRequestIds = v
  20540. return s
  20541. }
  20542. // SetTerminateInstances sets the TerminateInstances field's value.
  20543. func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
  20544. s.TerminateInstances = &v
  20545. return s
  20546. }
  20547. // Contains the output of CancelSpotFleetRequests.
  20548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsResponse
  20549. type CancelSpotFleetRequestsOutput struct {
  20550. _ struct{} `type:"structure"`
  20551. // Information about the Spot fleet requests that are successfully canceled.
  20552. SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
  20553. // Information about the Spot fleet requests that are not successfully canceled.
  20554. UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
  20555. }
  20556. // String returns the string representation
  20557. func (s CancelSpotFleetRequestsOutput) String() string {
  20558. return awsutil.Prettify(s)
  20559. }
  20560. // GoString returns the string representation
  20561. func (s CancelSpotFleetRequestsOutput) GoString() string {
  20562. return s.String()
  20563. }
  20564. // SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
  20565. func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
  20566. s.SuccessfulFleetRequests = v
  20567. return s
  20568. }
  20569. // SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
  20570. func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
  20571. s.UnsuccessfulFleetRequests = v
  20572. return s
  20573. }
  20574. // Describes a Spot fleet request that was successfully canceled.
  20575. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequestsSuccessItem
  20576. type CancelSpotFleetRequestsSuccessItem struct {
  20577. _ struct{} `type:"structure"`
  20578. // The current state of the Spot fleet request.
  20579. //
  20580. // CurrentSpotFleetRequestState is a required field
  20581. CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  20582. // The previous state of the Spot fleet request.
  20583. //
  20584. // PreviousSpotFleetRequestState is a required field
  20585. PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  20586. // The ID of the Spot fleet request.
  20587. //
  20588. // SpotFleetRequestId is a required field
  20589. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  20590. }
  20591. // String returns the string representation
  20592. func (s CancelSpotFleetRequestsSuccessItem) String() string {
  20593. return awsutil.Prettify(s)
  20594. }
  20595. // GoString returns the string representation
  20596. func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
  20597. return s.String()
  20598. }
  20599. // SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
  20600. func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  20601. s.CurrentSpotFleetRequestState = &v
  20602. return s
  20603. }
  20604. // SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
  20605. func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
  20606. s.PreviousSpotFleetRequestState = &v
  20607. return s
  20608. }
  20609. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  20610. func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
  20611. s.SpotFleetRequestId = &v
  20612. return s
  20613. }
  20614. // Contains the parameters for CancelSpotInstanceRequests.
  20615. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsRequest
  20616. type CancelSpotInstanceRequestsInput struct {
  20617. _ struct{} `type:"structure"`
  20618. // Checks whether you have the required permissions for the action, without
  20619. // actually making the request, and provides an error response. If you have
  20620. // the required permissions, the error response is DryRunOperation. Otherwise,
  20621. // it is UnauthorizedOperation.
  20622. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20623. // One or more Spot instance request IDs.
  20624. //
  20625. // SpotInstanceRequestIds is a required field
  20626. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
  20627. }
  20628. // String returns the string representation
  20629. func (s CancelSpotInstanceRequestsInput) String() string {
  20630. return awsutil.Prettify(s)
  20631. }
  20632. // GoString returns the string representation
  20633. func (s CancelSpotInstanceRequestsInput) GoString() string {
  20634. return s.String()
  20635. }
  20636. // Validate inspects the fields of the type to determine if they are valid.
  20637. func (s *CancelSpotInstanceRequestsInput) Validate() error {
  20638. invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
  20639. if s.SpotInstanceRequestIds == nil {
  20640. invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
  20641. }
  20642. if invalidParams.Len() > 0 {
  20643. return invalidParams
  20644. }
  20645. return nil
  20646. }
  20647. // SetDryRun sets the DryRun field's value.
  20648. func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
  20649. s.DryRun = &v
  20650. return s
  20651. }
  20652. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  20653. func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
  20654. s.SpotInstanceRequestIds = v
  20655. return s
  20656. }
  20657. // Contains the output of CancelSpotInstanceRequests.
  20658. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequestsResult
  20659. type CancelSpotInstanceRequestsOutput struct {
  20660. _ struct{} `type:"structure"`
  20661. // One or more Spot instance requests.
  20662. CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  20663. }
  20664. // String returns the string representation
  20665. func (s CancelSpotInstanceRequestsOutput) String() string {
  20666. return awsutil.Prettify(s)
  20667. }
  20668. // GoString returns the string representation
  20669. func (s CancelSpotInstanceRequestsOutput) GoString() string {
  20670. return s.String()
  20671. }
  20672. // SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
  20673. func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
  20674. s.CancelledSpotInstanceRequests = v
  20675. return s
  20676. }
  20677. // Describes a request to cancel a Spot instance.
  20678. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelledSpotInstanceRequest
  20679. type CancelledSpotInstanceRequest struct {
  20680. _ struct{} `type:"structure"`
  20681. // The ID of the Spot instance request.
  20682. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  20683. // The state of the Spot instance request.
  20684. State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
  20685. }
  20686. // String returns the string representation
  20687. func (s CancelledSpotInstanceRequest) String() string {
  20688. return awsutil.Prettify(s)
  20689. }
  20690. // GoString returns the string representation
  20691. func (s CancelledSpotInstanceRequest) GoString() string {
  20692. return s.String()
  20693. }
  20694. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  20695. func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
  20696. s.SpotInstanceRequestId = &v
  20697. return s
  20698. }
  20699. // SetState sets the State field's value.
  20700. func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
  20701. s.State = &v
  20702. return s
  20703. }
  20704. // Describes the ClassicLink DNS support status of a VPC.
  20705. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkDnsSupport
  20706. type ClassicLinkDnsSupport struct {
  20707. _ struct{} `type:"structure"`
  20708. // Indicates whether ClassicLink DNS support is enabled for the VPC.
  20709. ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
  20710. // The ID of the VPC.
  20711. VpcId *string `locationName:"vpcId" type:"string"`
  20712. }
  20713. // String returns the string representation
  20714. func (s ClassicLinkDnsSupport) String() string {
  20715. return awsutil.Prettify(s)
  20716. }
  20717. // GoString returns the string representation
  20718. func (s ClassicLinkDnsSupport) GoString() string {
  20719. return s.String()
  20720. }
  20721. // SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
  20722. func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
  20723. s.ClassicLinkDnsSupported = &v
  20724. return s
  20725. }
  20726. // SetVpcId sets the VpcId field's value.
  20727. func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
  20728. s.VpcId = &v
  20729. return s
  20730. }
  20731. // Describes a linked EC2-Classic instance.
  20732. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClassicLinkInstance
  20733. type ClassicLinkInstance struct {
  20734. _ struct{} `type:"structure"`
  20735. // A list of security groups.
  20736. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  20737. // The ID of the instance.
  20738. InstanceId *string `locationName:"instanceId" type:"string"`
  20739. // Any tags assigned to the instance.
  20740. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  20741. // The ID of the VPC.
  20742. VpcId *string `locationName:"vpcId" type:"string"`
  20743. }
  20744. // String returns the string representation
  20745. func (s ClassicLinkInstance) String() string {
  20746. return awsutil.Prettify(s)
  20747. }
  20748. // GoString returns the string representation
  20749. func (s ClassicLinkInstance) GoString() string {
  20750. return s.String()
  20751. }
  20752. // SetGroups sets the Groups field's value.
  20753. func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
  20754. s.Groups = v
  20755. return s
  20756. }
  20757. // SetInstanceId sets the InstanceId field's value.
  20758. func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
  20759. s.InstanceId = &v
  20760. return s
  20761. }
  20762. // SetTags sets the Tags field's value.
  20763. func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
  20764. s.Tags = v
  20765. return s
  20766. }
  20767. // SetVpcId sets the VpcId field's value.
  20768. func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
  20769. s.VpcId = &v
  20770. return s
  20771. }
  20772. // Describes the client-specific data.
  20773. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ClientData
  20774. type ClientData struct {
  20775. _ struct{} `type:"structure"`
  20776. // A user-defined comment about the disk upload.
  20777. Comment *string `type:"string"`
  20778. // The time that the disk upload ends.
  20779. UploadEnd *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  20780. // The size of the uploaded disk image, in GiB.
  20781. UploadSize *float64 `type:"double"`
  20782. // The time that the disk upload starts.
  20783. UploadStart *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  20784. }
  20785. // String returns the string representation
  20786. func (s ClientData) String() string {
  20787. return awsutil.Prettify(s)
  20788. }
  20789. // GoString returns the string representation
  20790. func (s ClientData) GoString() string {
  20791. return s.String()
  20792. }
  20793. // SetComment sets the Comment field's value.
  20794. func (s *ClientData) SetComment(v string) *ClientData {
  20795. s.Comment = &v
  20796. return s
  20797. }
  20798. // SetUploadEnd sets the UploadEnd field's value.
  20799. func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
  20800. s.UploadEnd = &v
  20801. return s
  20802. }
  20803. // SetUploadSize sets the UploadSize field's value.
  20804. func (s *ClientData) SetUploadSize(v float64) *ClientData {
  20805. s.UploadSize = &v
  20806. return s
  20807. }
  20808. // SetUploadStart sets the UploadStart field's value.
  20809. func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
  20810. s.UploadStart = &v
  20811. return s
  20812. }
  20813. // Contains the parameters for ConfirmProductInstance.
  20814. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceRequest
  20815. type ConfirmProductInstanceInput struct {
  20816. _ struct{} `type:"structure"`
  20817. // Checks whether you have the required permissions for the action, without
  20818. // actually making the request, and provides an error response. If you have
  20819. // the required permissions, the error response is DryRunOperation. Otherwise,
  20820. // it is UnauthorizedOperation.
  20821. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20822. // The ID of the instance.
  20823. //
  20824. // InstanceId is a required field
  20825. InstanceId *string `type:"string" required:"true"`
  20826. // The product code. This must be a product code that you own.
  20827. //
  20828. // ProductCode is a required field
  20829. ProductCode *string `type:"string" required:"true"`
  20830. }
  20831. // String returns the string representation
  20832. func (s ConfirmProductInstanceInput) String() string {
  20833. return awsutil.Prettify(s)
  20834. }
  20835. // GoString returns the string representation
  20836. func (s ConfirmProductInstanceInput) GoString() string {
  20837. return s.String()
  20838. }
  20839. // Validate inspects the fields of the type to determine if they are valid.
  20840. func (s *ConfirmProductInstanceInput) Validate() error {
  20841. invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
  20842. if s.InstanceId == nil {
  20843. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  20844. }
  20845. if s.ProductCode == nil {
  20846. invalidParams.Add(request.NewErrParamRequired("ProductCode"))
  20847. }
  20848. if invalidParams.Len() > 0 {
  20849. return invalidParams
  20850. }
  20851. return nil
  20852. }
  20853. // SetDryRun sets the DryRun field's value.
  20854. func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
  20855. s.DryRun = &v
  20856. return s
  20857. }
  20858. // SetInstanceId sets the InstanceId field's value.
  20859. func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
  20860. s.InstanceId = &v
  20861. return s
  20862. }
  20863. // SetProductCode sets the ProductCode field's value.
  20864. func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
  20865. s.ProductCode = &v
  20866. return s
  20867. }
  20868. // Contains the output of ConfirmProductInstance.
  20869. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstanceResult
  20870. type ConfirmProductInstanceOutput struct {
  20871. _ struct{} `type:"structure"`
  20872. // The AWS account ID of the instance owner. This is only present if the product
  20873. // code is attached to the instance.
  20874. OwnerId *string `locationName:"ownerId" type:"string"`
  20875. // The return value of the request. Returns true if the specified product code
  20876. // is owned by the requester and associated with the specified instance.
  20877. Return *bool `locationName:"return" type:"boolean"`
  20878. }
  20879. // String returns the string representation
  20880. func (s ConfirmProductInstanceOutput) String() string {
  20881. return awsutil.Prettify(s)
  20882. }
  20883. // GoString returns the string representation
  20884. func (s ConfirmProductInstanceOutput) GoString() string {
  20885. return s.String()
  20886. }
  20887. // SetOwnerId sets the OwnerId field's value.
  20888. func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
  20889. s.OwnerId = &v
  20890. return s
  20891. }
  20892. // SetReturn sets the Return field's value.
  20893. func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
  20894. s.Return = &v
  20895. return s
  20896. }
  20897. // Describes a conversion task.
  20898. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConversionTask
  20899. type ConversionTask struct {
  20900. _ struct{} `type:"structure"`
  20901. // The ID of the conversion task.
  20902. //
  20903. // ConversionTaskId is a required field
  20904. ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
  20905. // The time when the task expires. If the upload isn't complete before the expiration
  20906. // time, we automatically cancel the task.
  20907. ExpirationTime *string `locationName:"expirationTime" type:"string"`
  20908. // If the task is for importing an instance, this contains information about
  20909. // the import instance task.
  20910. ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
  20911. // If the task is for importing a volume, this contains information about the
  20912. // import volume task.
  20913. ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
  20914. // The state of the conversion task.
  20915. //
  20916. // State is a required field
  20917. State *string `locationName:"state" type:"string" required:"true" enum:"ConversionTaskState"`
  20918. // The status message related to the conversion task.
  20919. StatusMessage *string `locationName:"statusMessage" type:"string"`
  20920. // Any tags assigned to the task.
  20921. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  20922. }
  20923. // String returns the string representation
  20924. func (s ConversionTask) String() string {
  20925. return awsutil.Prettify(s)
  20926. }
  20927. // GoString returns the string representation
  20928. func (s ConversionTask) GoString() string {
  20929. return s.String()
  20930. }
  20931. // SetConversionTaskId sets the ConversionTaskId field's value.
  20932. func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
  20933. s.ConversionTaskId = &v
  20934. return s
  20935. }
  20936. // SetExpirationTime sets the ExpirationTime field's value.
  20937. func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
  20938. s.ExpirationTime = &v
  20939. return s
  20940. }
  20941. // SetImportInstance sets the ImportInstance field's value.
  20942. func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
  20943. s.ImportInstance = v
  20944. return s
  20945. }
  20946. // SetImportVolume sets the ImportVolume field's value.
  20947. func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
  20948. s.ImportVolume = v
  20949. return s
  20950. }
  20951. // SetState sets the State field's value.
  20952. func (s *ConversionTask) SetState(v string) *ConversionTask {
  20953. s.State = &v
  20954. return s
  20955. }
  20956. // SetStatusMessage sets the StatusMessage field's value.
  20957. func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
  20958. s.StatusMessage = &v
  20959. return s
  20960. }
  20961. // SetTags sets the Tags field's value.
  20962. func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
  20963. s.Tags = v
  20964. return s
  20965. }
  20966. // Contains the parameters for CopyImage.
  20967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageRequest
  20968. type CopyImageInput struct {
  20969. _ struct{} `type:"structure"`
  20970. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  20971. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  20972. // in the Amazon Elastic Compute Cloud User Guide.
  20973. ClientToken *string `type:"string"`
  20974. // A description for the new AMI in the destination region.
  20975. Description *string `type:"string"`
  20976. // Checks whether you have the required permissions for the action, without
  20977. // actually making the request, and provides an error response. If you have
  20978. // the required permissions, the error response is DryRunOperation. Otherwise,
  20979. // it is UnauthorizedOperation.
  20980. DryRun *bool `locationName:"dryRun" type:"boolean"`
  20981. // Specifies whether the destination snapshots of the copied image should be
  20982. // encrypted. The default CMK for EBS is used unless a non-default AWS Key Management
  20983. // Service (AWS KMS) CMK is specified with KmsKeyId. For more information, see
  20984. // Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  20985. // in the Amazon Elastic Compute Cloud User Guide.
  20986. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  20987. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  20988. // encrypting the snapshots of an image during a copy operation. This parameter
  20989. // is only required if you want to use a non-default CMK; if this parameter
  20990. // is not specified, the default CMK for EBS is used. The ARN contains the arn:aws:kms
  20991. // namespace, followed by the region of the CMK, the AWS account ID of the CMK
  20992. // owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  20993. // The specified CMK must exist in the region that the snapshot is being copied
  20994. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  20995. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  20996. // The name of the new AMI in the destination region.
  20997. //
  20998. // Name is a required field
  20999. Name *string `type:"string" required:"true"`
  21000. // The ID of the AMI to copy.
  21001. //
  21002. // SourceImageId is a required field
  21003. SourceImageId *string `type:"string" required:"true"`
  21004. // The name of the region that contains the AMI to copy.
  21005. //
  21006. // SourceRegion is a required field
  21007. SourceRegion *string `type:"string" required:"true"`
  21008. }
  21009. // String returns the string representation
  21010. func (s CopyImageInput) String() string {
  21011. return awsutil.Prettify(s)
  21012. }
  21013. // GoString returns the string representation
  21014. func (s CopyImageInput) GoString() string {
  21015. return s.String()
  21016. }
  21017. // Validate inspects the fields of the type to determine if they are valid.
  21018. func (s *CopyImageInput) Validate() error {
  21019. invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
  21020. if s.Name == nil {
  21021. invalidParams.Add(request.NewErrParamRequired("Name"))
  21022. }
  21023. if s.SourceImageId == nil {
  21024. invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
  21025. }
  21026. if s.SourceRegion == nil {
  21027. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  21028. }
  21029. if invalidParams.Len() > 0 {
  21030. return invalidParams
  21031. }
  21032. return nil
  21033. }
  21034. // SetClientToken sets the ClientToken field's value.
  21035. func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
  21036. s.ClientToken = &v
  21037. return s
  21038. }
  21039. // SetDescription sets the Description field's value.
  21040. func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
  21041. s.Description = &v
  21042. return s
  21043. }
  21044. // SetDryRun sets the DryRun field's value.
  21045. func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
  21046. s.DryRun = &v
  21047. return s
  21048. }
  21049. // SetEncrypted sets the Encrypted field's value.
  21050. func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
  21051. s.Encrypted = &v
  21052. return s
  21053. }
  21054. // SetKmsKeyId sets the KmsKeyId field's value.
  21055. func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
  21056. s.KmsKeyId = &v
  21057. return s
  21058. }
  21059. // SetName sets the Name field's value.
  21060. func (s *CopyImageInput) SetName(v string) *CopyImageInput {
  21061. s.Name = &v
  21062. return s
  21063. }
  21064. // SetSourceImageId sets the SourceImageId field's value.
  21065. func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
  21066. s.SourceImageId = &v
  21067. return s
  21068. }
  21069. // SetSourceRegion sets the SourceRegion field's value.
  21070. func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
  21071. s.SourceRegion = &v
  21072. return s
  21073. }
  21074. // Contains the output of CopyImage.
  21075. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImageResult
  21076. type CopyImageOutput struct {
  21077. _ struct{} `type:"structure"`
  21078. // The ID of the new AMI.
  21079. ImageId *string `locationName:"imageId" type:"string"`
  21080. }
  21081. // String returns the string representation
  21082. func (s CopyImageOutput) String() string {
  21083. return awsutil.Prettify(s)
  21084. }
  21085. // GoString returns the string representation
  21086. func (s CopyImageOutput) GoString() string {
  21087. return s.String()
  21088. }
  21089. // SetImageId sets the ImageId field's value.
  21090. func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
  21091. s.ImageId = &v
  21092. return s
  21093. }
  21094. // Contains the parameters for CopySnapshot.
  21095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotRequest
  21096. type CopySnapshotInput struct {
  21097. _ struct{} `type:"structure"`
  21098. // A description for the EBS snapshot.
  21099. Description *string `type:"string"`
  21100. // The destination region to use in the PresignedUrl parameter of a snapshot
  21101. // copy operation. This parameter is only valid for specifying the destination
  21102. // region in a PresignedUrl parameter, where it is required.
  21103. //
  21104. // CopySnapshot sends the snapshot copy to the regional endpoint that you send
  21105. // the HTTP request to, such as ec2.us-east-1.amazonaws.com (in the AWS CLI,
  21106. // this is specified with the --region parameter or the default region in your
  21107. // AWS configuration file).
  21108. DestinationRegion *string `locationName:"destinationRegion" type:"string"`
  21109. // Checks whether you have the required permissions for the action, without
  21110. // actually making the request, and provides an error response. If you have
  21111. // the required permissions, the error response is DryRunOperation. Otherwise,
  21112. // it is UnauthorizedOperation.
  21113. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21114. // Specifies whether the destination snapshot should be encrypted. You can encrypt
  21115. // a copy of an unencrypted snapshot using this flag, but you cannot use it
  21116. // to create an unencrypted copy from an encrypted snapshot. Your default CMK
  21117. // for EBS is used unless a non-default AWS Key Management Service (AWS KMS)
  21118. // CMK is specified with KmsKeyId. For more information, see Amazon EBS Encryption
  21119. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) in
  21120. // the Amazon Elastic Compute Cloud User Guide.
  21121. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  21122. // The full ARN of the AWS Key Management Service (AWS KMS) CMK to use when
  21123. // creating the snapshot copy. This parameter is only required if you want to
  21124. // use a non-default CMK; if this parameter is not specified, the default CMK
  21125. // for EBS is used. The ARN contains the arn:aws:kms namespace, followed by
  21126. // the region of the CMK, the AWS account ID of the CMK owner, the key namespace,
  21127. // and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  21128. // The specified CMK must exist in the region that the snapshot is being copied
  21129. // to. If a KmsKeyId is specified, the Encrypted flag must also be set.
  21130. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  21131. // The pre-signed URL that facilitates copying an encrypted snapshot. This parameter
  21132. // is only required when copying an encrypted snapshot with the Amazon EC2 Query
  21133. // API; it is available as an optional parameter in all other cases. The PresignedUrl
  21134. // should use the snapshot source endpoint, the CopySnapshot action, and include
  21135. // the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The
  21136. // PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots
  21137. // are stored in Amazon S3, the signing algorithm for this parameter uses the
  21138. // same logic that is described in Authenticating Requests by Using Query Parameters
  21139. // (AWS Signature Version 4) (http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
  21140. // in the Amazon Simple Storage Service API Reference. An invalid or improperly
  21141. // signed PresignedUrl will cause the copy operation to fail asynchronously,
  21142. // and the snapshot will move to an error state.
  21143. PresignedUrl *string `locationName:"presignedUrl" type:"string"`
  21144. // The ID of the region that contains the snapshot to be copied.
  21145. //
  21146. // SourceRegion is a required field
  21147. SourceRegion *string `type:"string" required:"true"`
  21148. // The ID of the EBS snapshot to copy.
  21149. //
  21150. // SourceSnapshotId is a required field
  21151. SourceSnapshotId *string `type:"string" required:"true"`
  21152. }
  21153. // String returns the string representation
  21154. func (s CopySnapshotInput) String() string {
  21155. return awsutil.Prettify(s)
  21156. }
  21157. // GoString returns the string representation
  21158. func (s CopySnapshotInput) GoString() string {
  21159. return s.String()
  21160. }
  21161. // Validate inspects the fields of the type to determine if they are valid.
  21162. func (s *CopySnapshotInput) Validate() error {
  21163. invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
  21164. if s.SourceRegion == nil {
  21165. invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
  21166. }
  21167. if s.SourceSnapshotId == nil {
  21168. invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
  21169. }
  21170. if invalidParams.Len() > 0 {
  21171. return invalidParams
  21172. }
  21173. return nil
  21174. }
  21175. // SetDescription sets the Description field's value.
  21176. func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
  21177. s.Description = &v
  21178. return s
  21179. }
  21180. // SetDestinationRegion sets the DestinationRegion field's value.
  21181. func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
  21182. s.DestinationRegion = &v
  21183. return s
  21184. }
  21185. // SetDryRun sets the DryRun field's value.
  21186. func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
  21187. s.DryRun = &v
  21188. return s
  21189. }
  21190. // SetEncrypted sets the Encrypted field's value.
  21191. func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
  21192. s.Encrypted = &v
  21193. return s
  21194. }
  21195. // SetKmsKeyId sets the KmsKeyId field's value.
  21196. func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
  21197. s.KmsKeyId = &v
  21198. return s
  21199. }
  21200. // SetPresignedUrl sets the PresignedUrl field's value.
  21201. func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
  21202. s.PresignedUrl = &v
  21203. return s
  21204. }
  21205. // SetSourceRegion sets the SourceRegion field's value.
  21206. func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
  21207. s.SourceRegion = &v
  21208. return s
  21209. }
  21210. // SetSourceSnapshotId sets the SourceSnapshotId field's value.
  21211. func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
  21212. s.SourceSnapshotId = &v
  21213. return s
  21214. }
  21215. // Contains the output of CopySnapshot.
  21216. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshotResult
  21217. type CopySnapshotOutput struct {
  21218. _ struct{} `type:"structure"`
  21219. // The ID of the new snapshot.
  21220. SnapshotId *string `locationName:"snapshotId" type:"string"`
  21221. }
  21222. // String returns the string representation
  21223. func (s CopySnapshotOutput) String() string {
  21224. return awsutil.Prettify(s)
  21225. }
  21226. // GoString returns the string representation
  21227. func (s CopySnapshotOutput) GoString() string {
  21228. return s.String()
  21229. }
  21230. // SetSnapshotId sets the SnapshotId field's value.
  21231. func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
  21232. s.SnapshotId = &v
  21233. return s
  21234. }
  21235. // Contains the parameters for CreateCustomerGateway.
  21236. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayRequest
  21237. type CreateCustomerGatewayInput struct {
  21238. _ struct{} `type:"structure"`
  21239. // For devices that support BGP, the customer gateway's BGP ASN.
  21240. //
  21241. // Default: 65000
  21242. //
  21243. // BgpAsn is a required field
  21244. BgpAsn *int64 `type:"integer" required:"true"`
  21245. // Checks whether you have the required permissions for the action, without
  21246. // actually making the request, and provides an error response. If you have
  21247. // the required permissions, the error response is DryRunOperation. Otherwise,
  21248. // it is UnauthorizedOperation.
  21249. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21250. // The Internet-routable IP address for the customer gateway's outside interface.
  21251. // The address must be static.
  21252. //
  21253. // PublicIp is a required field
  21254. PublicIp *string `locationName:"IpAddress" type:"string" required:"true"`
  21255. // The type of VPN connection that this customer gateway supports (ipsec.1).
  21256. //
  21257. // Type is a required field
  21258. Type *string `type:"string" required:"true" enum:"GatewayType"`
  21259. }
  21260. // String returns the string representation
  21261. func (s CreateCustomerGatewayInput) String() string {
  21262. return awsutil.Prettify(s)
  21263. }
  21264. // GoString returns the string representation
  21265. func (s CreateCustomerGatewayInput) GoString() string {
  21266. return s.String()
  21267. }
  21268. // Validate inspects the fields of the type to determine if they are valid.
  21269. func (s *CreateCustomerGatewayInput) Validate() error {
  21270. invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
  21271. if s.BgpAsn == nil {
  21272. invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
  21273. }
  21274. if s.PublicIp == nil {
  21275. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  21276. }
  21277. if s.Type == nil {
  21278. invalidParams.Add(request.NewErrParamRequired("Type"))
  21279. }
  21280. if invalidParams.Len() > 0 {
  21281. return invalidParams
  21282. }
  21283. return nil
  21284. }
  21285. // SetBgpAsn sets the BgpAsn field's value.
  21286. func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
  21287. s.BgpAsn = &v
  21288. return s
  21289. }
  21290. // SetDryRun sets the DryRun field's value.
  21291. func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
  21292. s.DryRun = &v
  21293. return s
  21294. }
  21295. // SetPublicIp sets the PublicIp field's value.
  21296. func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
  21297. s.PublicIp = &v
  21298. return s
  21299. }
  21300. // SetType sets the Type field's value.
  21301. func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
  21302. s.Type = &v
  21303. return s
  21304. }
  21305. // Contains the output of CreateCustomerGateway.
  21306. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGatewayResult
  21307. type CreateCustomerGatewayOutput struct {
  21308. _ struct{} `type:"structure"`
  21309. // Information about the customer gateway.
  21310. CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
  21311. }
  21312. // String returns the string representation
  21313. func (s CreateCustomerGatewayOutput) String() string {
  21314. return awsutil.Prettify(s)
  21315. }
  21316. // GoString returns the string representation
  21317. func (s CreateCustomerGatewayOutput) GoString() string {
  21318. return s.String()
  21319. }
  21320. // SetCustomerGateway sets the CustomerGateway field's value.
  21321. func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
  21322. s.CustomerGateway = v
  21323. return s
  21324. }
  21325. // Contains the parameters for CreateDhcpOptions.
  21326. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsRequest
  21327. type CreateDhcpOptionsInput struct {
  21328. _ struct{} `type:"structure"`
  21329. // A DHCP configuration option.
  21330. //
  21331. // DhcpConfigurations is a required field
  21332. DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
  21333. // Checks whether you have the required permissions for the action, without
  21334. // actually making the request, and provides an error response. If you have
  21335. // the required permissions, the error response is DryRunOperation. Otherwise,
  21336. // it is UnauthorizedOperation.
  21337. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21338. }
  21339. // String returns the string representation
  21340. func (s CreateDhcpOptionsInput) String() string {
  21341. return awsutil.Prettify(s)
  21342. }
  21343. // GoString returns the string representation
  21344. func (s CreateDhcpOptionsInput) GoString() string {
  21345. return s.String()
  21346. }
  21347. // Validate inspects the fields of the type to determine if they are valid.
  21348. func (s *CreateDhcpOptionsInput) Validate() error {
  21349. invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
  21350. if s.DhcpConfigurations == nil {
  21351. invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
  21352. }
  21353. if invalidParams.Len() > 0 {
  21354. return invalidParams
  21355. }
  21356. return nil
  21357. }
  21358. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  21359. func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
  21360. s.DhcpConfigurations = v
  21361. return s
  21362. }
  21363. // SetDryRun sets the DryRun field's value.
  21364. func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
  21365. s.DryRun = &v
  21366. return s
  21367. }
  21368. // Contains the output of CreateDhcpOptions.
  21369. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptionsResult
  21370. type CreateDhcpOptionsOutput struct {
  21371. _ struct{} `type:"structure"`
  21372. // A set of DHCP options.
  21373. DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
  21374. }
  21375. // String returns the string representation
  21376. func (s CreateDhcpOptionsOutput) String() string {
  21377. return awsutil.Prettify(s)
  21378. }
  21379. // GoString returns the string representation
  21380. func (s CreateDhcpOptionsOutput) GoString() string {
  21381. return s.String()
  21382. }
  21383. // SetDhcpOptions sets the DhcpOptions field's value.
  21384. func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
  21385. s.DhcpOptions = v
  21386. return s
  21387. }
  21388. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayRequest
  21389. type CreateEgressOnlyInternetGatewayInput struct {
  21390. _ struct{} `type:"structure"`
  21391. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21392. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21393. ClientToken *string `type:"string"`
  21394. // Checks whether you have the required permissions for the action, without
  21395. // actually making the request, and provides an error response. If you have
  21396. // the required permissions, the error response is DryRunOperation. Otherwise,
  21397. // it is UnauthorizedOperation.
  21398. DryRun *bool `type:"boolean"`
  21399. // The ID of the VPC for which to create the egress-only Internet gateway.
  21400. //
  21401. // VpcId is a required field
  21402. VpcId *string `type:"string" required:"true"`
  21403. }
  21404. // String returns the string representation
  21405. func (s CreateEgressOnlyInternetGatewayInput) String() string {
  21406. return awsutil.Prettify(s)
  21407. }
  21408. // GoString returns the string representation
  21409. func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
  21410. return s.String()
  21411. }
  21412. // Validate inspects the fields of the type to determine if they are valid.
  21413. func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
  21414. invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
  21415. if s.VpcId == nil {
  21416. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  21417. }
  21418. if invalidParams.Len() > 0 {
  21419. return invalidParams
  21420. }
  21421. return nil
  21422. }
  21423. // SetClientToken sets the ClientToken field's value.
  21424. func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
  21425. s.ClientToken = &v
  21426. return s
  21427. }
  21428. // SetDryRun sets the DryRun field's value.
  21429. func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
  21430. s.DryRun = &v
  21431. return s
  21432. }
  21433. // SetVpcId sets the VpcId field's value.
  21434. func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
  21435. s.VpcId = &v
  21436. return s
  21437. }
  21438. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGatewayResult
  21439. type CreateEgressOnlyInternetGatewayOutput struct {
  21440. _ struct{} `type:"structure"`
  21441. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21442. // the request.
  21443. ClientToken *string `locationName:"clientToken" type:"string"`
  21444. // Information about the egress-only Internet gateway.
  21445. EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
  21446. }
  21447. // String returns the string representation
  21448. func (s CreateEgressOnlyInternetGatewayOutput) String() string {
  21449. return awsutil.Prettify(s)
  21450. }
  21451. // GoString returns the string representation
  21452. func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
  21453. return s.String()
  21454. }
  21455. // SetClientToken sets the ClientToken field's value.
  21456. func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
  21457. s.ClientToken = &v
  21458. return s
  21459. }
  21460. // SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
  21461. func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
  21462. s.EgressOnlyInternetGateway = v
  21463. return s
  21464. }
  21465. // Contains the parameters for CreateFlowLogs.
  21466. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsRequest
  21467. type CreateFlowLogsInput struct {
  21468. _ struct{} `type:"structure"`
  21469. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21470. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21471. ClientToken *string `type:"string"`
  21472. // The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs
  21473. // log group.
  21474. //
  21475. // DeliverLogsPermissionArn is a required field
  21476. DeliverLogsPermissionArn *string `type:"string" required:"true"`
  21477. // The name of the CloudWatch log group.
  21478. //
  21479. // LogGroupName is a required field
  21480. LogGroupName *string `type:"string" required:"true"`
  21481. // One or more subnet, network interface, or VPC IDs.
  21482. //
  21483. // Constraints: Maximum of 1000 resources
  21484. //
  21485. // ResourceIds is a required field
  21486. ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
  21487. // The type of resource on which to create the flow log.
  21488. //
  21489. // ResourceType is a required field
  21490. ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
  21491. // The type of traffic to log.
  21492. //
  21493. // TrafficType is a required field
  21494. TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
  21495. }
  21496. // String returns the string representation
  21497. func (s CreateFlowLogsInput) String() string {
  21498. return awsutil.Prettify(s)
  21499. }
  21500. // GoString returns the string representation
  21501. func (s CreateFlowLogsInput) GoString() string {
  21502. return s.String()
  21503. }
  21504. // Validate inspects the fields of the type to determine if they are valid.
  21505. func (s *CreateFlowLogsInput) Validate() error {
  21506. invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
  21507. if s.DeliverLogsPermissionArn == nil {
  21508. invalidParams.Add(request.NewErrParamRequired("DeliverLogsPermissionArn"))
  21509. }
  21510. if s.LogGroupName == nil {
  21511. invalidParams.Add(request.NewErrParamRequired("LogGroupName"))
  21512. }
  21513. if s.ResourceIds == nil {
  21514. invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
  21515. }
  21516. if s.ResourceType == nil {
  21517. invalidParams.Add(request.NewErrParamRequired("ResourceType"))
  21518. }
  21519. if s.TrafficType == nil {
  21520. invalidParams.Add(request.NewErrParamRequired("TrafficType"))
  21521. }
  21522. if invalidParams.Len() > 0 {
  21523. return invalidParams
  21524. }
  21525. return nil
  21526. }
  21527. // SetClientToken sets the ClientToken field's value.
  21528. func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
  21529. s.ClientToken = &v
  21530. return s
  21531. }
  21532. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  21533. func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
  21534. s.DeliverLogsPermissionArn = &v
  21535. return s
  21536. }
  21537. // SetLogGroupName sets the LogGroupName field's value.
  21538. func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
  21539. s.LogGroupName = &v
  21540. return s
  21541. }
  21542. // SetResourceIds sets the ResourceIds field's value.
  21543. func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
  21544. s.ResourceIds = v
  21545. return s
  21546. }
  21547. // SetResourceType sets the ResourceType field's value.
  21548. func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
  21549. s.ResourceType = &v
  21550. return s
  21551. }
  21552. // SetTrafficType sets the TrafficType field's value.
  21553. func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
  21554. s.TrafficType = &v
  21555. return s
  21556. }
  21557. // Contains the output of CreateFlowLogs.
  21558. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogsResult
  21559. type CreateFlowLogsOutput struct {
  21560. _ struct{} `type:"structure"`
  21561. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  21562. // the request.
  21563. ClientToken *string `locationName:"clientToken" type:"string"`
  21564. // The IDs of the flow logs.
  21565. FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
  21566. // Information about the flow logs that could not be created successfully.
  21567. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  21568. }
  21569. // String returns the string representation
  21570. func (s CreateFlowLogsOutput) String() string {
  21571. return awsutil.Prettify(s)
  21572. }
  21573. // GoString returns the string representation
  21574. func (s CreateFlowLogsOutput) GoString() string {
  21575. return s.String()
  21576. }
  21577. // SetClientToken sets the ClientToken field's value.
  21578. func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
  21579. s.ClientToken = &v
  21580. return s
  21581. }
  21582. // SetFlowLogIds sets the FlowLogIds field's value.
  21583. func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
  21584. s.FlowLogIds = v
  21585. return s
  21586. }
  21587. // SetUnsuccessful sets the Unsuccessful field's value.
  21588. func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
  21589. s.Unsuccessful = v
  21590. return s
  21591. }
  21592. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageRequest
  21593. type CreateFpgaImageInput struct {
  21594. _ struct{} `type:"structure"`
  21595. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  21596. // of the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
  21597. ClientToken *string `type:"string"`
  21598. // A description for the AFI.
  21599. Description *string `type:"string"`
  21600. // Checks whether you have the required permissions for the action, without
  21601. // actually making the request, and provides an error response. If you have
  21602. // the required permissions, the error response is DryRunOperation. Otherwise,
  21603. // it is UnauthorizedOperation.
  21604. DryRun *bool `type:"boolean"`
  21605. // The location of the encrypted design checkpoint in Amazon S3. The input must
  21606. // be a tarball.
  21607. //
  21608. // InputStorageLocation is a required field
  21609. InputStorageLocation *StorageLocation `type:"structure" required:"true"`
  21610. // The location in Amazon S3 for the output logs.
  21611. LogsStorageLocation *StorageLocation `type:"structure"`
  21612. // A name for the AFI.
  21613. Name *string `type:"string"`
  21614. }
  21615. // String returns the string representation
  21616. func (s CreateFpgaImageInput) String() string {
  21617. return awsutil.Prettify(s)
  21618. }
  21619. // GoString returns the string representation
  21620. func (s CreateFpgaImageInput) GoString() string {
  21621. return s.String()
  21622. }
  21623. // Validate inspects the fields of the type to determine if they are valid.
  21624. func (s *CreateFpgaImageInput) Validate() error {
  21625. invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
  21626. if s.InputStorageLocation == nil {
  21627. invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
  21628. }
  21629. if invalidParams.Len() > 0 {
  21630. return invalidParams
  21631. }
  21632. return nil
  21633. }
  21634. // SetClientToken sets the ClientToken field's value.
  21635. func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
  21636. s.ClientToken = &v
  21637. return s
  21638. }
  21639. // SetDescription sets the Description field's value.
  21640. func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
  21641. s.Description = &v
  21642. return s
  21643. }
  21644. // SetDryRun sets the DryRun field's value.
  21645. func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
  21646. s.DryRun = &v
  21647. return s
  21648. }
  21649. // SetInputStorageLocation sets the InputStorageLocation field's value.
  21650. func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  21651. s.InputStorageLocation = v
  21652. return s
  21653. }
  21654. // SetLogsStorageLocation sets the LogsStorageLocation field's value.
  21655. func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
  21656. s.LogsStorageLocation = v
  21657. return s
  21658. }
  21659. // SetName sets the Name field's value.
  21660. func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
  21661. s.Name = &v
  21662. return s
  21663. }
  21664. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImageResult
  21665. type CreateFpgaImageOutput struct {
  21666. _ struct{} `type:"structure"`
  21667. // The global FPGA image identifier (AGFI ID).
  21668. FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
  21669. // The FPGA image identifier (AFI ID).
  21670. FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
  21671. }
  21672. // String returns the string representation
  21673. func (s CreateFpgaImageOutput) String() string {
  21674. return awsutil.Prettify(s)
  21675. }
  21676. // GoString returns the string representation
  21677. func (s CreateFpgaImageOutput) GoString() string {
  21678. return s.String()
  21679. }
  21680. // SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
  21681. func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
  21682. s.FpgaImageGlobalId = &v
  21683. return s
  21684. }
  21685. // SetFpgaImageId sets the FpgaImageId field's value.
  21686. func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
  21687. s.FpgaImageId = &v
  21688. return s
  21689. }
  21690. // Contains the parameters for CreateImage.
  21691. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageRequest
  21692. type CreateImageInput struct {
  21693. _ struct{} `type:"structure"`
  21694. // Information about one or more block device mappings.
  21695. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  21696. // A description for the new image.
  21697. Description *string `locationName:"description" type:"string"`
  21698. // Checks whether you have the required permissions for the action, without
  21699. // actually making the request, and provides an error response. If you have
  21700. // the required permissions, the error response is DryRunOperation. Otherwise,
  21701. // it is UnauthorizedOperation.
  21702. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21703. // The ID of the instance.
  21704. //
  21705. // InstanceId is a required field
  21706. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21707. // A name for the new image.
  21708. //
  21709. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  21710. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  21711. // at-signs (@), or underscores(_)
  21712. //
  21713. // Name is a required field
  21714. Name *string `locationName:"name" type:"string" required:"true"`
  21715. // By default, Amazon EC2 attempts to shut down and reboot the instance before
  21716. // creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
  21717. // shut down the instance before creating the image. When this option is used,
  21718. // file system integrity on the created image can't be guaranteed.
  21719. NoReboot *bool `locationName:"noReboot" type:"boolean"`
  21720. }
  21721. // String returns the string representation
  21722. func (s CreateImageInput) String() string {
  21723. return awsutil.Prettify(s)
  21724. }
  21725. // GoString returns the string representation
  21726. func (s CreateImageInput) GoString() string {
  21727. return s.String()
  21728. }
  21729. // Validate inspects the fields of the type to determine if they are valid.
  21730. func (s *CreateImageInput) Validate() error {
  21731. invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
  21732. if s.InstanceId == nil {
  21733. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21734. }
  21735. if s.Name == nil {
  21736. invalidParams.Add(request.NewErrParamRequired("Name"))
  21737. }
  21738. if invalidParams.Len() > 0 {
  21739. return invalidParams
  21740. }
  21741. return nil
  21742. }
  21743. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  21744. func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
  21745. s.BlockDeviceMappings = v
  21746. return s
  21747. }
  21748. // SetDescription sets the Description field's value.
  21749. func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
  21750. s.Description = &v
  21751. return s
  21752. }
  21753. // SetDryRun sets the DryRun field's value.
  21754. func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
  21755. s.DryRun = &v
  21756. return s
  21757. }
  21758. // SetInstanceId sets the InstanceId field's value.
  21759. func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
  21760. s.InstanceId = &v
  21761. return s
  21762. }
  21763. // SetName sets the Name field's value.
  21764. func (s *CreateImageInput) SetName(v string) *CreateImageInput {
  21765. s.Name = &v
  21766. return s
  21767. }
  21768. // SetNoReboot sets the NoReboot field's value.
  21769. func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
  21770. s.NoReboot = &v
  21771. return s
  21772. }
  21773. // Contains the output of CreateImage.
  21774. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImageResult
  21775. type CreateImageOutput struct {
  21776. _ struct{} `type:"structure"`
  21777. // The ID of the new AMI.
  21778. ImageId *string `locationName:"imageId" type:"string"`
  21779. }
  21780. // String returns the string representation
  21781. func (s CreateImageOutput) String() string {
  21782. return awsutil.Prettify(s)
  21783. }
  21784. // GoString returns the string representation
  21785. func (s CreateImageOutput) GoString() string {
  21786. return s.String()
  21787. }
  21788. // SetImageId sets the ImageId field's value.
  21789. func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
  21790. s.ImageId = &v
  21791. return s
  21792. }
  21793. // Contains the parameters for CreateInstanceExportTask.
  21794. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskRequest
  21795. type CreateInstanceExportTaskInput struct {
  21796. _ struct{} `type:"structure"`
  21797. // A description for the conversion task or the resource being exported. The
  21798. // maximum length is 255 bytes.
  21799. Description *string `locationName:"description" type:"string"`
  21800. // The format and location for an instance export task.
  21801. ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
  21802. // The ID of the instance.
  21803. //
  21804. // InstanceId is a required field
  21805. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  21806. // The target virtualization environment.
  21807. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  21808. }
  21809. // String returns the string representation
  21810. func (s CreateInstanceExportTaskInput) String() string {
  21811. return awsutil.Prettify(s)
  21812. }
  21813. // GoString returns the string representation
  21814. func (s CreateInstanceExportTaskInput) GoString() string {
  21815. return s.String()
  21816. }
  21817. // Validate inspects the fields of the type to determine if they are valid.
  21818. func (s *CreateInstanceExportTaskInput) Validate() error {
  21819. invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
  21820. if s.InstanceId == nil {
  21821. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  21822. }
  21823. if invalidParams.Len() > 0 {
  21824. return invalidParams
  21825. }
  21826. return nil
  21827. }
  21828. // SetDescription sets the Description field's value.
  21829. func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
  21830. s.Description = &v
  21831. return s
  21832. }
  21833. // SetExportToS3Task sets the ExportToS3Task field's value.
  21834. func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
  21835. s.ExportToS3Task = v
  21836. return s
  21837. }
  21838. // SetInstanceId sets the InstanceId field's value.
  21839. func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
  21840. s.InstanceId = &v
  21841. return s
  21842. }
  21843. // SetTargetEnvironment sets the TargetEnvironment field's value.
  21844. func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
  21845. s.TargetEnvironment = &v
  21846. return s
  21847. }
  21848. // Contains the output for CreateInstanceExportTask.
  21849. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTaskResult
  21850. type CreateInstanceExportTaskOutput struct {
  21851. _ struct{} `type:"structure"`
  21852. // Information about the instance export task.
  21853. ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
  21854. }
  21855. // String returns the string representation
  21856. func (s CreateInstanceExportTaskOutput) String() string {
  21857. return awsutil.Prettify(s)
  21858. }
  21859. // GoString returns the string representation
  21860. func (s CreateInstanceExportTaskOutput) GoString() string {
  21861. return s.String()
  21862. }
  21863. // SetExportTask sets the ExportTask field's value.
  21864. func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
  21865. s.ExportTask = v
  21866. return s
  21867. }
  21868. // Contains the parameters for CreateInternetGateway.
  21869. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayRequest
  21870. type CreateInternetGatewayInput struct {
  21871. _ struct{} `type:"structure"`
  21872. // Checks whether you have the required permissions for the action, without
  21873. // actually making the request, and provides an error response. If you have
  21874. // the required permissions, the error response is DryRunOperation. Otherwise,
  21875. // it is UnauthorizedOperation.
  21876. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21877. }
  21878. // String returns the string representation
  21879. func (s CreateInternetGatewayInput) String() string {
  21880. return awsutil.Prettify(s)
  21881. }
  21882. // GoString returns the string representation
  21883. func (s CreateInternetGatewayInput) GoString() string {
  21884. return s.String()
  21885. }
  21886. // SetDryRun sets the DryRun field's value.
  21887. func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
  21888. s.DryRun = &v
  21889. return s
  21890. }
  21891. // Contains the output of CreateInternetGateway.
  21892. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGatewayResult
  21893. type CreateInternetGatewayOutput struct {
  21894. _ struct{} `type:"structure"`
  21895. // Information about the Internet gateway.
  21896. InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
  21897. }
  21898. // String returns the string representation
  21899. func (s CreateInternetGatewayOutput) String() string {
  21900. return awsutil.Prettify(s)
  21901. }
  21902. // GoString returns the string representation
  21903. func (s CreateInternetGatewayOutput) GoString() string {
  21904. return s.String()
  21905. }
  21906. // SetInternetGateway sets the InternetGateway field's value.
  21907. func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
  21908. s.InternetGateway = v
  21909. return s
  21910. }
  21911. // Contains the parameters for CreateKeyPair.
  21912. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPairRequest
  21913. type CreateKeyPairInput struct {
  21914. _ struct{} `type:"structure"`
  21915. // Checks whether you have the required permissions for the action, without
  21916. // actually making the request, and provides an error response. If you have
  21917. // the required permissions, the error response is DryRunOperation. Otherwise,
  21918. // it is UnauthorizedOperation.
  21919. DryRun *bool `locationName:"dryRun" type:"boolean"`
  21920. // A unique name for the key pair.
  21921. //
  21922. // Constraints: Up to 255 ASCII characters
  21923. //
  21924. // KeyName is a required field
  21925. KeyName *string `type:"string" required:"true"`
  21926. }
  21927. // String returns the string representation
  21928. func (s CreateKeyPairInput) String() string {
  21929. return awsutil.Prettify(s)
  21930. }
  21931. // GoString returns the string representation
  21932. func (s CreateKeyPairInput) GoString() string {
  21933. return s.String()
  21934. }
  21935. // Validate inspects the fields of the type to determine if they are valid.
  21936. func (s *CreateKeyPairInput) Validate() error {
  21937. invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
  21938. if s.KeyName == nil {
  21939. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  21940. }
  21941. if invalidParams.Len() > 0 {
  21942. return invalidParams
  21943. }
  21944. return nil
  21945. }
  21946. // SetDryRun sets the DryRun field's value.
  21947. func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
  21948. s.DryRun = &v
  21949. return s
  21950. }
  21951. // SetKeyName sets the KeyName field's value.
  21952. func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
  21953. s.KeyName = &v
  21954. return s
  21955. }
  21956. // Describes a key pair.
  21957. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPair
  21958. type CreateKeyPairOutput struct {
  21959. _ struct{} `type:"structure"`
  21960. // The SHA-1 digest of the DER encoded private key.
  21961. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  21962. // An unencrypted PEM encoded RSA private key.
  21963. KeyMaterial *string `locationName:"keyMaterial" type:"string"`
  21964. // The name of the key pair.
  21965. KeyName *string `locationName:"keyName" type:"string"`
  21966. }
  21967. // String returns the string representation
  21968. func (s CreateKeyPairOutput) String() string {
  21969. return awsutil.Prettify(s)
  21970. }
  21971. // GoString returns the string representation
  21972. func (s CreateKeyPairOutput) GoString() string {
  21973. return s.String()
  21974. }
  21975. // SetKeyFingerprint sets the KeyFingerprint field's value.
  21976. func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
  21977. s.KeyFingerprint = &v
  21978. return s
  21979. }
  21980. // SetKeyMaterial sets the KeyMaterial field's value.
  21981. func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
  21982. s.KeyMaterial = &v
  21983. return s
  21984. }
  21985. // SetKeyName sets the KeyName field's value.
  21986. func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
  21987. s.KeyName = &v
  21988. return s
  21989. }
  21990. // Contains the parameters for CreateNatGateway.
  21991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayRequest
  21992. type CreateNatGatewayInput struct {
  21993. _ struct{} `type:"structure"`
  21994. // The allocation ID of an Elastic IP address to associate with the NAT gateway.
  21995. // If the Elastic IP address is associated with another resource, you must first
  21996. // disassociate it.
  21997. //
  21998. // AllocationId is a required field
  21999. AllocationId *string `type:"string" required:"true"`
  22000. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  22001. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  22002. //
  22003. // Constraint: Maximum 64 ASCII characters.
  22004. ClientToken *string `type:"string"`
  22005. // The subnet in which to create the NAT gateway.
  22006. //
  22007. // SubnetId is a required field
  22008. SubnetId *string `type:"string" required:"true"`
  22009. }
  22010. // String returns the string representation
  22011. func (s CreateNatGatewayInput) String() string {
  22012. return awsutil.Prettify(s)
  22013. }
  22014. // GoString returns the string representation
  22015. func (s CreateNatGatewayInput) GoString() string {
  22016. return s.String()
  22017. }
  22018. // Validate inspects the fields of the type to determine if they are valid.
  22019. func (s *CreateNatGatewayInput) Validate() error {
  22020. invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
  22021. if s.AllocationId == nil {
  22022. invalidParams.Add(request.NewErrParamRequired("AllocationId"))
  22023. }
  22024. if s.SubnetId == nil {
  22025. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22026. }
  22027. if invalidParams.Len() > 0 {
  22028. return invalidParams
  22029. }
  22030. return nil
  22031. }
  22032. // SetAllocationId sets the AllocationId field's value.
  22033. func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
  22034. s.AllocationId = &v
  22035. return s
  22036. }
  22037. // SetClientToken sets the ClientToken field's value.
  22038. func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
  22039. s.ClientToken = &v
  22040. return s
  22041. }
  22042. // SetSubnetId sets the SubnetId field's value.
  22043. func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
  22044. s.SubnetId = &v
  22045. return s
  22046. }
  22047. // Contains the output of CreateNatGateway.
  22048. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGatewayResult
  22049. type CreateNatGatewayOutput struct {
  22050. _ struct{} `type:"structure"`
  22051. // Unique, case-sensitive identifier to ensure the idempotency of the request.
  22052. // Only returned if a client token was provided in the request.
  22053. ClientToken *string `locationName:"clientToken" type:"string"`
  22054. // Information about the NAT gateway.
  22055. NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
  22056. }
  22057. // String returns the string representation
  22058. func (s CreateNatGatewayOutput) String() string {
  22059. return awsutil.Prettify(s)
  22060. }
  22061. // GoString returns the string representation
  22062. func (s CreateNatGatewayOutput) GoString() string {
  22063. return s.String()
  22064. }
  22065. // SetClientToken sets the ClientToken field's value.
  22066. func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
  22067. s.ClientToken = &v
  22068. return s
  22069. }
  22070. // SetNatGateway sets the NatGateway field's value.
  22071. func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
  22072. s.NatGateway = v
  22073. return s
  22074. }
  22075. // Contains the parameters for CreateNetworkAclEntry.
  22076. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryRequest
  22077. type CreateNetworkAclEntryInput struct {
  22078. _ struct{} `type:"structure"`
  22079. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  22080. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  22081. // Checks whether you have the required permissions for the action, without
  22082. // actually making the request, and provides an error response. If you have
  22083. // the required permissions, the error response is DryRunOperation. Otherwise,
  22084. // it is UnauthorizedOperation.
  22085. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22086. // Indicates whether this is an egress rule (rule is applied to traffic leaving
  22087. // the subnet).
  22088. //
  22089. // Egress is a required field
  22090. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  22091. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  22092. // ICMP protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  22093. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  22094. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
  22095. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  22096. // The ID of the network ACL.
  22097. //
  22098. // NetworkAclId is a required field
  22099. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  22100. // TCP or UDP protocols: The range of ports the rule applies to.
  22101. PortRange *PortRange `locationName:"portRange" type:"structure"`
  22102. // The protocol. A value of -1 or all means all protocols. If you specify all,
  22103. // -1, or a protocol number other than tcp, udp, or icmp, traffic on all ports
  22104. // is allowed, regardless of any ports or ICMP types or codes you specify. If
  22105. // you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block, traffic
  22106. // for all ICMP types and codes allowed, regardless of any that you specify.
  22107. // If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block, you must
  22108. // specify an ICMP type and code.
  22109. //
  22110. // Protocol is a required field
  22111. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  22112. // Indicates whether to allow or deny the traffic that matches the rule.
  22113. //
  22114. // RuleAction is a required field
  22115. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  22116. // The rule number for the entry (for example, 100). ACL entries are processed
  22117. // in ascending order by rule number.
  22118. //
  22119. // Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
  22120. // reserved for internal use.
  22121. //
  22122. // RuleNumber is a required field
  22123. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  22124. }
  22125. // String returns the string representation
  22126. func (s CreateNetworkAclEntryInput) String() string {
  22127. return awsutil.Prettify(s)
  22128. }
  22129. // GoString returns the string representation
  22130. func (s CreateNetworkAclEntryInput) GoString() string {
  22131. return s.String()
  22132. }
  22133. // Validate inspects the fields of the type to determine if they are valid.
  22134. func (s *CreateNetworkAclEntryInput) Validate() error {
  22135. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
  22136. if s.Egress == nil {
  22137. invalidParams.Add(request.NewErrParamRequired("Egress"))
  22138. }
  22139. if s.NetworkAclId == nil {
  22140. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  22141. }
  22142. if s.Protocol == nil {
  22143. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  22144. }
  22145. if s.RuleAction == nil {
  22146. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  22147. }
  22148. if s.RuleNumber == nil {
  22149. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  22150. }
  22151. if invalidParams.Len() > 0 {
  22152. return invalidParams
  22153. }
  22154. return nil
  22155. }
  22156. // SetCidrBlock sets the CidrBlock field's value.
  22157. func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
  22158. s.CidrBlock = &v
  22159. return s
  22160. }
  22161. // SetDryRun sets the DryRun field's value.
  22162. func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
  22163. s.DryRun = &v
  22164. return s
  22165. }
  22166. // SetEgress sets the Egress field's value.
  22167. func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
  22168. s.Egress = &v
  22169. return s
  22170. }
  22171. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  22172. func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
  22173. s.IcmpTypeCode = v
  22174. return s
  22175. }
  22176. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  22177. func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
  22178. s.Ipv6CidrBlock = &v
  22179. return s
  22180. }
  22181. // SetNetworkAclId sets the NetworkAclId field's value.
  22182. func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
  22183. s.NetworkAclId = &v
  22184. return s
  22185. }
  22186. // SetPortRange sets the PortRange field's value.
  22187. func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
  22188. s.PortRange = v
  22189. return s
  22190. }
  22191. // SetProtocol sets the Protocol field's value.
  22192. func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
  22193. s.Protocol = &v
  22194. return s
  22195. }
  22196. // SetRuleAction sets the RuleAction field's value.
  22197. func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
  22198. s.RuleAction = &v
  22199. return s
  22200. }
  22201. // SetRuleNumber sets the RuleNumber field's value.
  22202. func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
  22203. s.RuleNumber = &v
  22204. return s
  22205. }
  22206. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntryOutput
  22207. type CreateNetworkAclEntryOutput struct {
  22208. _ struct{} `type:"structure"`
  22209. }
  22210. // String returns the string representation
  22211. func (s CreateNetworkAclEntryOutput) String() string {
  22212. return awsutil.Prettify(s)
  22213. }
  22214. // GoString returns the string representation
  22215. func (s CreateNetworkAclEntryOutput) GoString() string {
  22216. return s.String()
  22217. }
  22218. // Contains the parameters for CreateNetworkAcl.
  22219. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclRequest
  22220. type CreateNetworkAclInput struct {
  22221. _ struct{} `type:"structure"`
  22222. // Checks whether you have the required permissions for the action, without
  22223. // actually making the request, and provides an error response. If you have
  22224. // the required permissions, the error response is DryRunOperation. Otherwise,
  22225. // it is UnauthorizedOperation.
  22226. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22227. // The ID of the VPC.
  22228. //
  22229. // VpcId is a required field
  22230. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22231. }
  22232. // String returns the string representation
  22233. func (s CreateNetworkAclInput) String() string {
  22234. return awsutil.Prettify(s)
  22235. }
  22236. // GoString returns the string representation
  22237. func (s CreateNetworkAclInput) GoString() string {
  22238. return s.String()
  22239. }
  22240. // Validate inspects the fields of the type to determine if they are valid.
  22241. func (s *CreateNetworkAclInput) Validate() error {
  22242. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
  22243. if s.VpcId == nil {
  22244. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22245. }
  22246. if invalidParams.Len() > 0 {
  22247. return invalidParams
  22248. }
  22249. return nil
  22250. }
  22251. // SetDryRun sets the DryRun field's value.
  22252. func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
  22253. s.DryRun = &v
  22254. return s
  22255. }
  22256. // SetVpcId sets the VpcId field's value.
  22257. func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
  22258. s.VpcId = &v
  22259. return s
  22260. }
  22261. // Contains the output of CreateNetworkAcl.
  22262. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclResult
  22263. type CreateNetworkAclOutput struct {
  22264. _ struct{} `type:"structure"`
  22265. // Information about the network ACL.
  22266. NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
  22267. }
  22268. // String returns the string representation
  22269. func (s CreateNetworkAclOutput) String() string {
  22270. return awsutil.Prettify(s)
  22271. }
  22272. // GoString returns the string representation
  22273. func (s CreateNetworkAclOutput) GoString() string {
  22274. return s.String()
  22275. }
  22276. // SetNetworkAcl sets the NetworkAcl field's value.
  22277. func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
  22278. s.NetworkAcl = v
  22279. return s
  22280. }
  22281. // Contains the parameters for CreateNetworkInterface.
  22282. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceRequest
  22283. type CreateNetworkInterfaceInput struct {
  22284. _ struct{} `type:"structure"`
  22285. // A description for the network interface.
  22286. Description *string `locationName:"description" type:"string"`
  22287. // Checks whether you have the required permissions for the action, without
  22288. // actually making the request, and provides an error response. If you have
  22289. // the required permissions, the error response is DryRunOperation. Otherwise,
  22290. // it is UnauthorizedOperation.
  22291. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22292. // The IDs of one or more security groups.
  22293. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  22294. // The number of IPv6 addresses to assign to a network interface. Amazon EC2
  22295. // automatically selects the IPv6 addresses from the subnet range. You can't
  22296. // use this option if specifying specific IPv6 addresses. If your subnet has
  22297. // the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
  22298. // to override this setting.
  22299. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  22300. // One or more specific IPv6 addresses from the IPv6 CIDR block range of your
  22301. // subnet. You can't use this option if you're specifying a number of IPv6 addresses.
  22302. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
  22303. // The primary private IPv4 address of the network interface. If you don't specify
  22304. // an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
  22305. // range. If you specify an IP address, you cannot indicate any IP addresses
  22306. // specified in privateIpAddresses as primary (only one IP address can be designated
  22307. // as primary).
  22308. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  22309. // One or more private IPv4 addresses.
  22310. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
  22311. // The number of secondary private IPv4 addresses to assign to a network interface.
  22312. // When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
  22313. // these IP addresses within the subnet's IPv4 CIDR range. You can't specify
  22314. // this option and specify more than one private IP address using privateIpAddresses.
  22315. //
  22316. // The number of IP addresses you can assign to a network interface varies by
  22317. // instance type. For more information, see IP Addresses Per ENI Per Instance
  22318. // Type (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
  22319. // in the Amazon Virtual Private Cloud User Guide.
  22320. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  22321. // The ID of the subnet to associate with the network interface.
  22322. //
  22323. // SubnetId is a required field
  22324. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  22325. }
  22326. // String returns the string representation
  22327. func (s CreateNetworkInterfaceInput) String() string {
  22328. return awsutil.Prettify(s)
  22329. }
  22330. // GoString returns the string representation
  22331. func (s CreateNetworkInterfaceInput) GoString() string {
  22332. return s.String()
  22333. }
  22334. // Validate inspects the fields of the type to determine if they are valid.
  22335. func (s *CreateNetworkInterfaceInput) Validate() error {
  22336. invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
  22337. if s.SubnetId == nil {
  22338. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  22339. }
  22340. if s.PrivateIpAddresses != nil {
  22341. for i, v := range s.PrivateIpAddresses {
  22342. if v == nil {
  22343. continue
  22344. }
  22345. if err := v.Validate(); err != nil {
  22346. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  22347. }
  22348. }
  22349. }
  22350. if invalidParams.Len() > 0 {
  22351. return invalidParams
  22352. }
  22353. return nil
  22354. }
  22355. // SetDescription sets the Description field's value.
  22356. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
  22357. s.Description = &v
  22358. return s
  22359. }
  22360. // SetDryRun sets the DryRun field's value.
  22361. func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
  22362. s.DryRun = &v
  22363. return s
  22364. }
  22365. // SetGroups sets the Groups field's value.
  22366. func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
  22367. s.Groups = v
  22368. return s
  22369. }
  22370. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  22371. func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
  22372. s.Ipv6AddressCount = &v
  22373. return s
  22374. }
  22375. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  22376. func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
  22377. s.Ipv6Addresses = v
  22378. return s
  22379. }
  22380. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  22381. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
  22382. s.PrivateIpAddress = &v
  22383. return s
  22384. }
  22385. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  22386. func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
  22387. s.PrivateIpAddresses = v
  22388. return s
  22389. }
  22390. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  22391. func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
  22392. s.SecondaryPrivateIpAddressCount = &v
  22393. return s
  22394. }
  22395. // SetSubnetId sets the SubnetId field's value.
  22396. func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
  22397. s.SubnetId = &v
  22398. return s
  22399. }
  22400. // Contains the output of CreateNetworkInterface.
  22401. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfaceResult
  22402. type CreateNetworkInterfaceOutput struct {
  22403. _ struct{} `type:"structure"`
  22404. // Information about the network interface.
  22405. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  22406. }
  22407. // String returns the string representation
  22408. func (s CreateNetworkInterfaceOutput) String() string {
  22409. return awsutil.Prettify(s)
  22410. }
  22411. // GoString returns the string representation
  22412. func (s CreateNetworkInterfaceOutput) GoString() string {
  22413. return s.String()
  22414. }
  22415. // SetNetworkInterface sets the NetworkInterface field's value.
  22416. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
  22417. s.NetworkInterface = v
  22418. return s
  22419. }
  22420. // Contains the parameters for CreatePlacementGroup.
  22421. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupRequest
  22422. type CreatePlacementGroupInput struct {
  22423. _ struct{} `type:"structure"`
  22424. // Checks whether you have the required permissions for the action, without
  22425. // actually making the request, and provides an error response. If you have
  22426. // the required permissions, the error response is DryRunOperation. Otherwise,
  22427. // it is UnauthorizedOperation.
  22428. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22429. // A name for the placement group.
  22430. //
  22431. // Constraints: Up to 255 ASCII characters
  22432. //
  22433. // GroupName is a required field
  22434. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  22435. // The placement strategy.
  22436. //
  22437. // Strategy is a required field
  22438. Strategy *string `locationName:"strategy" type:"string" required:"true" enum:"PlacementStrategy"`
  22439. }
  22440. // String returns the string representation
  22441. func (s CreatePlacementGroupInput) String() string {
  22442. return awsutil.Prettify(s)
  22443. }
  22444. // GoString returns the string representation
  22445. func (s CreatePlacementGroupInput) GoString() string {
  22446. return s.String()
  22447. }
  22448. // Validate inspects the fields of the type to determine if they are valid.
  22449. func (s *CreatePlacementGroupInput) Validate() error {
  22450. invalidParams := request.ErrInvalidParams{Context: "CreatePlacementGroupInput"}
  22451. if s.GroupName == nil {
  22452. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  22453. }
  22454. if s.Strategy == nil {
  22455. invalidParams.Add(request.NewErrParamRequired("Strategy"))
  22456. }
  22457. if invalidParams.Len() > 0 {
  22458. return invalidParams
  22459. }
  22460. return nil
  22461. }
  22462. // SetDryRun sets the DryRun field's value.
  22463. func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
  22464. s.DryRun = &v
  22465. return s
  22466. }
  22467. // SetGroupName sets the GroupName field's value.
  22468. func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
  22469. s.GroupName = &v
  22470. return s
  22471. }
  22472. // SetStrategy sets the Strategy field's value.
  22473. func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
  22474. s.Strategy = &v
  22475. return s
  22476. }
  22477. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroupOutput
  22478. type CreatePlacementGroupOutput struct {
  22479. _ struct{} `type:"structure"`
  22480. }
  22481. // String returns the string representation
  22482. func (s CreatePlacementGroupOutput) String() string {
  22483. return awsutil.Prettify(s)
  22484. }
  22485. // GoString returns the string representation
  22486. func (s CreatePlacementGroupOutput) GoString() string {
  22487. return s.String()
  22488. }
  22489. // Contains the parameters for CreateReservedInstancesListing.
  22490. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingRequest
  22491. type CreateReservedInstancesListingInput struct {
  22492. _ struct{} `type:"structure"`
  22493. // Unique, case-sensitive identifier you provide to ensure idempotency of your
  22494. // listings. This helps avoid duplicate listings. For more information, see
  22495. // Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  22496. //
  22497. // ClientToken is a required field
  22498. ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
  22499. // The number of instances that are a part of a Reserved Instance account to
  22500. // be listed in the Reserved Instance Marketplace. This number should be less
  22501. // than or equal to the instance count associated with the Reserved Instance
  22502. // ID specified in this call.
  22503. //
  22504. // InstanceCount is a required field
  22505. InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
  22506. // A list specifying the price of the Standard Reserved Instance for each month
  22507. // remaining in the Reserved Instance term.
  22508. //
  22509. // PriceSchedules is a required field
  22510. PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
  22511. // The ID of the active Standard Reserved Instance.
  22512. //
  22513. // ReservedInstancesId is a required field
  22514. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
  22515. }
  22516. // String returns the string representation
  22517. func (s CreateReservedInstancesListingInput) String() string {
  22518. return awsutil.Prettify(s)
  22519. }
  22520. // GoString returns the string representation
  22521. func (s CreateReservedInstancesListingInput) GoString() string {
  22522. return s.String()
  22523. }
  22524. // Validate inspects the fields of the type to determine if they are valid.
  22525. func (s *CreateReservedInstancesListingInput) Validate() error {
  22526. invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
  22527. if s.ClientToken == nil {
  22528. invalidParams.Add(request.NewErrParamRequired("ClientToken"))
  22529. }
  22530. if s.InstanceCount == nil {
  22531. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  22532. }
  22533. if s.PriceSchedules == nil {
  22534. invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
  22535. }
  22536. if s.ReservedInstancesId == nil {
  22537. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
  22538. }
  22539. if invalidParams.Len() > 0 {
  22540. return invalidParams
  22541. }
  22542. return nil
  22543. }
  22544. // SetClientToken sets the ClientToken field's value.
  22545. func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
  22546. s.ClientToken = &v
  22547. return s
  22548. }
  22549. // SetInstanceCount sets the InstanceCount field's value.
  22550. func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
  22551. s.InstanceCount = &v
  22552. return s
  22553. }
  22554. // SetPriceSchedules sets the PriceSchedules field's value.
  22555. func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
  22556. s.PriceSchedules = v
  22557. return s
  22558. }
  22559. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  22560. func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
  22561. s.ReservedInstancesId = &v
  22562. return s
  22563. }
  22564. // Contains the output of CreateReservedInstancesListing.
  22565. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListingResult
  22566. type CreateReservedInstancesListingOutput struct {
  22567. _ struct{} `type:"structure"`
  22568. // Information about the Standard Reserved Instance listing.
  22569. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  22570. }
  22571. // String returns the string representation
  22572. func (s CreateReservedInstancesListingOutput) String() string {
  22573. return awsutil.Prettify(s)
  22574. }
  22575. // GoString returns the string representation
  22576. func (s CreateReservedInstancesListingOutput) GoString() string {
  22577. return s.String()
  22578. }
  22579. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  22580. func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
  22581. s.ReservedInstancesListings = v
  22582. return s
  22583. }
  22584. // Contains the parameters for CreateRoute.
  22585. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteRequest
  22586. type CreateRouteInput struct {
  22587. _ struct{} `type:"structure"`
  22588. // The IPv4 CIDR address block used for the destination match. Routing decisions
  22589. // are based on the most specific match.
  22590. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  22591. // The IPv6 CIDR block used for the destination match. Routing decisions are
  22592. // based on the most specific match.
  22593. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  22594. // Checks whether you have the required permissions for the action, without
  22595. // actually making the request, and provides an error response. If you have
  22596. // the required permissions, the error response is DryRunOperation. Otherwise,
  22597. // it is UnauthorizedOperation.
  22598. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22599. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  22600. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  22601. // The ID of an Internet gateway or virtual private gateway attached to your
  22602. // VPC.
  22603. GatewayId *string `locationName:"gatewayId" type:"string"`
  22604. // The ID of a NAT instance in your VPC. The operation fails if you specify
  22605. // an instance ID unless exactly one network interface is attached.
  22606. InstanceId *string `locationName:"instanceId" type:"string"`
  22607. // [IPv4 traffic only] The ID of a NAT gateway.
  22608. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  22609. // The ID of a network interface.
  22610. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  22611. // The ID of the route table for the route.
  22612. //
  22613. // RouteTableId is a required field
  22614. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  22615. // The ID of a VPC peering connection.
  22616. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  22617. }
  22618. // String returns the string representation
  22619. func (s CreateRouteInput) String() string {
  22620. return awsutil.Prettify(s)
  22621. }
  22622. // GoString returns the string representation
  22623. func (s CreateRouteInput) GoString() string {
  22624. return s.String()
  22625. }
  22626. // Validate inspects the fields of the type to determine if they are valid.
  22627. func (s *CreateRouteInput) Validate() error {
  22628. invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
  22629. if s.RouteTableId == nil {
  22630. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  22631. }
  22632. if invalidParams.Len() > 0 {
  22633. return invalidParams
  22634. }
  22635. return nil
  22636. }
  22637. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  22638. func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
  22639. s.DestinationCidrBlock = &v
  22640. return s
  22641. }
  22642. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  22643. func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
  22644. s.DestinationIpv6CidrBlock = &v
  22645. return s
  22646. }
  22647. // SetDryRun sets the DryRun field's value.
  22648. func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
  22649. s.DryRun = &v
  22650. return s
  22651. }
  22652. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  22653. func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
  22654. s.EgressOnlyInternetGatewayId = &v
  22655. return s
  22656. }
  22657. // SetGatewayId sets the GatewayId field's value.
  22658. func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
  22659. s.GatewayId = &v
  22660. return s
  22661. }
  22662. // SetInstanceId sets the InstanceId field's value.
  22663. func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
  22664. s.InstanceId = &v
  22665. return s
  22666. }
  22667. // SetNatGatewayId sets the NatGatewayId field's value.
  22668. func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
  22669. s.NatGatewayId = &v
  22670. return s
  22671. }
  22672. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  22673. func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
  22674. s.NetworkInterfaceId = &v
  22675. return s
  22676. }
  22677. // SetRouteTableId sets the RouteTableId field's value.
  22678. func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
  22679. s.RouteTableId = &v
  22680. return s
  22681. }
  22682. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  22683. func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
  22684. s.VpcPeeringConnectionId = &v
  22685. return s
  22686. }
  22687. // Contains the output of CreateRoute.
  22688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteResult
  22689. type CreateRouteOutput struct {
  22690. _ struct{} `type:"structure"`
  22691. // Returns true if the request succeeds; otherwise, it returns an error.
  22692. Return *bool `locationName:"return" type:"boolean"`
  22693. }
  22694. // String returns the string representation
  22695. func (s CreateRouteOutput) String() string {
  22696. return awsutil.Prettify(s)
  22697. }
  22698. // GoString returns the string representation
  22699. func (s CreateRouteOutput) GoString() string {
  22700. return s.String()
  22701. }
  22702. // SetReturn sets the Return field's value.
  22703. func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
  22704. s.Return = &v
  22705. return s
  22706. }
  22707. // Contains the parameters for CreateRouteTable.
  22708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableRequest
  22709. type CreateRouteTableInput struct {
  22710. _ struct{} `type:"structure"`
  22711. // Checks whether you have the required permissions for the action, without
  22712. // actually making the request, and provides an error response. If you have
  22713. // the required permissions, the error response is DryRunOperation. Otherwise,
  22714. // it is UnauthorizedOperation.
  22715. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22716. // The ID of the VPC.
  22717. //
  22718. // VpcId is a required field
  22719. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  22720. }
  22721. // String returns the string representation
  22722. func (s CreateRouteTableInput) String() string {
  22723. return awsutil.Prettify(s)
  22724. }
  22725. // GoString returns the string representation
  22726. func (s CreateRouteTableInput) GoString() string {
  22727. return s.String()
  22728. }
  22729. // Validate inspects the fields of the type to determine if they are valid.
  22730. func (s *CreateRouteTableInput) Validate() error {
  22731. invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
  22732. if s.VpcId == nil {
  22733. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  22734. }
  22735. if invalidParams.Len() > 0 {
  22736. return invalidParams
  22737. }
  22738. return nil
  22739. }
  22740. // SetDryRun sets the DryRun field's value.
  22741. func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
  22742. s.DryRun = &v
  22743. return s
  22744. }
  22745. // SetVpcId sets the VpcId field's value.
  22746. func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
  22747. s.VpcId = &v
  22748. return s
  22749. }
  22750. // Contains the output of CreateRouteTable.
  22751. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTableResult
  22752. type CreateRouteTableOutput struct {
  22753. _ struct{} `type:"structure"`
  22754. // Information about the route table.
  22755. RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
  22756. }
  22757. // String returns the string representation
  22758. func (s CreateRouteTableOutput) String() string {
  22759. return awsutil.Prettify(s)
  22760. }
  22761. // GoString returns the string representation
  22762. func (s CreateRouteTableOutput) GoString() string {
  22763. return s.String()
  22764. }
  22765. // SetRouteTable sets the RouteTable field's value.
  22766. func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
  22767. s.RouteTable = v
  22768. return s
  22769. }
  22770. // Contains the parameters for CreateSecurityGroup.
  22771. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupRequest
  22772. type CreateSecurityGroupInput struct {
  22773. _ struct{} `type:"structure"`
  22774. // A description for the security group. This is informational only.
  22775. //
  22776. // Constraints: Up to 255 characters in length
  22777. //
  22778. // Constraints for EC2-Classic: ASCII characters
  22779. //
  22780. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  22781. //
  22782. // Description is a required field
  22783. Description *string `locationName:"GroupDescription" type:"string" required:"true"`
  22784. // Checks whether you have the required permissions for the action, without
  22785. // actually making the request, and provides an error response. If you have
  22786. // the required permissions, the error response is DryRunOperation. Otherwise,
  22787. // it is UnauthorizedOperation.
  22788. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22789. // The name of the security group.
  22790. //
  22791. // Constraints: Up to 255 characters in length
  22792. //
  22793. // Constraints for EC2-Classic: ASCII characters
  22794. //
  22795. // Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
  22796. //
  22797. // GroupName is a required field
  22798. GroupName *string `type:"string" required:"true"`
  22799. // [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
  22800. VpcId *string `type:"string"`
  22801. }
  22802. // String returns the string representation
  22803. func (s CreateSecurityGroupInput) String() string {
  22804. return awsutil.Prettify(s)
  22805. }
  22806. // GoString returns the string representation
  22807. func (s CreateSecurityGroupInput) GoString() string {
  22808. return s.String()
  22809. }
  22810. // Validate inspects the fields of the type to determine if they are valid.
  22811. func (s *CreateSecurityGroupInput) Validate() error {
  22812. invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
  22813. if s.Description == nil {
  22814. invalidParams.Add(request.NewErrParamRequired("Description"))
  22815. }
  22816. if s.GroupName == nil {
  22817. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  22818. }
  22819. if invalidParams.Len() > 0 {
  22820. return invalidParams
  22821. }
  22822. return nil
  22823. }
  22824. // SetDescription sets the Description field's value.
  22825. func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
  22826. s.Description = &v
  22827. return s
  22828. }
  22829. // SetDryRun sets the DryRun field's value.
  22830. func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
  22831. s.DryRun = &v
  22832. return s
  22833. }
  22834. // SetGroupName sets the GroupName field's value.
  22835. func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
  22836. s.GroupName = &v
  22837. return s
  22838. }
  22839. // SetVpcId sets the VpcId field's value.
  22840. func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
  22841. s.VpcId = &v
  22842. return s
  22843. }
  22844. // Contains the output of CreateSecurityGroup.
  22845. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroupResult
  22846. type CreateSecurityGroupOutput struct {
  22847. _ struct{} `type:"structure"`
  22848. // The ID of the security group.
  22849. GroupId *string `locationName:"groupId" type:"string"`
  22850. }
  22851. // String returns the string representation
  22852. func (s CreateSecurityGroupOutput) String() string {
  22853. return awsutil.Prettify(s)
  22854. }
  22855. // GoString returns the string representation
  22856. func (s CreateSecurityGroupOutput) GoString() string {
  22857. return s.String()
  22858. }
  22859. // SetGroupId sets the GroupId field's value.
  22860. func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
  22861. s.GroupId = &v
  22862. return s
  22863. }
  22864. // Contains the parameters for CreateSnapshot.
  22865. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshotRequest
  22866. type CreateSnapshotInput struct {
  22867. _ struct{} `type:"structure"`
  22868. // A description for the snapshot.
  22869. Description *string `type:"string"`
  22870. // Checks whether you have the required permissions for the action, without
  22871. // actually making the request, and provides an error response. If you have
  22872. // the required permissions, the error response is DryRunOperation. Otherwise,
  22873. // it is UnauthorizedOperation.
  22874. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22875. // The ID of the EBS volume.
  22876. //
  22877. // VolumeId is a required field
  22878. VolumeId *string `type:"string" required:"true"`
  22879. }
  22880. // String returns the string representation
  22881. func (s CreateSnapshotInput) String() string {
  22882. return awsutil.Prettify(s)
  22883. }
  22884. // GoString returns the string representation
  22885. func (s CreateSnapshotInput) GoString() string {
  22886. return s.String()
  22887. }
  22888. // Validate inspects the fields of the type to determine if they are valid.
  22889. func (s *CreateSnapshotInput) Validate() error {
  22890. invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
  22891. if s.VolumeId == nil {
  22892. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  22893. }
  22894. if invalidParams.Len() > 0 {
  22895. return invalidParams
  22896. }
  22897. return nil
  22898. }
  22899. // SetDescription sets the Description field's value.
  22900. func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
  22901. s.Description = &v
  22902. return s
  22903. }
  22904. // SetDryRun sets the DryRun field's value.
  22905. func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
  22906. s.DryRun = &v
  22907. return s
  22908. }
  22909. // SetVolumeId sets the VolumeId field's value.
  22910. func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
  22911. s.VolumeId = &v
  22912. return s
  22913. }
  22914. // Contains the parameters for CreateSpotDatafeedSubscription.
  22915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionRequest
  22916. type CreateSpotDatafeedSubscriptionInput struct {
  22917. _ struct{} `type:"structure"`
  22918. // The Amazon S3 bucket in which to store the Spot instance data feed.
  22919. //
  22920. // Bucket is a required field
  22921. Bucket *string `locationName:"bucket" type:"string" required:"true"`
  22922. // Checks whether you have the required permissions for the action, without
  22923. // actually making the request, and provides an error response. If you have
  22924. // the required permissions, the error response is DryRunOperation. Otherwise,
  22925. // it is UnauthorizedOperation.
  22926. DryRun *bool `locationName:"dryRun" type:"boolean"`
  22927. // A prefix for the data feed file names.
  22928. Prefix *string `locationName:"prefix" type:"string"`
  22929. }
  22930. // String returns the string representation
  22931. func (s CreateSpotDatafeedSubscriptionInput) String() string {
  22932. return awsutil.Prettify(s)
  22933. }
  22934. // GoString returns the string representation
  22935. func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
  22936. return s.String()
  22937. }
  22938. // Validate inspects the fields of the type to determine if they are valid.
  22939. func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
  22940. invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
  22941. if s.Bucket == nil {
  22942. invalidParams.Add(request.NewErrParamRequired("Bucket"))
  22943. }
  22944. if invalidParams.Len() > 0 {
  22945. return invalidParams
  22946. }
  22947. return nil
  22948. }
  22949. // SetBucket sets the Bucket field's value.
  22950. func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
  22951. s.Bucket = &v
  22952. return s
  22953. }
  22954. // SetDryRun sets the DryRun field's value.
  22955. func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
  22956. s.DryRun = &v
  22957. return s
  22958. }
  22959. // SetPrefix sets the Prefix field's value.
  22960. func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
  22961. s.Prefix = &v
  22962. return s
  22963. }
  22964. // Contains the output of CreateSpotDatafeedSubscription.
  22965. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscriptionResult
  22966. type CreateSpotDatafeedSubscriptionOutput struct {
  22967. _ struct{} `type:"structure"`
  22968. // The Spot instance data feed subscription.
  22969. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  22970. }
  22971. // String returns the string representation
  22972. func (s CreateSpotDatafeedSubscriptionOutput) String() string {
  22973. return awsutil.Prettify(s)
  22974. }
  22975. // GoString returns the string representation
  22976. func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
  22977. return s.String()
  22978. }
  22979. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  22980. func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
  22981. s.SpotDatafeedSubscription = v
  22982. return s
  22983. }
  22984. // Contains the parameters for CreateSubnet.
  22985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetRequest
  22986. type CreateSubnetInput struct {
  22987. _ struct{} `type:"structure"`
  22988. // The Availability Zone for the subnet.
  22989. //
  22990. // Default: AWS selects one for you. If you create more than one subnet in your
  22991. // VPC, we may not necessarily select a different zone for each subnet.
  22992. AvailabilityZone *string `type:"string"`
  22993. // The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
  22994. //
  22995. // CidrBlock is a required field
  22996. CidrBlock *string `type:"string" required:"true"`
  22997. // Checks whether you have the required permissions for the action, without
  22998. // actually making the request, and provides an error response. If you have
  22999. // the required permissions, the error response is DryRunOperation. Otherwise,
  23000. // it is UnauthorizedOperation.
  23001. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23002. // The IPv6 network range for the subnet, in CIDR notation. The subnet size
  23003. // must use a /64 prefix length.
  23004. Ipv6CidrBlock *string `type:"string"`
  23005. // The ID of the VPC.
  23006. //
  23007. // VpcId is a required field
  23008. VpcId *string `type:"string" required:"true"`
  23009. }
  23010. // String returns the string representation
  23011. func (s CreateSubnetInput) String() string {
  23012. return awsutil.Prettify(s)
  23013. }
  23014. // GoString returns the string representation
  23015. func (s CreateSubnetInput) GoString() string {
  23016. return s.String()
  23017. }
  23018. // Validate inspects the fields of the type to determine if they are valid.
  23019. func (s *CreateSubnetInput) Validate() error {
  23020. invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
  23021. if s.CidrBlock == nil {
  23022. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  23023. }
  23024. if s.VpcId == nil {
  23025. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23026. }
  23027. if invalidParams.Len() > 0 {
  23028. return invalidParams
  23029. }
  23030. return nil
  23031. }
  23032. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23033. func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
  23034. s.AvailabilityZone = &v
  23035. return s
  23036. }
  23037. // SetCidrBlock sets the CidrBlock field's value.
  23038. func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
  23039. s.CidrBlock = &v
  23040. return s
  23041. }
  23042. // SetDryRun sets the DryRun field's value.
  23043. func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
  23044. s.DryRun = &v
  23045. return s
  23046. }
  23047. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  23048. func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
  23049. s.Ipv6CidrBlock = &v
  23050. return s
  23051. }
  23052. // SetVpcId sets the VpcId field's value.
  23053. func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
  23054. s.VpcId = &v
  23055. return s
  23056. }
  23057. // Contains the output of CreateSubnet.
  23058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnetResult
  23059. type CreateSubnetOutput struct {
  23060. _ struct{} `type:"structure"`
  23061. // Information about the subnet.
  23062. Subnet *Subnet `locationName:"subnet" type:"structure"`
  23063. }
  23064. // String returns the string representation
  23065. func (s CreateSubnetOutput) String() string {
  23066. return awsutil.Prettify(s)
  23067. }
  23068. // GoString returns the string representation
  23069. func (s CreateSubnetOutput) GoString() string {
  23070. return s.String()
  23071. }
  23072. // SetSubnet sets the Subnet field's value.
  23073. func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
  23074. s.Subnet = v
  23075. return s
  23076. }
  23077. // Contains the parameters for CreateTags.
  23078. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsRequest
  23079. type CreateTagsInput struct {
  23080. _ struct{} `type:"structure"`
  23081. // Checks whether you have the required permissions for the action, without
  23082. // actually making the request, and provides an error response. If you have
  23083. // the required permissions, the error response is DryRunOperation. Otherwise,
  23084. // it is UnauthorizedOperation.
  23085. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23086. // The IDs of one or more resources to tag. For example, ami-1a2b3c4d.
  23087. //
  23088. // Resources is a required field
  23089. Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
  23090. // One or more tags. The value parameter is required, but if you don't want
  23091. // the tag to have a value, specify the parameter with no value, and we set
  23092. // the value to an empty string.
  23093. //
  23094. // Tags is a required field
  23095. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
  23096. }
  23097. // String returns the string representation
  23098. func (s CreateTagsInput) String() string {
  23099. return awsutil.Prettify(s)
  23100. }
  23101. // GoString returns the string representation
  23102. func (s CreateTagsInput) GoString() string {
  23103. return s.String()
  23104. }
  23105. // Validate inspects the fields of the type to determine if they are valid.
  23106. func (s *CreateTagsInput) Validate() error {
  23107. invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
  23108. if s.Resources == nil {
  23109. invalidParams.Add(request.NewErrParamRequired("Resources"))
  23110. }
  23111. if s.Tags == nil {
  23112. invalidParams.Add(request.NewErrParamRequired("Tags"))
  23113. }
  23114. if invalidParams.Len() > 0 {
  23115. return invalidParams
  23116. }
  23117. return nil
  23118. }
  23119. // SetDryRun sets the DryRun field's value.
  23120. func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
  23121. s.DryRun = &v
  23122. return s
  23123. }
  23124. // SetResources sets the Resources field's value.
  23125. func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
  23126. s.Resources = v
  23127. return s
  23128. }
  23129. // SetTags sets the Tags field's value.
  23130. func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
  23131. s.Tags = v
  23132. return s
  23133. }
  23134. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTagsOutput
  23135. type CreateTagsOutput struct {
  23136. _ struct{} `type:"structure"`
  23137. }
  23138. // String returns the string representation
  23139. func (s CreateTagsOutput) String() string {
  23140. return awsutil.Prettify(s)
  23141. }
  23142. // GoString returns the string representation
  23143. func (s CreateTagsOutput) GoString() string {
  23144. return s.String()
  23145. }
  23146. // Contains the parameters for CreateVolume.
  23147. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumeRequest
  23148. type CreateVolumeInput struct {
  23149. _ struct{} `type:"structure"`
  23150. // The Availability Zone in which to create the volume. Use DescribeAvailabilityZones
  23151. // to list the Availability Zones that are currently available to you.
  23152. //
  23153. // AvailabilityZone is a required field
  23154. AvailabilityZone *string `type:"string" required:"true"`
  23155. // Checks whether you have the required permissions for the action, without
  23156. // actually making the request, and provides an error response. If you have
  23157. // the required permissions, the error response is DryRunOperation. Otherwise,
  23158. // it is UnauthorizedOperation.
  23159. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23160. // Specifies whether the volume should be encrypted. Encrypted Amazon EBS volumes
  23161. // may only be attached to instances that support Amazon EBS encryption. Volumes
  23162. // that are created from encrypted snapshots are automatically encrypted. There
  23163. // is no way to create an encrypted volume from an unencrypted snapshot or vice
  23164. // versa. If your AMI uses encrypted volumes, you can only launch it on supported
  23165. // instance types. For more information, see Amazon EBS Encryption (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
  23166. // in the Amazon Elastic Compute Cloud User Guide.
  23167. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  23168. // Only valid for Provisioned IOPS SSD volumes. The number of I/O operations
  23169. // per second (IOPS) to provision for the volume, with a maximum ratio of 50
  23170. // IOPS/GiB.
  23171. //
  23172. // Constraint: Range is 100 to 20000 for Provisioned IOPS SSD volumes
  23173. Iops *int64 `type:"integer"`
  23174. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  23175. // key (CMK) to use when creating the encrypted volume. This parameter is only
  23176. // required if you want to use a non-default CMK; if this parameter is not specified,
  23177. // the default CMK for EBS is used. The ARN contains the arn:aws:kms namespace,
  23178. // followed by the region of the CMK, the AWS account ID of the CMK owner, the
  23179. // key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
  23180. // If a KmsKeyId is specified, the Encrypted flag must also be set.
  23181. KmsKeyId *string `type:"string"`
  23182. // The size of the volume, in GiBs.
  23183. //
  23184. // Constraints: 1-16384 for gp2, 4-16384 for io1, 500-16384 for st1, 500-16384
  23185. // for sc1, and 1-1024 for standard. If you specify a snapshot, the volume size
  23186. // must be equal to or larger than the snapshot size.
  23187. //
  23188. // Default: If you're creating the volume from a snapshot and don't specify
  23189. // a volume size, the default is the snapshot size.
  23190. Size *int64 `type:"integer"`
  23191. // The snapshot from which to create the volume.
  23192. SnapshotId *string `type:"string"`
  23193. // The tags to apply to the volume during creation.
  23194. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  23195. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  23196. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  23197. // for Magnetic volumes.
  23198. //
  23199. // Default: standard
  23200. VolumeType *string `type:"string" enum:"VolumeType"`
  23201. }
  23202. // String returns the string representation
  23203. func (s CreateVolumeInput) String() string {
  23204. return awsutil.Prettify(s)
  23205. }
  23206. // GoString returns the string representation
  23207. func (s CreateVolumeInput) GoString() string {
  23208. return s.String()
  23209. }
  23210. // Validate inspects the fields of the type to determine if they are valid.
  23211. func (s *CreateVolumeInput) Validate() error {
  23212. invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
  23213. if s.AvailabilityZone == nil {
  23214. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  23215. }
  23216. if invalidParams.Len() > 0 {
  23217. return invalidParams
  23218. }
  23219. return nil
  23220. }
  23221. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23222. func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
  23223. s.AvailabilityZone = &v
  23224. return s
  23225. }
  23226. // SetDryRun sets the DryRun field's value.
  23227. func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
  23228. s.DryRun = &v
  23229. return s
  23230. }
  23231. // SetEncrypted sets the Encrypted field's value.
  23232. func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
  23233. s.Encrypted = &v
  23234. return s
  23235. }
  23236. // SetIops sets the Iops field's value.
  23237. func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
  23238. s.Iops = &v
  23239. return s
  23240. }
  23241. // SetKmsKeyId sets the KmsKeyId field's value.
  23242. func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
  23243. s.KmsKeyId = &v
  23244. return s
  23245. }
  23246. // SetSize sets the Size field's value.
  23247. func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
  23248. s.Size = &v
  23249. return s
  23250. }
  23251. // SetSnapshotId sets the SnapshotId field's value.
  23252. func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
  23253. s.SnapshotId = &v
  23254. return s
  23255. }
  23256. // SetTagSpecifications sets the TagSpecifications field's value.
  23257. func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
  23258. s.TagSpecifications = v
  23259. return s
  23260. }
  23261. // SetVolumeType sets the VolumeType field's value.
  23262. func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
  23263. s.VolumeType = &v
  23264. return s
  23265. }
  23266. // Describes the user or group to be added or removed from the permissions for
  23267. // a volume.
  23268. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermission
  23269. type CreateVolumePermission struct {
  23270. _ struct{} `type:"structure"`
  23271. // The specific group that is to be added or removed from a volume's list of
  23272. // create volume permissions.
  23273. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  23274. // The specific AWS account ID that is to be added or removed from a volume's
  23275. // list of create volume permissions.
  23276. UserId *string `locationName:"userId" type:"string"`
  23277. }
  23278. // String returns the string representation
  23279. func (s CreateVolumePermission) String() string {
  23280. return awsutil.Prettify(s)
  23281. }
  23282. // GoString returns the string representation
  23283. func (s CreateVolumePermission) GoString() string {
  23284. return s.String()
  23285. }
  23286. // SetGroup sets the Group field's value.
  23287. func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
  23288. s.Group = &v
  23289. return s
  23290. }
  23291. // SetUserId sets the UserId field's value.
  23292. func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
  23293. s.UserId = &v
  23294. return s
  23295. }
  23296. // Describes modifications to the permissions for a volume.
  23297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolumePermissionModifications
  23298. type CreateVolumePermissionModifications struct {
  23299. _ struct{} `type:"structure"`
  23300. // Adds a specific AWS account ID or group to a volume's list of create volume
  23301. // permissions.
  23302. Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
  23303. // Removes a specific AWS account ID or group from a volume's list of create
  23304. // volume permissions.
  23305. Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
  23306. }
  23307. // String returns the string representation
  23308. func (s CreateVolumePermissionModifications) String() string {
  23309. return awsutil.Prettify(s)
  23310. }
  23311. // GoString returns the string representation
  23312. func (s CreateVolumePermissionModifications) GoString() string {
  23313. return s.String()
  23314. }
  23315. // SetAdd sets the Add field's value.
  23316. func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  23317. s.Add = v
  23318. return s
  23319. }
  23320. // SetRemove sets the Remove field's value.
  23321. func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
  23322. s.Remove = v
  23323. return s
  23324. }
  23325. // Contains the parameters for CreateVpcEndpoint.
  23326. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointRequest
  23327. type CreateVpcEndpointInput struct {
  23328. _ struct{} `type:"structure"`
  23329. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  23330. // the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  23331. ClientToken *string `type:"string"`
  23332. // Checks whether you have the required permissions for the action, without
  23333. // actually making the request, and provides an error response. If you have
  23334. // the required permissions, the error response is DryRunOperation. Otherwise,
  23335. // it is UnauthorizedOperation.
  23336. DryRun *bool `type:"boolean"`
  23337. // A policy to attach to the endpoint that controls access to the service. The
  23338. // policy must be in valid JSON format. If this parameter is not specified,
  23339. // we attach a default policy that allows full access to the service.
  23340. PolicyDocument *string `type:"string"`
  23341. // One or more route table IDs.
  23342. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  23343. // The AWS service name, in the form com.amazonaws.region.service. To get a
  23344. // list of available services, use the DescribeVpcEndpointServices request.
  23345. //
  23346. // ServiceName is a required field
  23347. ServiceName *string `type:"string" required:"true"`
  23348. // The ID of the VPC in which the endpoint will be used.
  23349. //
  23350. // VpcId is a required field
  23351. VpcId *string `type:"string" required:"true"`
  23352. }
  23353. // String returns the string representation
  23354. func (s CreateVpcEndpointInput) String() string {
  23355. return awsutil.Prettify(s)
  23356. }
  23357. // GoString returns the string representation
  23358. func (s CreateVpcEndpointInput) GoString() string {
  23359. return s.String()
  23360. }
  23361. // Validate inspects the fields of the type to determine if they are valid.
  23362. func (s *CreateVpcEndpointInput) Validate() error {
  23363. invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
  23364. if s.ServiceName == nil {
  23365. invalidParams.Add(request.NewErrParamRequired("ServiceName"))
  23366. }
  23367. if s.VpcId == nil {
  23368. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  23369. }
  23370. if invalidParams.Len() > 0 {
  23371. return invalidParams
  23372. }
  23373. return nil
  23374. }
  23375. // SetClientToken sets the ClientToken field's value.
  23376. func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
  23377. s.ClientToken = &v
  23378. return s
  23379. }
  23380. // SetDryRun sets the DryRun field's value.
  23381. func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
  23382. s.DryRun = &v
  23383. return s
  23384. }
  23385. // SetPolicyDocument sets the PolicyDocument field's value.
  23386. func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
  23387. s.PolicyDocument = &v
  23388. return s
  23389. }
  23390. // SetRouteTableIds sets the RouteTableIds field's value.
  23391. func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
  23392. s.RouteTableIds = v
  23393. return s
  23394. }
  23395. // SetServiceName sets the ServiceName field's value.
  23396. func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
  23397. s.ServiceName = &v
  23398. return s
  23399. }
  23400. // SetVpcId sets the VpcId field's value.
  23401. func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
  23402. s.VpcId = &v
  23403. return s
  23404. }
  23405. // Contains the output of CreateVpcEndpoint.
  23406. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointResult
  23407. type CreateVpcEndpointOutput struct {
  23408. _ struct{} `type:"structure"`
  23409. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  23410. // the request.
  23411. ClientToken *string `locationName:"clientToken" type:"string"`
  23412. // Information about the endpoint.
  23413. VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
  23414. }
  23415. // String returns the string representation
  23416. func (s CreateVpcEndpointOutput) String() string {
  23417. return awsutil.Prettify(s)
  23418. }
  23419. // GoString returns the string representation
  23420. func (s CreateVpcEndpointOutput) GoString() string {
  23421. return s.String()
  23422. }
  23423. // SetClientToken sets the ClientToken field's value.
  23424. func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
  23425. s.ClientToken = &v
  23426. return s
  23427. }
  23428. // SetVpcEndpoint sets the VpcEndpoint field's value.
  23429. func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
  23430. s.VpcEndpoint = v
  23431. return s
  23432. }
  23433. // Contains the parameters for CreateVpc.
  23434. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcRequest
  23435. type CreateVpcInput struct {
  23436. _ struct{} `type:"structure"`
  23437. // Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
  23438. // the VPC. You cannot specify the range of IP addresses, or the size of the
  23439. // CIDR block.
  23440. AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
  23441. // The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
  23442. //
  23443. // CidrBlock is a required field
  23444. CidrBlock *string `type:"string" required:"true"`
  23445. // Checks whether you have the required permissions for the action, without
  23446. // actually making the request, and provides an error response. If you have
  23447. // the required permissions, the error response is DryRunOperation. Otherwise,
  23448. // it is UnauthorizedOperation.
  23449. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23450. // The tenancy options for instances launched into the VPC. For default, instances
  23451. // are launched with shared tenancy by default. You can launch instances with
  23452. // any tenancy into a shared tenancy VPC. For dedicated, instances are launched
  23453. // as dedicated tenancy instances by default. You can only launch instances
  23454. // with a tenancy of dedicated or host into a dedicated tenancy VPC.
  23455. //
  23456. // Important: The host value cannot be used with this parameter. Use the default
  23457. // or dedicated values only.
  23458. //
  23459. // Default: default
  23460. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  23461. }
  23462. // String returns the string representation
  23463. func (s CreateVpcInput) String() string {
  23464. return awsutil.Prettify(s)
  23465. }
  23466. // GoString returns the string representation
  23467. func (s CreateVpcInput) GoString() string {
  23468. return s.String()
  23469. }
  23470. // Validate inspects the fields of the type to determine if they are valid.
  23471. func (s *CreateVpcInput) Validate() error {
  23472. invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
  23473. if s.CidrBlock == nil {
  23474. invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
  23475. }
  23476. if invalidParams.Len() > 0 {
  23477. return invalidParams
  23478. }
  23479. return nil
  23480. }
  23481. // SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
  23482. func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
  23483. s.AmazonProvidedIpv6CidrBlock = &v
  23484. return s
  23485. }
  23486. // SetCidrBlock sets the CidrBlock field's value.
  23487. func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
  23488. s.CidrBlock = &v
  23489. return s
  23490. }
  23491. // SetDryRun sets the DryRun field's value.
  23492. func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
  23493. s.DryRun = &v
  23494. return s
  23495. }
  23496. // SetInstanceTenancy sets the InstanceTenancy field's value.
  23497. func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
  23498. s.InstanceTenancy = &v
  23499. return s
  23500. }
  23501. // Contains the output of CreateVpc.
  23502. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcResult
  23503. type CreateVpcOutput struct {
  23504. _ struct{} `type:"structure"`
  23505. // Information about the VPC.
  23506. Vpc *Vpc `locationName:"vpc" type:"structure"`
  23507. }
  23508. // String returns the string representation
  23509. func (s CreateVpcOutput) String() string {
  23510. return awsutil.Prettify(s)
  23511. }
  23512. // GoString returns the string representation
  23513. func (s CreateVpcOutput) GoString() string {
  23514. return s.String()
  23515. }
  23516. // SetVpc sets the Vpc field's value.
  23517. func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
  23518. s.Vpc = v
  23519. return s
  23520. }
  23521. // Contains the parameters for CreateVpcPeeringConnection.
  23522. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionRequest
  23523. type CreateVpcPeeringConnectionInput struct {
  23524. _ struct{} `type:"structure"`
  23525. // Checks whether you have the required permissions for the action, without
  23526. // actually making the request, and provides an error response. If you have
  23527. // the required permissions, the error response is DryRunOperation. Otherwise,
  23528. // it is UnauthorizedOperation.
  23529. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23530. // The AWS account ID of the owner of the peer VPC.
  23531. //
  23532. // Default: Your AWS account ID
  23533. PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
  23534. // The ID of the VPC with which you are creating the VPC peering connection.
  23535. PeerVpcId *string `locationName:"peerVpcId" type:"string"`
  23536. // The ID of the requester VPC.
  23537. VpcId *string `locationName:"vpcId" type:"string"`
  23538. }
  23539. // String returns the string representation
  23540. func (s CreateVpcPeeringConnectionInput) String() string {
  23541. return awsutil.Prettify(s)
  23542. }
  23543. // GoString returns the string representation
  23544. func (s CreateVpcPeeringConnectionInput) GoString() string {
  23545. return s.String()
  23546. }
  23547. // SetDryRun sets the DryRun field's value.
  23548. func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
  23549. s.DryRun = &v
  23550. return s
  23551. }
  23552. // SetPeerOwnerId sets the PeerOwnerId field's value.
  23553. func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
  23554. s.PeerOwnerId = &v
  23555. return s
  23556. }
  23557. // SetPeerVpcId sets the PeerVpcId field's value.
  23558. func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
  23559. s.PeerVpcId = &v
  23560. return s
  23561. }
  23562. // SetVpcId sets the VpcId field's value.
  23563. func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
  23564. s.VpcId = &v
  23565. return s
  23566. }
  23567. // Contains the output of CreateVpcPeeringConnection.
  23568. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnectionResult
  23569. type CreateVpcPeeringConnectionOutput struct {
  23570. _ struct{} `type:"structure"`
  23571. // Information about the VPC peering connection.
  23572. VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
  23573. }
  23574. // String returns the string representation
  23575. func (s CreateVpcPeeringConnectionOutput) String() string {
  23576. return awsutil.Prettify(s)
  23577. }
  23578. // GoString returns the string representation
  23579. func (s CreateVpcPeeringConnectionOutput) GoString() string {
  23580. return s.String()
  23581. }
  23582. // SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
  23583. func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
  23584. s.VpcPeeringConnection = v
  23585. return s
  23586. }
  23587. // Contains the parameters for CreateVpnConnection.
  23588. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRequest
  23589. type CreateVpnConnectionInput struct {
  23590. _ struct{} `type:"structure"`
  23591. // The ID of the customer gateway.
  23592. //
  23593. // CustomerGatewayId is a required field
  23594. CustomerGatewayId *string `type:"string" required:"true"`
  23595. // Checks whether you have the required permissions for the action, without
  23596. // actually making the request, and provides an error response. If you have
  23597. // the required permissions, the error response is DryRunOperation. Otherwise,
  23598. // it is UnauthorizedOperation.
  23599. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23600. // Indicates whether the VPN connection requires static routes. If you are creating
  23601. // a VPN connection for a device that does not support BGP, you must specify
  23602. // true.
  23603. //
  23604. // Default: false
  23605. Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
  23606. // The type of VPN connection (ipsec.1).
  23607. //
  23608. // Type is a required field
  23609. Type *string `type:"string" required:"true"`
  23610. // The ID of the virtual private gateway.
  23611. //
  23612. // VpnGatewayId is a required field
  23613. VpnGatewayId *string `type:"string" required:"true"`
  23614. }
  23615. // String returns the string representation
  23616. func (s CreateVpnConnectionInput) String() string {
  23617. return awsutil.Prettify(s)
  23618. }
  23619. // GoString returns the string representation
  23620. func (s CreateVpnConnectionInput) GoString() string {
  23621. return s.String()
  23622. }
  23623. // Validate inspects the fields of the type to determine if they are valid.
  23624. func (s *CreateVpnConnectionInput) Validate() error {
  23625. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
  23626. if s.CustomerGatewayId == nil {
  23627. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  23628. }
  23629. if s.Type == nil {
  23630. invalidParams.Add(request.NewErrParamRequired("Type"))
  23631. }
  23632. if s.VpnGatewayId == nil {
  23633. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  23634. }
  23635. if invalidParams.Len() > 0 {
  23636. return invalidParams
  23637. }
  23638. return nil
  23639. }
  23640. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  23641. func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
  23642. s.CustomerGatewayId = &v
  23643. return s
  23644. }
  23645. // SetDryRun sets the DryRun field's value.
  23646. func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
  23647. s.DryRun = &v
  23648. return s
  23649. }
  23650. // SetOptions sets the Options field's value.
  23651. func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
  23652. s.Options = v
  23653. return s
  23654. }
  23655. // SetType sets the Type field's value.
  23656. func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
  23657. s.Type = &v
  23658. return s
  23659. }
  23660. // SetVpnGatewayId sets the VpnGatewayId field's value.
  23661. func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
  23662. s.VpnGatewayId = &v
  23663. return s
  23664. }
  23665. // Contains the output of CreateVpnConnection.
  23666. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionResult
  23667. type CreateVpnConnectionOutput struct {
  23668. _ struct{} `type:"structure"`
  23669. // Information about the VPN connection.
  23670. VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
  23671. }
  23672. // String returns the string representation
  23673. func (s CreateVpnConnectionOutput) String() string {
  23674. return awsutil.Prettify(s)
  23675. }
  23676. // GoString returns the string representation
  23677. func (s CreateVpnConnectionOutput) GoString() string {
  23678. return s.String()
  23679. }
  23680. // SetVpnConnection sets the VpnConnection field's value.
  23681. func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
  23682. s.VpnConnection = v
  23683. return s
  23684. }
  23685. // Contains the parameters for CreateVpnConnectionRoute.
  23686. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteRequest
  23687. type CreateVpnConnectionRouteInput struct {
  23688. _ struct{} `type:"structure"`
  23689. // The CIDR block associated with the local subnet of the customer network.
  23690. //
  23691. // DestinationCidrBlock is a required field
  23692. DestinationCidrBlock *string `type:"string" required:"true"`
  23693. // The ID of the VPN connection.
  23694. //
  23695. // VpnConnectionId is a required field
  23696. VpnConnectionId *string `type:"string" required:"true"`
  23697. }
  23698. // String returns the string representation
  23699. func (s CreateVpnConnectionRouteInput) String() string {
  23700. return awsutil.Prettify(s)
  23701. }
  23702. // GoString returns the string representation
  23703. func (s CreateVpnConnectionRouteInput) GoString() string {
  23704. return s.String()
  23705. }
  23706. // Validate inspects the fields of the type to determine if they are valid.
  23707. func (s *CreateVpnConnectionRouteInput) Validate() error {
  23708. invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
  23709. if s.DestinationCidrBlock == nil {
  23710. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  23711. }
  23712. if s.VpnConnectionId == nil {
  23713. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  23714. }
  23715. if invalidParams.Len() > 0 {
  23716. return invalidParams
  23717. }
  23718. return nil
  23719. }
  23720. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  23721. func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
  23722. s.DestinationCidrBlock = &v
  23723. return s
  23724. }
  23725. // SetVpnConnectionId sets the VpnConnectionId field's value.
  23726. func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
  23727. s.VpnConnectionId = &v
  23728. return s
  23729. }
  23730. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRouteOutput
  23731. type CreateVpnConnectionRouteOutput struct {
  23732. _ struct{} `type:"structure"`
  23733. }
  23734. // String returns the string representation
  23735. func (s CreateVpnConnectionRouteOutput) String() string {
  23736. return awsutil.Prettify(s)
  23737. }
  23738. // GoString returns the string representation
  23739. func (s CreateVpnConnectionRouteOutput) GoString() string {
  23740. return s.String()
  23741. }
  23742. // Contains the parameters for CreateVpnGateway.
  23743. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayRequest
  23744. type CreateVpnGatewayInput struct {
  23745. _ struct{} `type:"structure"`
  23746. // The Availability Zone for the virtual private gateway.
  23747. AvailabilityZone *string `type:"string"`
  23748. // Checks whether you have the required permissions for the action, without
  23749. // actually making the request, and provides an error response. If you have
  23750. // the required permissions, the error response is DryRunOperation. Otherwise,
  23751. // it is UnauthorizedOperation.
  23752. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23753. // The type of VPN connection this virtual private gateway supports.
  23754. //
  23755. // Type is a required field
  23756. Type *string `type:"string" required:"true" enum:"GatewayType"`
  23757. }
  23758. // String returns the string representation
  23759. func (s CreateVpnGatewayInput) String() string {
  23760. return awsutil.Prettify(s)
  23761. }
  23762. // GoString returns the string representation
  23763. func (s CreateVpnGatewayInput) GoString() string {
  23764. return s.String()
  23765. }
  23766. // Validate inspects the fields of the type to determine if they are valid.
  23767. func (s *CreateVpnGatewayInput) Validate() error {
  23768. invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
  23769. if s.Type == nil {
  23770. invalidParams.Add(request.NewErrParamRequired("Type"))
  23771. }
  23772. if invalidParams.Len() > 0 {
  23773. return invalidParams
  23774. }
  23775. return nil
  23776. }
  23777. // SetAvailabilityZone sets the AvailabilityZone field's value.
  23778. func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
  23779. s.AvailabilityZone = &v
  23780. return s
  23781. }
  23782. // SetDryRun sets the DryRun field's value.
  23783. func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
  23784. s.DryRun = &v
  23785. return s
  23786. }
  23787. // SetType sets the Type field's value.
  23788. func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
  23789. s.Type = &v
  23790. return s
  23791. }
  23792. // Contains the output of CreateVpnGateway.
  23793. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGatewayResult
  23794. type CreateVpnGatewayOutput struct {
  23795. _ struct{} `type:"structure"`
  23796. // Information about the virtual private gateway.
  23797. VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
  23798. }
  23799. // String returns the string representation
  23800. func (s CreateVpnGatewayOutput) String() string {
  23801. return awsutil.Prettify(s)
  23802. }
  23803. // GoString returns the string representation
  23804. func (s CreateVpnGatewayOutput) GoString() string {
  23805. return s.String()
  23806. }
  23807. // SetVpnGateway sets the VpnGateway field's value.
  23808. func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
  23809. s.VpnGateway = v
  23810. return s
  23811. }
  23812. // Describes a customer gateway.
  23813. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CustomerGateway
  23814. type CustomerGateway struct {
  23815. _ struct{} `type:"structure"`
  23816. // The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
  23817. // (ASN).
  23818. BgpAsn *string `locationName:"bgpAsn" type:"string"`
  23819. // The ID of the customer gateway.
  23820. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  23821. // The Internet-routable IP address of the customer gateway's outside interface.
  23822. IpAddress *string `locationName:"ipAddress" type:"string"`
  23823. // The current state of the customer gateway (pending | available | deleting
  23824. // | deleted).
  23825. State *string `locationName:"state" type:"string"`
  23826. // Any tags assigned to the customer gateway.
  23827. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  23828. // The type of VPN connection the customer gateway supports (ipsec.1).
  23829. Type *string `locationName:"type" type:"string"`
  23830. }
  23831. // String returns the string representation
  23832. func (s CustomerGateway) String() string {
  23833. return awsutil.Prettify(s)
  23834. }
  23835. // GoString returns the string representation
  23836. func (s CustomerGateway) GoString() string {
  23837. return s.String()
  23838. }
  23839. // SetBgpAsn sets the BgpAsn field's value.
  23840. func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
  23841. s.BgpAsn = &v
  23842. return s
  23843. }
  23844. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  23845. func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
  23846. s.CustomerGatewayId = &v
  23847. return s
  23848. }
  23849. // SetIpAddress sets the IpAddress field's value.
  23850. func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
  23851. s.IpAddress = &v
  23852. return s
  23853. }
  23854. // SetState sets the State field's value.
  23855. func (s *CustomerGateway) SetState(v string) *CustomerGateway {
  23856. s.State = &v
  23857. return s
  23858. }
  23859. // SetTags sets the Tags field's value.
  23860. func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
  23861. s.Tags = v
  23862. return s
  23863. }
  23864. // SetType sets the Type field's value.
  23865. func (s *CustomerGateway) SetType(v string) *CustomerGateway {
  23866. s.Type = &v
  23867. return s
  23868. }
  23869. // Contains the parameters for DeleteCustomerGateway.
  23870. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayRequest
  23871. type DeleteCustomerGatewayInput struct {
  23872. _ struct{} `type:"structure"`
  23873. // The ID of the customer gateway.
  23874. //
  23875. // CustomerGatewayId is a required field
  23876. CustomerGatewayId *string `type:"string" required:"true"`
  23877. // Checks whether you have the required permissions for the action, without
  23878. // actually making the request, and provides an error response. If you have
  23879. // the required permissions, the error response is DryRunOperation. Otherwise,
  23880. // it is UnauthorizedOperation.
  23881. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23882. }
  23883. // String returns the string representation
  23884. func (s DeleteCustomerGatewayInput) String() string {
  23885. return awsutil.Prettify(s)
  23886. }
  23887. // GoString returns the string representation
  23888. func (s DeleteCustomerGatewayInput) GoString() string {
  23889. return s.String()
  23890. }
  23891. // Validate inspects the fields of the type to determine if they are valid.
  23892. func (s *DeleteCustomerGatewayInput) Validate() error {
  23893. invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
  23894. if s.CustomerGatewayId == nil {
  23895. invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
  23896. }
  23897. if invalidParams.Len() > 0 {
  23898. return invalidParams
  23899. }
  23900. return nil
  23901. }
  23902. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  23903. func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
  23904. s.CustomerGatewayId = &v
  23905. return s
  23906. }
  23907. // SetDryRun sets the DryRun field's value.
  23908. func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
  23909. s.DryRun = &v
  23910. return s
  23911. }
  23912. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGatewayOutput
  23913. type DeleteCustomerGatewayOutput struct {
  23914. _ struct{} `type:"structure"`
  23915. }
  23916. // String returns the string representation
  23917. func (s DeleteCustomerGatewayOutput) String() string {
  23918. return awsutil.Prettify(s)
  23919. }
  23920. // GoString returns the string representation
  23921. func (s DeleteCustomerGatewayOutput) GoString() string {
  23922. return s.String()
  23923. }
  23924. // Contains the parameters for DeleteDhcpOptions.
  23925. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsRequest
  23926. type DeleteDhcpOptionsInput struct {
  23927. _ struct{} `type:"structure"`
  23928. // The ID of the DHCP options set.
  23929. //
  23930. // DhcpOptionsId is a required field
  23931. DhcpOptionsId *string `type:"string" required:"true"`
  23932. // Checks whether you have the required permissions for the action, without
  23933. // actually making the request, and provides an error response. If you have
  23934. // the required permissions, the error response is DryRunOperation. Otherwise,
  23935. // it is UnauthorizedOperation.
  23936. DryRun *bool `locationName:"dryRun" type:"boolean"`
  23937. }
  23938. // String returns the string representation
  23939. func (s DeleteDhcpOptionsInput) String() string {
  23940. return awsutil.Prettify(s)
  23941. }
  23942. // GoString returns the string representation
  23943. func (s DeleteDhcpOptionsInput) GoString() string {
  23944. return s.String()
  23945. }
  23946. // Validate inspects the fields of the type to determine if they are valid.
  23947. func (s *DeleteDhcpOptionsInput) Validate() error {
  23948. invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
  23949. if s.DhcpOptionsId == nil {
  23950. invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
  23951. }
  23952. if invalidParams.Len() > 0 {
  23953. return invalidParams
  23954. }
  23955. return nil
  23956. }
  23957. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  23958. func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
  23959. s.DhcpOptionsId = &v
  23960. return s
  23961. }
  23962. // SetDryRun sets the DryRun field's value.
  23963. func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
  23964. s.DryRun = &v
  23965. return s
  23966. }
  23967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptionsOutput
  23968. type DeleteDhcpOptionsOutput struct {
  23969. _ struct{} `type:"structure"`
  23970. }
  23971. // String returns the string representation
  23972. func (s DeleteDhcpOptionsOutput) String() string {
  23973. return awsutil.Prettify(s)
  23974. }
  23975. // GoString returns the string representation
  23976. func (s DeleteDhcpOptionsOutput) GoString() string {
  23977. return s.String()
  23978. }
  23979. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayRequest
  23980. type DeleteEgressOnlyInternetGatewayInput struct {
  23981. _ struct{} `type:"structure"`
  23982. // Checks whether you have the required permissions for the action, without
  23983. // actually making the request, and provides an error response. If you have
  23984. // the required permissions, the error response is DryRunOperation. Otherwise,
  23985. // it is UnauthorizedOperation.
  23986. DryRun *bool `type:"boolean"`
  23987. // The ID of the egress-only Internet gateway.
  23988. //
  23989. // EgressOnlyInternetGatewayId is a required field
  23990. EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
  23991. }
  23992. // String returns the string representation
  23993. func (s DeleteEgressOnlyInternetGatewayInput) String() string {
  23994. return awsutil.Prettify(s)
  23995. }
  23996. // GoString returns the string representation
  23997. func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
  23998. return s.String()
  23999. }
  24000. // Validate inspects the fields of the type to determine if they are valid.
  24001. func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
  24002. invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
  24003. if s.EgressOnlyInternetGatewayId == nil {
  24004. invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
  24005. }
  24006. if invalidParams.Len() > 0 {
  24007. return invalidParams
  24008. }
  24009. return nil
  24010. }
  24011. // SetDryRun sets the DryRun field's value.
  24012. func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
  24013. s.DryRun = &v
  24014. return s
  24015. }
  24016. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  24017. func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
  24018. s.EgressOnlyInternetGatewayId = &v
  24019. return s
  24020. }
  24021. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGatewayResult
  24022. type DeleteEgressOnlyInternetGatewayOutput struct {
  24023. _ struct{} `type:"structure"`
  24024. // Returns true if the request succeeds; otherwise, it returns an error.
  24025. ReturnCode *bool `locationName:"returnCode" type:"boolean"`
  24026. }
  24027. // String returns the string representation
  24028. func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
  24029. return awsutil.Prettify(s)
  24030. }
  24031. // GoString returns the string representation
  24032. func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
  24033. return s.String()
  24034. }
  24035. // SetReturnCode sets the ReturnCode field's value.
  24036. func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
  24037. s.ReturnCode = &v
  24038. return s
  24039. }
  24040. // Contains the parameters for DeleteFlowLogs.
  24041. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsRequest
  24042. type DeleteFlowLogsInput struct {
  24043. _ struct{} `type:"structure"`
  24044. // One or more flow log IDs.
  24045. //
  24046. // FlowLogIds is a required field
  24047. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
  24048. }
  24049. // String returns the string representation
  24050. func (s DeleteFlowLogsInput) String() string {
  24051. return awsutil.Prettify(s)
  24052. }
  24053. // GoString returns the string representation
  24054. func (s DeleteFlowLogsInput) GoString() string {
  24055. return s.String()
  24056. }
  24057. // Validate inspects the fields of the type to determine if they are valid.
  24058. func (s *DeleteFlowLogsInput) Validate() error {
  24059. invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
  24060. if s.FlowLogIds == nil {
  24061. invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
  24062. }
  24063. if invalidParams.Len() > 0 {
  24064. return invalidParams
  24065. }
  24066. return nil
  24067. }
  24068. // SetFlowLogIds sets the FlowLogIds field's value.
  24069. func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
  24070. s.FlowLogIds = v
  24071. return s
  24072. }
  24073. // Contains the output of DeleteFlowLogs.
  24074. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogsResult
  24075. type DeleteFlowLogsOutput struct {
  24076. _ struct{} `type:"structure"`
  24077. // Information about the flow logs that could not be deleted successfully.
  24078. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  24079. }
  24080. // String returns the string representation
  24081. func (s DeleteFlowLogsOutput) String() string {
  24082. return awsutil.Prettify(s)
  24083. }
  24084. // GoString returns the string representation
  24085. func (s DeleteFlowLogsOutput) GoString() string {
  24086. return s.String()
  24087. }
  24088. // SetUnsuccessful sets the Unsuccessful field's value.
  24089. func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
  24090. s.Unsuccessful = v
  24091. return s
  24092. }
  24093. // Contains the parameters for DeleteInternetGateway.
  24094. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayRequest
  24095. type DeleteInternetGatewayInput struct {
  24096. _ struct{} `type:"structure"`
  24097. // Checks whether you have the required permissions for the action, without
  24098. // actually making the request, and provides an error response. If you have
  24099. // the required permissions, the error response is DryRunOperation. Otherwise,
  24100. // it is UnauthorizedOperation.
  24101. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24102. // The ID of the Internet gateway.
  24103. //
  24104. // InternetGatewayId is a required field
  24105. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  24106. }
  24107. // String returns the string representation
  24108. func (s DeleteInternetGatewayInput) String() string {
  24109. return awsutil.Prettify(s)
  24110. }
  24111. // GoString returns the string representation
  24112. func (s DeleteInternetGatewayInput) GoString() string {
  24113. return s.String()
  24114. }
  24115. // Validate inspects the fields of the type to determine if they are valid.
  24116. func (s *DeleteInternetGatewayInput) Validate() error {
  24117. invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
  24118. if s.InternetGatewayId == nil {
  24119. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  24120. }
  24121. if invalidParams.Len() > 0 {
  24122. return invalidParams
  24123. }
  24124. return nil
  24125. }
  24126. // SetDryRun sets the DryRun field's value.
  24127. func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
  24128. s.DryRun = &v
  24129. return s
  24130. }
  24131. // SetInternetGatewayId sets the InternetGatewayId field's value.
  24132. func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
  24133. s.InternetGatewayId = &v
  24134. return s
  24135. }
  24136. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGatewayOutput
  24137. type DeleteInternetGatewayOutput struct {
  24138. _ struct{} `type:"structure"`
  24139. }
  24140. // String returns the string representation
  24141. func (s DeleteInternetGatewayOutput) String() string {
  24142. return awsutil.Prettify(s)
  24143. }
  24144. // GoString returns the string representation
  24145. func (s DeleteInternetGatewayOutput) GoString() string {
  24146. return s.String()
  24147. }
  24148. // Contains the parameters for DeleteKeyPair.
  24149. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairRequest
  24150. type DeleteKeyPairInput struct {
  24151. _ struct{} `type:"structure"`
  24152. // Checks whether you have the required permissions for the action, without
  24153. // actually making the request, and provides an error response. If you have
  24154. // the required permissions, the error response is DryRunOperation. Otherwise,
  24155. // it is UnauthorizedOperation.
  24156. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24157. // The name of the key pair.
  24158. //
  24159. // KeyName is a required field
  24160. KeyName *string `type:"string" required:"true"`
  24161. }
  24162. // String returns the string representation
  24163. func (s DeleteKeyPairInput) String() string {
  24164. return awsutil.Prettify(s)
  24165. }
  24166. // GoString returns the string representation
  24167. func (s DeleteKeyPairInput) GoString() string {
  24168. return s.String()
  24169. }
  24170. // Validate inspects the fields of the type to determine if they are valid.
  24171. func (s *DeleteKeyPairInput) Validate() error {
  24172. invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
  24173. if s.KeyName == nil {
  24174. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  24175. }
  24176. if invalidParams.Len() > 0 {
  24177. return invalidParams
  24178. }
  24179. return nil
  24180. }
  24181. // SetDryRun sets the DryRun field's value.
  24182. func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
  24183. s.DryRun = &v
  24184. return s
  24185. }
  24186. // SetKeyName sets the KeyName field's value.
  24187. func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
  24188. s.KeyName = &v
  24189. return s
  24190. }
  24191. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPairOutput
  24192. type DeleteKeyPairOutput struct {
  24193. _ struct{} `type:"structure"`
  24194. }
  24195. // String returns the string representation
  24196. func (s DeleteKeyPairOutput) String() string {
  24197. return awsutil.Prettify(s)
  24198. }
  24199. // GoString returns the string representation
  24200. func (s DeleteKeyPairOutput) GoString() string {
  24201. return s.String()
  24202. }
  24203. // Contains the parameters for DeleteNatGateway.
  24204. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayRequest
  24205. type DeleteNatGatewayInput struct {
  24206. _ struct{} `type:"structure"`
  24207. // The ID of the NAT gateway.
  24208. //
  24209. // NatGatewayId is a required field
  24210. NatGatewayId *string `type:"string" required:"true"`
  24211. }
  24212. // String returns the string representation
  24213. func (s DeleteNatGatewayInput) String() string {
  24214. return awsutil.Prettify(s)
  24215. }
  24216. // GoString returns the string representation
  24217. func (s DeleteNatGatewayInput) GoString() string {
  24218. return s.String()
  24219. }
  24220. // Validate inspects the fields of the type to determine if they are valid.
  24221. func (s *DeleteNatGatewayInput) Validate() error {
  24222. invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
  24223. if s.NatGatewayId == nil {
  24224. invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
  24225. }
  24226. if invalidParams.Len() > 0 {
  24227. return invalidParams
  24228. }
  24229. return nil
  24230. }
  24231. // SetNatGatewayId sets the NatGatewayId field's value.
  24232. func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
  24233. s.NatGatewayId = &v
  24234. return s
  24235. }
  24236. // Contains the output of DeleteNatGateway.
  24237. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGatewayResult
  24238. type DeleteNatGatewayOutput struct {
  24239. _ struct{} `type:"structure"`
  24240. // The ID of the NAT gateway.
  24241. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  24242. }
  24243. // String returns the string representation
  24244. func (s DeleteNatGatewayOutput) String() string {
  24245. return awsutil.Prettify(s)
  24246. }
  24247. // GoString returns the string representation
  24248. func (s DeleteNatGatewayOutput) GoString() string {
  24249. return s.String()
  24250. }
  24251. // SetNatGatewayId sets the NatGatewayId field's value.
  24252. func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
  24253. s.NatGatewayId = &v
  24254. return s
  24255. }
  24256. // Contains the parameters for DeleteNetworkAclEntry.
  24257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryRequest
  24258. type DeleteNetworkAclEntryInput struct {
  24259. _ struct{} `type:"structure"`
  24260. // Checks whether you have the required permissions for the action, without
  24261. // actually making the request, and provides an error response. If you have
  24262. // the required permissions, the error response is DryRunOperation. Otherwise,
  24263. // it is UnauthorizedOperation.
  24264. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24265. // Indicates whether the rule is an egress rule.
  24266. //
  24267. // Egress is a required field
  24268. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  24269. // The ID of the network ACL.
  24270. //
  24271. // NetworkAclId is a required field
  24272. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  24273. // The rule number of the entry to delete.
  24274. //
  24275. // RuleNumber is a required field
  24276. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  24277. }
  24278. // String returns the string representation
  24279. func (s DeleteNetworkAclEntryInput) String() string {
  24280. return awsutil.Prettify(s)
  24281. }
  24282. // GoString returns the string representation
  24283. func (s DeleteNetworkAclEntryInput) GoString() string {
  24284. return s.String()
  24285. }
  24286. // Validate inspects the fields of the type to determine if they are valid.
  24287. func (s *DeleteNetworkAclEntryInput) Validate() error {
  24288. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
  24289. if s.Egress == nil {
  24290. invalidParams.Add(request.NewErrParamRequired("Egress"))
  24291. }
  24292. if s.NetworkAclId == nil {
  24293. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  24294. }
  24295. if s.RuleNumber == nil {
  24296. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  24297. }
  24298. if invalidParams.Len() > 0 {
  24299. return invalidParams
  24300. }
  24301. return nil
  24302. }
  24303. // SetDryRun sets the DryRun field's value.
  24304. func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
  24305. s.DryRun = &v
  24306. return s
  24307. }
  24308. // SetEgress sets the Egress field's value.
  24309. func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
  24310. s.Egress = &v
  24311. return s
  24312. }
  24313. // SetNetworkAclId sets the NetworkAclId field's value.
  24314. func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
  24315. s.NetworkAclId = &v
  24316. return s
  24317. }
  24318. // SetRuleNumber sets the RuleNumber field's value.
  24319. func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
  24320. s.RuleNumber = &v
  24321. return s
  24322. }
  24323. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntryOutput
  24324. type DeleteNetworkAclEntryOutput struct {
  24325. _ struct{} `type:"structure"`
  24326. }
  24327. // String returns the string representation
  24328. func (s DeleteNetworkAclEntryOutput) String() string {
  24329. return awsutil.Prettify(s)
  24330. }
  24331. // GoString returns the string representation
  24332. func (s DeleteNetworkAclEntryOutput) GoString() string {
  24333. return s.String()
  24334. }
  24335. // Contains the parameters for DeleteNetworkAcl.
  24336. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclRequest
  24337. type DeleteNetworkAclInput struct {
  24338. _ struct{} `type:"structure"`
  24339. // Checks whether you have the required permissions for the action, without
  24340. // actually making the request, and provides an error response. If you have
  24341. // the required permissions, the error response is DryRunOperation. Otherwise,
  24342. // it is UnauthorizedOperation.
  24343. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24344. // The ID of the network ACL.
  24345. //
  24346. // NetworkAclId is a required field
  24347. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  24348. }
  24349. // String returns the string representation
  24350. func (s DeleteNetworkAclInput) String() string {
  24351. return awsutil.Prettify(s)
  24352. }
  24353. // GoString returns the string representation
  24354. func (s DeleteNetworkAclInput) GoString() string {
  24355. return s.String()
  24356. }
  24357. // Validate inspects the fields of the type to determine if they are valid.
  24358. func (s *DeleteNetworkAclInput) Validate() error {
  24359. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
  24360. if s.NetworkAclId == nil {
  24361. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  24362. }
  24363. if invalidParams.Len() > 0 {
  24364. return invalidParams
  24365. }
  24366. return nil
  24367. }
  24368. // SetDryRun sets the DryRun field's value.
  24369. func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
  24370. s.DryRun = &v
  24371. return s
  24372. }
  24373. // SetNetworkAclId sets the NetworkAclId field's value.
  24374. func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
  24375. s.NetworkAclId = &v
  24376. return s
  24377. }
  24378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclOutput
  24379. type DeleteNetworkAclOutput struct {
  24380. _ struct{} `type:"structure"`
  24381. }
  24382. // String returns the string representation
  24383. func (s DeleteNetworkAclOutput) String() string {
  24384. return awsutil.Prettify(s)
  24385. }
  24386. // GoString returns the string representation
  24387. func (s DeleteNetworkAclOutput) GoString() string {
  24388. return s.String()
  24389. }
  24390. // Contains the parameters for DeleteNetworkInterface.
  24391. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceRequest
  24392. type DeleteNetworkInterfaceInput struct {
  24393. _ struct{} `type:"structure"`
  24394. // Checks whether you have the required permissions for the action, without
  24395. // actually making the request, and provides an error response. If you have
  24396. // the required permissions, the error response is DryRunOperation. Otherwise,
  24397. // it is UnauthorizedOperation.
  24398. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24399. // The ID of the network interface.
  24400. //
  24401. // NetworkInterfaceId is a required field
  24402. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  24403. }
  24404. // String returns the string representation
  24405. func (s DeleteNetworkInterfaceInput) String() string {
  24406. return awsutil.Prettify(s)
  24407. }
  24408. // GoString returns the string representation
  24409. func (s DeleteNetworkInterfaceInput) GoString() string {
  24410. return s.String()
  24411. }
  24412. // Validate inspects the fields of the type to determine if they are valid.
  24413. func (s *DeleteNetworkInterfaceInput) Validate() error {
  24414. invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
  24415. if s.NetworkInterfaceId == nil {
  24416. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  24417. }
  24418. if invalidParams.Len() > 0 {
  24419. return invalidParams
  24420. }
  24421. return nil
  24422. }
  24423. // SetDryRun sets the DryRun field's value.
  24424. func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
  24425. s.DryRun = &v
  24426. return s
  24427. }
  24428. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  24429. func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
  24430. s.NetworkInterfaceId = &v
  24431. return s
  24432. }
  24433. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfaceOutput
  24434. type DeleteNetworkInterfaceOutput struct {
  24435. _ struct{} `type:"structure"`
  24436. }
  24437. // String returns the string representation
  24438. func (s DeleteNetworkInterfaceOutput) String() string {
  24439. return awsutil.Prettify(s)
  24440. }
  24441. // GoString returns the string representation
  24442. func (s DeleteNetworkInterfaceOutput) GoString() string {
  24443. return s.String()
  24444. }
  24445. // Contains the parameters for DeletePlacementGroup.
  24446. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupRequest
  24447. type DeletePlacementGroupInput struct {
  24448. _ struct{} `type:"structure"`
  24449. // Checks whether you have the required permissions for the action, without
  24450. // actually making the request, and provides an error response. If you have
  24451. // the required permissions, the error response is DryRunOperation. Otherwise,
  24452. // it is UnauthorizedOperation.
  24453. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24454. // The name of the placement group.
  24455. //
  24456. // GroupName is a required field
  24457. GroupName *string `locationName:"groupName" type:"string" required:"true"`
  24458. }
  24459. // String returns the string representation
  24460. func (s DeletePlacementGroupInput) String() string {
  24461. return awsutil.Prettify(s)
  24462. }
  24463. // GoString returns the string representation
  24464. func (s DeletePlacementGroupInput) GoString() string {
  24465. return s.String()
  24466. }
  24467. // Validate inspects the fields of the type to determine if they are valid.
  24468. func (s *DeletePlacementGroupInput) Validate() error {
  24469. invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
  24470. if s.GroupName == nil {
  24471. invalidParams.Add(request.NewErrParamRequired("GroupName"))
  24472. }
  24473. if invalidParams.Len() > 0 {
  24474. return invalidParams
  24475. }
  24476. return nil
  24477. }
  24478. // SetDryRun sets the DryRun field's value.
  24479. func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
  24480. s.DryRun = &v
  24481. return s
  24482. }
  24483. // SetGroupName sets the GroupName field's value.
  24484. func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
  24485. s.GroupName = &v
  24486. return s
  24487. }
  24488. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroupOutput
  24489. type DeletePlacementGroupOutput struct {
  24490. _ struct{} `type:"structure"`
  24491. }
  24492. // String returns the string representation
  24493. func (s DeletePlacementGroupOutput) String() string {
  24494. return awsutil.Prettify(s)
  24495. }
  24496. // GoString returns the string representation
  24497. func (s DeletePlacementGroupOutput) GoString() string {
  24498. return s.String()
  24499. }
  24500. // Contains the parameters for DeleteRoute.
  24501. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteRequest
  24502. type DeleteRouteInput struct {
  24503. _ struct{} `type:"structure"`
  24504. // The IPv4 CIDR range for the route. The value you specify must match the CIDR
  24505. // for the route exactly.
  24506. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  24507. // The IPv6 CIDR range for the route. The value you specify must match the CIDR
  24508. // for the route exactly.
  24509. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  24510. // Checks whether you have the required permissions for the action, without
  24511. // actually making the request, and provides an error response. If you have
  24512. // the required permissions, the error response is DryRunOperation. Otherwise,
  24513. // it is UnauthorizedOperation.
  24514. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24515. // The ID of the route table.
  24516. //
  24517. // RouteTableId is a required field
  24518. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  24519. }
  24520. // String returns the string representation
  24521. func (s DeleteRouteInput) String() string {
  24522. return awsutil.Prettify(s)
  24523. }
  24524. // GoString returns the string representation
  24525. func (s DeleteRouteInput) GoString() string {
  24526. return s.String()
  24527. }
  24528. // Validate inspects the fields of the type to determine if they are valid.
  24529. func (s *DeleteRouteInput) Validate() error {
  24530. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
  24531. if s.RouteTableId == nil {
  24532. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  24533. }
  24534. if invalidParams.Len() > 0 {
  24535. return invalidParams
  24536. }
  24537. return nil
  24538. }
  24539. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  24540. func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
  24541. s.DestinationCidrBlock = &v
  24542. return s
  24543. }
  24544. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  24545. func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
  24546. s.DestinationIpv6CidrBlock = &v
  24547. return s
  24548. }
  24549. // SetDryRun sets the DryRun field's value.
  24550. func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
  24551. s.DryRun = &v
  24552. return s
  24553. }
  24554. // SetRouteTableId sets the RouteTableId field's value.
  24555. func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
  24556. s.RouteTableId = &v
  24557. return s
  24558. }
  24559. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteOutput
  24560. type DeleteRouteOutput struct {
  24561. _ struct{} `type:"structure"`
  24562. }
  24563. // String returns the string representation
  24564. func (s DeleteRouteOutput) String() string {
  24565. return awsutil.Prettify(s)
  24566. }
  24567. // GoString returns the string representation
  24568. func (s DeleteRouteOutput) GoString() string {
  24569. return s.String()
  24570. }
  24571. // Contains the parameters for DeleteRouteTable.
  24572. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableRequest
  24573. type DeleteRouteTableInput struct {
  24574. _ struct{} `type:"structure"`
  24575. // Checks whether you have the required permissions for the action, without
  24576. // actually making the request, and provides an error response. If you have
  24577. // the required permissions, the error response is DryRunOperation. Otherwise,
  24578. // it is UnauthorizedOperation.
  24579. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24580. // The ID of the route table.
  24581. //
  24582. // RouteTableId is a required field
  24583. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  24584. }
  24585. // String returns the string representation
  24586. func (s DeleteRouteTableInput) String() string {
  24587. return awsutil.Prettify(s)
  24588. }
  24589. // GoString returns the string representation
  24590. func (s DeleteRouteTableInput) GoString() string {
  24591. return s.String()
  24592. }
  24593. // Validate inspects the fields of the type to determine if they are valid.
  24594. func (s *DeleteRouteTableInput) Validate() error {
  24595. invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
  24596. if s.RouteTableId == nil {
  24597. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  24598. }
  24599. if invalidParams.Len() > 0 {
  24600. return invalidParams
  24601. }
  24602. return nil
  24603. }
  24604. // SetDryRun sets the DryRun field's value.
  24605. func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
  24606. s.DryRun = &v
  24607. return s
  24608. }
  24609. // SetRouteTableId sets the RouteTableId field's value.
  24610. func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
  24611. s.RouteTableId = &v
  24612. return s
  24613. }
  24614. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTableOutput
  24615. type DeleteRouteTableOutput struct {
  24616. _ struct{} `type:"structure"`
  24617. }
  24618. // String returns the string representation
  24619. func (s DeleteRouteTableOutput) String() string {
  24620. return awsutil.Prettify(s)
  24621. }
  24622. // GoString returns the string representation
  24623. func (s DeleteRouteTableOutput) GoString() string {
  24624. return s.String()
  24625. }
  24626. // Contains the parameters for DeleteSecurityGroup.
  24627. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupRequest
  24628. type DeleteSecurityGroupInput struct {
  24629. _ struct{} `type:"structure"`
  24630. // Checks whether you have the required permissions for the action, without
  24631. // actually making the request, and provides an error response. If you have
  24632. // the required permissions, the error response is DryRunOperation. Otherwise,
  24633. // it is UnauthorizedOperation.
  24634. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24635. // The ID of the security group. Required for a nondefault VPC.
  24636. GroupId *string `type:"string"`
  24637. // [EC2-Classic, default VPC] The name of the security group. You can specify
  24638. // either the security group name or the security group ID.
  24639. GroupName *string `type:"string"`
  24640. }
  24641. // String returns the string representation
  24642. func (s DeleteSecurityGroupInput) String() string {
  24643. return awsutil.Prettify(s)
  24644. }
  24645. // GoString returns the string representation
  24646. func (s DeleteSecurityGroupInput) GoString() string {
  24647. return s.String()
  24648. }
  24649. // SetDryRun sets the DryRun field's value.
  24650. func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
  24651. s.DryRun = &v
  24652. return s
  24653. }
  24654. // SetGroupId sets the GroupId field's value.
  24655. func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
  24656. s.GroupId = &v
  24657. return s
  24658. }
  24659. // SetGroupName sets the GroupName field's value.
  24660. func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
  24661. s.GroupName = &v
  24662. return s
  24663. }
  24664. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroupOutput
  24665. type DeleteSecurityGroupOutput struct {
  24666. _ struct{} `type:"structure"`
  24667. }
  24668. // String returns the string representation
  24669. func (s DeleteSecurityGroupOutput) String() string {
  24670. return awsutil.Prettify(s)
  24671. }
  24672. // GoString returns the string representation
  24673. func (s DeleteSecurityGroupOutput) GoString() string {
  24674. return s.String()
  24675. }
  24676. // Contains the parameters for DeleteSnapshot.
  24677. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotRequest
  24678. type DeleteSnapshotInput struct {
  24679. _ struct{} `type:"structure"`
  24680. // Checks whether you have the required permissions for the action, without
  24681. // actually making the request, and provides an error response. If you have
  24682. // the required permissions, the error response is DryRunOperation. Otherwise,
  24683. // it is UnauthorizedOperation.
  24684. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24685. // The ID of the EBS snapshot.
  24686. //
  24687. // SnapshotId is a required field
  24688. SnapshotId *string `type:"string" required:"true"`
  24689. }
  24690. // String returns the string representation
  24691. func (s DeleteSnapshotInput) String() string {
  24692. return awsutil.Prettify(s)
  24693. }
  24694. // GoString returns the string representation
  24695. func (s DeleteSnapshotInput) GoString() string {
  24696. return s.String()
  24697. }
  24698. // Validate inspects the fields of the type to determine if they are valid.
  24699. func (s *DeleteSnapshotInput) Validate() error {
  24700. invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
  24701. if s.SnapshotId == nil {
  24702. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  24703. }
  24704. if invalidParams.Len() > 0 {
  24705. return invalidParams
  24706. }
  24707. return nil
  24708. }
  24709. // SetDryRun sets the DryRun field's value.
  24710. func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
  24711. s.DryRun = &v
  24712. return s
  24713. }
  24714. // SetSnapshotId sets the SnapshotId field's value.
  24715. func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
  24716. s.SnapshotId = &v
  24717. return s
  24718. }
  24719. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshotOutput
  24720. type DeleteSnapshotOutput struct {
  24721. _ struct{} `type:"structure"`
  24722. }
  24723. // String returns the string representation
  24724. func (s DeleteSnapshotOutput) String() string {
  24725. return awsutil.Prettify(s)
  24726. }
  24727. // GoString returns the string representation
  24728. func (s DeleteSnapshotOutput) GoString() string {
  24729. return s.String()
  24730. }
  24731. // Contains the parameters for DeleteSpotDatafeedSubscription.
  24732. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionRequest
  24733. type DeleteSpotDatafeedSubscriptionInput struct {
  24734. _ struct{} `type:"structure"`
  24735. // Checks whether you have the required permissions for the action, without
  24736. // actually making the request, and provides an error response. If you have
  24737. // the required permissions, the error response is DryRunOperation. Otherwise,
  24738. // it is UnauthorizedOperation.
  24739. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24740. }
  24741. // String returns the string representation
  24742. func (s DeleteSpotDatafeedSubscriptionInput) String() string {
  24743. return awsutil.Prettify(s)
  24744. }
  24745. // GoString returns the string representation
  24746. func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
  24747. return s.String()
  24748. }
  24749. // SetDryRun sets the DryRun field's value.
  24750. func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
  24751. s.DryRun = &v
  24752. return s
  24753. }
  24754. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscriptionOutput
  24755. type DeleteSpotDatafeedSubscriptionOutput struct {
  24756. _ struct{} `type:"structure"`
  24757. }
  24758. // String returns the string representation
  24759. func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
  24760. return awsutil.Prettify(s)
  24761. }
  24762. // GoString returns the string representation
  24763. func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
  24764. return s.String()
  24765. }
  24766. // Contains the parameters for DeleteSubnet.
  24767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetRequest
  24768. type DeleteSubnetInput struct {
  24769. _ struct{} `type:"structure"`
  24770. // Checks whether you have the required permissions for the action, without
  24771. // actually making the request, and provides an error response. If you have
  24772. // the required permissions, the error response is DryRunOperation. Otherwise,
  24773. // it is UnauthorizedOperation.
  24774. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24775. // The ID of the subnet.
  24776. //
  24777. // SubnetId is a required field
  24778. SubnetId *string `type:"string" required:"true"`
  24779. }
  24780. // String returns the string representation
  24781. func (s DeleteSubnetInput) String() string {
  24782. return awsutil.Prettify(s)
  24783. }
  24784. // GoString returns the string representation
  24785. func (s DeleteSubnetInput) GoString() string {
  24786. return s.String()
  24787. }
  24788. // Validate inspects the fields of the type to determine if they are valid.
  24789. func (s *DeleteSubnetInput) Validate() error {
  24790. invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
  24791. if s.SubnetId == nil {
  24792. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  24793. }
  24794. if invalidParams.Len() > 0 {
  24795. return invalidParams
  24796. }
  24797. return nil
  24798. }
  24799. // SetDryRun sets the DryRun field's value.
  24800. func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
  24801. s.DryRun = &v
  24802. return s
  24803. }
  24804. // SetSubnetId sets the SubnetId field's value.
  24805. func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
  24806. s.SubnetId = &v
  24807. return s
  24808. }
  24809. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnetOutput
  24810. type DeleteSubnetOutput struct {
  24811. _ struct{} `type:"structure"`
  24812. }
  24813. // String returns the string representation
  24814. func (s DeleteSubnetOutput) String() string {
  24815. return awsutil.Prettify(s)
  24816. }
  24817. // GoString returns the string representation
  24818. func (s DeleteSubnetOutput) GoString() string {
  24819. return s.String()
  24820. }
  24821. // Contains the parameters for DeleteTags.
  24822. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsRequest
  24823. type DeleteTagsInput struct {
  24824. _ struct{} `type:"structure"`
  24825. // Checks whether you have the required permissions for the action, without
  24826. // actually making the request, and provides an error response. If you have
  24827. // the required permissions, the error response is DryRunOperation. Otherwise,
  24828. // it is UnauthorizedOperation.
  24829. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24830. // The ID of the resource. For example, ami-1a2b3c4d. You can specify more than
  24831. // one resource ID.
  24832. //
  24833. // Resources is a required field
  24834. Resources []*string `locationName:"resourceId" type:"list" required:"true"`
  24835. // One or more tags to delete. If you omit the value parameter, we delete the
  24836. // tag regardless of its value. If you specify this parameter with an empty
  24837. // string as the value, we delete the key only if its value is an empty string.
  24838. Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
  24839. }
  24840. // String returns the string representation
  24841. func (s DeleteTagsInput) String() string {
  24842. return awsutil.Prettify(s)
  24843. }
  24844. // GoString returns the string representation
  24845. func (s DeleteTagsInput) GoString() string {
  24846. return s.String()
  24847. }
  24848. // Validate inspects the fields of the type to determine if they are valid.
  24849. func (s *DeleteTagsInput) Validate() error {
  24850. invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
  24851. if s.Resources == nil {
  24852. invalidParams.Add(request.NewErrParamRequired("Resources"))
  24853. }
  24854. if invalidParams.Len() > 0 {
  24855. return invalidParams
  24856. }
  24857. return nil
  24858. }
  24859. // SetDryRun sets the DryRun field's value.
  24860. func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
  24861. s.DryRun = &v
  24862. return s
  24863. }
  24864. // SetResources sets the Resources field's value.
  24865. func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
  24866. s.Resources = v
  24867. return s
  24868. }
  24869. // SetTags sets the Tags field's value.
  24870. func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
  24871. s.Tags = v
  24872. return s
  24873. }
  24874. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTagsOutput
  24875. type DeleteTagsOutput struct {
  24876. _ struct{} `type:"structure"`
  24877. }
  24878. // String returns the string representation
  24879. func (s DeleteTagsOutput) String() string {
  24880. return awsutil.Prettify(s)
  24881. }
  24882. // GoString returns the string representation
  24883. func (s DeleteTagsOutput) GoString() string {
  24884. return s.String()
  24885. }
  24886. // Contains the parameters for DeleteVolume.
  24887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeRequest
  24888. type DeleteVolumeInput struct {
  24889. _ struct{} `type:"structure"`
  24890. // Checks whether you have the required permissions for the action, without
  24891. // actually making the request, and provides an error response. If you have
  24892. // the required permissions, the error response is DryRunOperation. Otherwise,
  24893. // it is UnauthorizedOperation.
  24894. DryRun *bool `locationName:"dryRun" type:"boolean"`
  24895. // The ID of the volume.
  24896. //
  24897. // VolumeId is a required field
  24898. VolumeId *string `type:"string" required:"true"`
  24899. }
  24900. // String returns the string representation
  24901. func (s DeleteVolumeInput) String() string {
  24902. return awsutil.Prettify(s)
  24903. }
  24904. // GoString returns the string representation
  24905. func (s DeleteVolumeInput) GoString() string {
  24906. return s.String()
  24907. }
  24908. // Validate inspects the fields of the type to determine if they are valid.
  24909. func (s *DeleteVolumeInput) Validate() error {
  24910. invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
  24911. if s.VolumeId == nil {
  24912. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  24913. }
  24914. if invalidParams.Len() > 0 {
  24915. return invalidParams
  24916. }
  24917. return nil
  24918. }
  24919. // SetDryRun sets the DryRun field's value.
  24920. func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
  24921. s.DryRun = &v
  24922. return s
  24923. }
  24924. // SetVolumeId sets the VolumeId field's value.
  24925. func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
  24926. s.VolumeId = &v
  24927. return s
  24928. }
  24929. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolumeOutput
  24930. type DeleteVolumeOutput struct {
  24931. _ struct{} `type:"structure"`
  24932. }
  24933. // String returns the string representation
  24934. func (s DeleteVolumeOutput) String() string {
  24935. return awsutil.Prettify(s)
  24936. }
  24937. // GoString returns the string representation
  24938. func (s DeleteVolumeOutput) GoString() string {
  24939. return s.String()
  24940. }
  24941. // Contains the parameters for DeleteVpcEndpoints.
  24942. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsRequest
  24943. type DeleteVpcEndpointsInput struct {
  24944. _ struct{} `type:"structure"`
  24945. // Checks whether you have the required permissions for the action, without
  24946. // actually making the request, and provides an error response. If you have
  24947. // the required permissions, the error response is DryRunOperation. Otherwise,
  24948. // it is UnauthorizedOperation.
  24949. DryRun *bool `type:"boolean"`
  24950. // One or more endpoint IDs.
  24951. //
  24952. // VpcEndpointIds is a required field
  24953. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
  24954. }
  24955. // String returns the string representation
  24956. func (s DeleteVpcEndpointsInput) String() string {
  24957. return awsutil.Prettify(s)
  24958. }
  24959. // GoString returns the string representation
  24960. func (s DeleteVpcEndpointsInput) GoString() string {
  24961. return s.String()
  24962. }
  24963. // Validate inspects the fields of the type to determine if they are valid.
  24964. func (s *DeleteVpcEndpointsInput) Validate() error {
  24965. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
  24966. if s.VpcEndpointIds == nil {
  24967. invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
  24968. }
  24969. if invalidParams.Len() > 0 {
  24970. return invalidParams
  24971. }
  24972. return nil
  24973. }
  24974. // SetDryRun sets the DryRun field's value.
  24975. func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
  24976. s.DryRun = &v
  24977. return s
  24978. }
  24979. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  24980. func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
  24981. s.VpcEndpointIds = v
  24982. return s
  24983. }
  24984. // Contains the output of DeleteVpcEndpoints.
  24985. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointsResult
  24986. type DeleteVpcEndpointsOutput struct {
  24987. _ struct{} `type:"structure"`
  24988. // Information about the endpoints that were not successfully deleted.
  24989. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  24990. }
  24991. // String returns the string representation
  24992. func (s DeleteVpcEndpointsOutput) String() string {
  24993. return awsutil.Prettify(s)
  24994. }
  24995. // GoString returns the string representation
  24996. func (s DeleteVpcEndpointsOutput) GoString() string {
  24997. return s.String()
  24998. }
  24999. // SetUnsuccessful sets the Unsuccessful field's value.
  25000. func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
  25001. s.Unsuccessful = v
  25002. return s
  25003. }
  25004. // Contains the parameters for DeleteVpc.
  25005. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcRequest
  25006. type DeleteVpcInput struct {
  25007. _ struct{} `type:"structure"`
  25008. // Checks whether you have the required permissions for the action, without
  25009. // actually making the request, and provides an error response. If you have
  25010. // the required permissions, the error response is DryRunOperation. Otherwise,
  25011. // it is UnauthorizedOperation.
  25012. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25013. // The ID of the VPC.
  25014. //
  25015. // VpcId is a required field
  25016. VpcId *string `type:"string" required:"true"`
  25017. }
  25018. // String returns the string representation
  25019. func (s DeleteVpcInput) String() string {
  25020. return awsutil.Prettify(s)
  25021. }
  25022. // GoString returns the string representation
  25023. func (s DeleteVpcInput) GoString() string {
  25024. return s.String()
  25025. }
  25026. // Validate inspects the fields of the type to determine if they are valid.
  25027. func (s *DeleteVpcInput) Validate() error {
  25028. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
  25029. if s.VpcId == nil {
  25030. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  25031. }
  25032. if invalidParams.Len() > 0 {
  25033. return invalidParams
  25034. }
  25035. return nil
  25036. }
  25037. // SetDryRun sets the DryRun field's value.
  25038. func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
  25039. s.DryRun = &v
  25040. return s
  25041. }
  25042. // SetVpcId sets the VpcId field's value.
  25043. func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
  25044. s.VpcId = &v
  25045. return s
  25046. }
  25047. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcOutput
  25048. type DeleteVpcOutput struct {
  25049. _ struct{} `type:"structure"`
  25050. }
  25051. // String returns the string representation
  25052. func (s DeleteVpcOutput) String() string {
  25053. return awsutil.Prettify(s)
  25054. }
  25055. // GoString returns the string representation
  25056. func (s DeleteVpcOutput) GoString() string {
  25057. return s.String()
  25058. }
  25059. // Contains the parameters for DeleteVpcPeeringConnection.
  25060. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionRequest
  25061. type DeleteVpcPeeringConnectionInput struct {
  25062. _ struct{} `type:"structure"`
  25063. // Checks whether you have the required permissions for the action, without
  25064. // actually making the request, and provides an error response. If you have
  25065. // the required permissions, the error response is DryRunOperation. Otherwise,
  25066. // it is UnauthorizedOperation.
  25067. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25068. // The ID of the VPC peering connection.
  25069. //
  25070. // VpcPeeringConnectionId is a required field
  25071. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  25072. }
  25073. // String returns the string representation
  25074. func (s DeleteVpcPeeringConnectionInput) String() string {
  25075. return awsutil.Prettify(s)
  25076. }
  25077. // GoString returns the string representation
  25078. func (s DeleteVpcPeeringConnectionInput) GoString() string {
  25079. return s.String()
  25080. }
  25081. // Validate inspects the fields of the type to determine if they are valid.
  25082. func (s *DeleteVpcPeeringConnectionInput) Validate() error {
  25083. invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
  25084. if s.VpcPeeringConnectionId == nil {
  25085. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  25086. }
  25087. if invalidParams.Len() > 0 {
  25088. return invalidParams
  25089. }
  25090. return nil
  25091. }
  25092. // SetDryRun sets the DryRun field's value.
  25093. func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
  25094. s.DryRun = &v
  25095. return s
  25096. }
  25097. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  25098. func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
  25099. s.VpcPeeringConnectionId = &v
  25100. return s
  25101. }
  25102. // Contains the output of DeleteVpcPeeringConnection.
  25103. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnectionResult
  25104. type DeleteVpcPeeringConnectionOutput struct {
  25105. _ struct{} `type:"structure"`
  25106. // Returns true if the request succeeds; otherwise, it returns an error.
  25107. Return *bool `locationName:"return" type:"boolean"`
  25108. }
  25109. // String returns the string representation
  25110. func (s DeleteVpcPeeringConnectionOutput) String() string {
  25111. return awsutil.Prettify(s)
  25112. }
  25113. // GoString returns the string representation
  25114. func (s DeleteVpcPeeringConnectionOutput) GoString() string {
  25115. return s.String()
  25116. }
  25117. // SetReturn sets the Return field's value.
  25118. func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
  25119. s.Return = &v
  25120. return s
  25121. }
  25122. // Contains the parameters for DeleteVpnConnection.
  25123. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRequest
  25124. type DeleteVpnConnectionInput struct {
  25125. _ struct{} `type:"structure"`
  25126. // Checks whether you have the required permissions for the action, without
  25127. // actually making the request, and provides an error response. If you have
  25128. // the required permissions, the error response is DryRunOperation. Otherwise,
  25129. // it is UnauthorizedOperation.
  25130. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25131. // The ID of the VPN connection.
  25132. //
  25133. // VpnConnectionId is a required field
  25134. VpnConnectionId *string `type:"string" required:"true"`
  25135. }
  25136. // String returns the string representation
  25137. func (s DeleteVpnConnectionInput) String() string {
  25138. return awsutil.Prettify(s)
  25139. }
  25140. // GoString returns the string representation
  25141. func (s DeleteVpnConnectionInput) GoString() string {
  25142. return s.String()
  25143. }
  25144. // Validate inspects the fields of the type to determine if they are valid.
  25145. func (s *DeleteVpnConnectionInput) Validate() error {
  25146. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
  25147. if s.VpnConnectionId == nil {
  25148. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  25149. }
  25150. if invalidParams.Len() > 0 {
  25151. return invalidParams
  25152. }
  25153. return nil
  25154. }
  25155. // SetDryRun sets the DryRun field's value.
  25156. func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
  25157. s.DryRun = &v
  25158. return s
  25159. }
  25160. // SetVpnConnectionId sets the VpnConnectionId field's value.
  25161. func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
  25162. s.VpnConnectionId = &v
  25163. return s
  25164. }
  25165. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionOutput
  25166. type DeleteVpnConnectionOutput struct {
  25167. _ struct{} `type:"structure"`
  25168. }
  25169. // String returns the string representation
  25170. func (s DeleteVpnConnectionOutput) String() string {
  25171. return awsutil.Prettify(s)
  25172. }
  25173. // GoString returns the string representation
  25174. func (s DeleteVpnConnectionOutput) GoString() string {
  25175. return s.String()
  25176. }
  25177. // Contains the parameters for DeleteVpnConnectionRoute.
  25178. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteRequest
  25179. type DeleteVpnConnectionRouteInput struct {
  25180. _ struct{} `type:"structure"`
  25181. // The CIDR block associated with the local subnet of the customer network.
  25182. //
  25183. // DestinationCidrBlock is a required field
  25184. DestinationCidrBlock *string `type:"string" required:"true"`
  25185. // The ID of the VPN connection.
  25186. //
  25187. // VpnConnectionId is a required field
  25188. VpnConnectionId *string `type:"string" required:"true"`
  25189. }
  25190. // String returns the string representation
  25191. func (s DeleteVpnConnectionRouteInput) String() string {
  25192. return awsutil.Prettify(s)
  25193. }
  25194. // GoString returns the string representation
  25195. func (s DeleteVpnConnectionRouteInput) GoString() string {
  25196. return s.String()
  25197. }
  25198. // Validate inspects the fields of the type to determine if they are valid.
  25199. func (s *DeleteVpnConnectionRouteInput) Validate() error {
  25200. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
  25201. if s.DestinationCidrBlock == nil {
  25202. invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
  25203. }
  25204. if s.VpnConnectionId == nil {
  25205. invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
  25206. }
  25207. if invalidParams.Len() > 0 {
  25208. return invalidParams
  25209. }
  25210. return nil
  25211. }
  25212. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  25213. func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
  25214. s.DestinationCidrBlock = &v
  25215. return s
  25216. }
  25217. // SetVpnConnectionId sets the VpnConnectionId field's value.
  25218. func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
  25219. s.VpnConnectionId = &v
  25220. return s
  25221. }
  25222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRouteOutput
  25223. type DeleteVpnConnectionRouteOutput struct {
  25224. _ struct{} `type:"structure"`
  25225. }
  25226. // String returns the string representation
  25227. func (s DeleteVpnConnectionRouteOutput) String() string {
  25228. return awsutil.Prettify(s)
  25229. }
  25230. // GoString returns the string representation
  25231. func (s DeleteVpnConnectionRouteOutput) GoString() string {
  25232. return s.String()
  25233. }
  25234. // Contains the parameters for DeleteVpnGateway.
  25235. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayRequest
  25236. type DeleteVpnGatewayInput struct {
  25237. _ struct{} `type:"structure"`
  25238. // Checks whether you have the required permissions for the action, without
  25239. // actually making the request, and provides an error response. If you have
  25240. // the required permissions, the error response is DryRunOperation. Otherwise,
  25241. // it is UnauthorizedOperation.
  25242. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25243. // The ID of the virtual private gateway.
  25244. //
  25245. // VpnGatewayId is a required field
  25246. VpnGatewayId *string `type:"string" required:"true"`
  25247. }
  25248. // String returns the string representation
  25249. func (s DeleteVpnGatewayInput) String() string {
  25250. return awsutil.Prettify(s)
  25251. }
  25252. // GoString returns the string representation
  25253. func (s DeleteVpnGatewayInput) GoString() string {
  25254. return s.String()
  25255. }
  25256. // Validate inspects the fields of the type to determine if they are valid.
  25257. func (s *DeleteVpnGatewayInput) Validate() error {
  25258. invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
  25259. if s.VpnGatewayId == nil {
  25260. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  25261. }
  25262. if invalidParams.Len() > 0 {
  25263. return invalidParams
  25264. }
  25265. return nil
  25266. }
  25267. // SetDryRun sets the DryRun field's value.
  25268. func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
  25269. s.DryRun = &v
  25270. return s
  25271. }
  25272. // SetVpnGatewayId sets the VpnGatewayId field's value.
  25273. func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
  25274. s.VpnGatewayId = &v
  25275. return s
  25276. }
  25277. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGatewayOutput
  25278. type DeleteVpnGatewayOutput struct {
  25279. _ struct{} `type:"structure"`
  25280. }
  25281. // String returns the string representation
  25282. func (s DeleteVpnGatewayOutput) String() string {
  25283. return awsutil.Prettify(s)
  25284. }
  25285. // GoString returns the string representation
  25286. func (s DeleteVpnGatewayOutput) GoString() string {
  25287. return s.String()
  25288. }
  25289. // Contains the parameters for DeregisterImage.
  25290. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageRequest
  25291. type DeregisterImageInput struct {
  25292. _ struct{} `type:"structure"`
  25293. // Checks whether you have the required permissions for the action, without
  25294. // actually making the request, and provides an error response. If you have
  25295. // the required permissions, the error response is DryRunOperation. Otherwise,
  25296. // it is UnauthorizedOperation.
  25297. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25298. // The ID of the AMI.
  25299. //
  25300. // ImageId is a required field
  25301. ImageId *string `type:"string" required:"true"`
  25302. }
  25303. // String returns the string representation
  25304. func (s DeregisterImageInput) String() string {
  25305. return awsutil.Prettify(s)
  25306. }
  25307. // GoString returns the string representation
  25308. func (s DeregisterImageInput) GoString() string {
  25309. return s.String()
  25310. }
  25311. // Validate inspects the fields of the type to determine if they are valid.
  25312. func (s *DeregisterImageInput) Validate() error {
  25313. invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
  25314. if s.ImageId == nil {
  25315. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  25316. }
  25317. if invalidParams.Len() > 0 {
  25318. return invalidParams
  25319. }
  25320. return nil
  25321. }
  25322. // SetDryRun sets the DryRun field's value.
  25323. func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
  25324. s.DryRun = &v
  25325. return s
  25326. }
  25327. // SetImageId sets the ImageId field's value.
  25328. func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
  25329. s.ImageId = &v
  25330. return s
  25331. }
  25332. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImageOutput
  25333. type DeregisterImageOutput struct {
  25334. _ struct{} `type:"structure"`
  25335. }
  25336. // String returns the string representation
  25337. func (s DeregisterImageOutput) String() string {
  25338. return awsutil.Prettify(s)
  25339. }
  25340. // GoString returns the string representation
  25341. func (s DeregisterImageOutput) GoString() string {
  25342. return s.String()
  25343. }
  25344. // Contains the parameters for DescribeAccountAttributes.
  25345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesRequest
  25346. type DescribeAccountAttributesInput struct {
  25347. _ struct{} `type:"structure"`
  25348. // One or more account attribute names.
  25349. AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
  25350. // Checks whether you have the required permissions for the action, without
  25351. // actually making the request, and provides an error response. If you have
  25352. // the required permissions, the error response is DryRunOperation. Otherwise,
  25353. // it is UnauthorizedOperation.
  25354. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25355. }
  25356. // String returns the string representation
  25357. func (s DescribeAccountAttributesInput) String() string {
  25358. return awsutil.Prettify(s)
  25359. }
  25360. // GoString returns the string representation
  25361. func (s DescribeAccountAttributesInput) GoString() string {
  25362. return s.String()
  25363. }
  25364. // SetAttributeNames sets the AttributeNames field's value.
  25365. func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
  25366. s.AttributeNames = v
  25367. return s
  25368. }
  25369. // SetDryRun sets the DryRun field's value.
  25370. func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
  25371. s.DryRun = &v
  25372. return s
  25373. }
  25374. // Contains the output of DescribeAccountAttributes.
  25375. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributesResult
  25376. type DescribeAccountAttributesOutput struct {
  25377. _ struct{} `type:"structure"`
  25378. // Information about one or more account attributes.
  25379. AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
  25380. }
  25381. // String returns the string representation
  25382. func (s DescribeAccountAttributesOutput) String() string {
  25383. return awsutil.Prettify(s)
  25384. }
  25385. // GoString returns the string representation
  25386. func (s DescribeAccountAttributesOutput) GoString() string {
  25387. return s.String()
  25388. }
  25389. // SetAccountAttributes sets the AccountAttributes field's value.
  25390. func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
  25391. s.AccountAttributes = v
  25392. return s
  25393. }
  25394. // Contains the parameters for DescribeAddresses.
  25395. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesRequest
  25396. type DescribeAddressesInput struct {
  25397. _ struct{} `type:"structure"`
  25398. // [EC2-VPC] One or more allocation IDs.
  25399. //
  25400. // Default: Describes all your Elastic IP addresses.
  25401. AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
  25402. // Checks whether you have the required permissions for the action, without
  25403. // actually making the request, and provides an error response. If you have
  25404. // the required permissions, the error response is DryRunOperation. Otherwise,
  25405. // it is UnauthorizedOperation.
  25406. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25407. // One or more filters. Filter names and values are case-sensitive.
  25408. //
  25409. // * allocation-id - [EC2-VPC] The allocation ID for the address.
  25410. //
  25411. // * association-id - [EC2-VPC] The association ID for the address.
  25412. //
  25413. // * domain - Indicates whether the address is for use in EC2-Classic (standard)
  25414. // or in a VPC (vpc).
  25415. //
  25416. // * instance-id - The ID of the instance the address is associated with,
  25417. // if any.
  25418. //
  25419. // * network-interface-id - [EC2-VPC] The ID of the network interface that
  25420. // the address is associated with, if any.
  25421. //
  25422. // * network-interface-owner-id - The AWS account ID of the owner.
  25423. //
  25424. // * private-ip-address - [EC2-VPC] The private IP address associated with
  25425. // the Elastic IP address.
  25426. //
  25427. // * public-ip - The Elastic IP address.
  25428. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25429. // [EC2-Classic] One or more Elastic IP addresses.
  25430. //
  25431. // Default: Describes all your Elastic IP addresses.
  25432. PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
  25433. }
  25434. // String returns the string representation
  25435. func (s DescribeAddressesInput) String() string {
  25436. return awsutil.Prettify(s)
  25437. }
  25438. // GoString returns the string representation
  25439. func (s DescribeAddressesInput) GoString() string {
  25440. return s.String()
  25441. }
  25442. // SetAllocationIds sets the AllocationIds field's value.
  25443. func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
  25444. s.AllocationIds = v
  25445. return s
  25446. }
  25447. // SetDryRun sets the DryRun field's value.
  25448. func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
  25449. s.DryRun = &v
  25450. return s
  25451. }
  25452. // SetFilters sets the Filters field's value.
  25453. func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
  25454. s.Filters = v
  25455. return s
  25456. }
  25457. // SetPublicIps sets the PublicIps field's value.
  25458. func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
  25459. s.PublicIps = v
  25460. return s
  25461. }
  25462. // Contains the output of DescribeAddresses.
  25463. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddressesResult
  25464. type DescribeAddressesOutput struct {
  25465. _ struct{} `type:"structure"`
  25466. // Information about one or more Elastic IP addresses.
  25467. Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
  25468. }
  25469. // String returns the string representation
  25470. func (s DescribeAddressesOutput) String() string {
  25471. return awsutil.Prettify(s)
  25472. }
  25473. // GoString returns the string representation
  25474. func (s DescribeAddressesOutput) GoString() string {
  25475. return s.String()
  25476. }
  25477. // SetAddresses sets the Addresses field's value.
  25478. func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  25479. s.Addresses = v
  25480. return s
  25481. }
  25482. // Contains the parameters for DescribeAvailabilityZones.
  25483. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesRequest
  25484. type DescribeAvailabilityZonesInput struct {
  25485. _ struct{} `type:"structure"`
  25486. // Checks whether you have the required permissions for the action, without
  25487. // actually making the request, and provides an error response. If you have
  25488. // the required permissions, the error response is DryRunOperation. Otherwise,
  25489. // it is UnauthorizedOperation.
  25490. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25491. // One or more filters.
  25492. //
  25493. // * message - Information about the Availability Zone.
  25494. //
  25495. // * region-name - The name of the region for the Availability Zone (for
  25496. // example, us-east-1).
  25497. //
  25498. // * state - The state of the Availability Zone (available | information
  25499. // | impaired | unavailable).
  25500. //
  25501. // * zone-name - The name of the Availability Zone (for example, us-east-1a).
  25502. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25503. // The names of one or more Availability Zones.
  25504. ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
  25505. }
  25506. // String returns the string representation
  25507. func (s DescribeAvailabilityZonesInput) String() string {
  25508. return awsutil.Prettify(s)
  25509. }
  25510. // GoString returns the string representation
  25511. func (s DescribeAvailabilityZonesInput) GoString() string {
  25512. return s.String()
  25513. }
  25514. // SetDryRun sets the DryRun field's value.
  25515. func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
  25516. s.DryRun = &v
  25517. return s
  25518. }
  25519. // SetFilters sets the Filters field's value.
  25520. func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
  25521. s.Filters = v
  25522. return s
  25523. }
  25524. // SetZoneNames sets the ZoneNames field's value.
  25525. func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
  25526. s.ZoneNames = v
  25527. return s
  25528. }
  25529. // Contains the output of DescribeAvailabiltyZones.
  25530. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZonesResult
  25531. type DescribeAvailabilityZonesOutput struct {
  25532. _ struct{} `type:"structure"`
  25533. // Information about one or more Availability Zones.
  25534. AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
  25535. }
  25536. // String returns the string representation
  25537. func (s DescribeAvailabilityZonesOutput) String() string {
  25538. return awsutil.Prettify(s)
  25539. }
  25540. // GoString returns the string representation
  25541. func (s DescribeAvailabilityZonesOutput) GoString() string {
  25542. return s.String()
  25543. }
  25544. // SetAvailabilityZones sets the AvailabilityZones field's value.
  25545. func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
  25546. s.AvailabilityZones = v
  25547. return s
  25548. }
  25549. // Contains the parameters for DescribeBundleTasks.
  25550. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksRequest
  25551. type DescribeBundleTasksInput struct {
  25552. _ struct{} `type:"structure"`
  25553. // One or more bundle task IDs.
  25554. //
  25555. // Default: Describes all your bundle tasks.
  25556. BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
  25557. // Checks whether you have the required permissions for the action, without
  25558. // actually making the request, and provides an error response. If you have
  25559. // the required permissions, the error response is DryRunOperation. Otherwise,
  25560. // it is UnauthorizedOperation.
  25561. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25562. // One or more filters.
  25563. //
  25564. // * bundle-id - The ID of the bundle task.
  25565. //
  25566. // * error-code - If the task failed, the error code returned.
  25567. //
  25568. // * error-message - If the task failed, the error message returned.
  25569. //
  25570. // * instance-id - The ID of the instance.
  25571. //
  25572. // * progress - The level of task completion, as a percentage (for example,
  25573. // 20%).
  25574. //
  25575. // * s3-bucket - The Amazon S3 bucket to store the AMI.
  25576. //
  25577. // * s3-prefix - The beginning of the AMI name.
  25578. //
  25579. // * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
  25580. //
  25581. // * state - The state of the task (pending | waiting-for-shutdown | bundling
  25582. // | storing | cancelling | complete | failed).
  25583. //
  25584. // * update-time - The time of the most recent update for the task.
  25585. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25586. }
  25587. // String returns the string representation
  25588. func (s DescribeBundleTasksInput) String() string {
  25589. return awsutil.Prettify(s)
  25590. }
  25591. // GoString returns the string representation
  25592. func (s DescribeBundleTasksInput) GoString() string {
  25593. return s.String()
  25594. }
  25595. // SetBundleIds sets the BundleIds field's value.
  25596. func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
  25597. s.BundleIds = v
  25598. return s
  25599. }
  25600. // SetDryRun sets the DryRun field's value.
  25601. func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
  25602. s.DryRun = &v
  25603. return s
  25604. }
  25605. // SetFilters sets the Filters field's value.
  25606. func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
  25607. s.Filters = v
  25608. return s
  25609. }
  25610. // Contains the output of DescribeBundleTasks.
  25611. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasksResult
  25612. type DescribeBundleTasksOutput struct {
  25613. _ struct{} `type:"structure"`
  25614. // Information about one or more bundle tasks.
  25615. BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
  25616. }
  25617. // String returns the string representation
  25618. func (s DescribeBundleTasksOutput) String() string {
  25619. return awsutil.Prettify(s)
  25620. }
  25621. // GoString returns the string representation
  25622. func (s DescribeBundleTasksOutput) GoString() string {
  25623. return s.String()
  25624. }
  25625. // SetBundleTasks sets the BundleTasks field's value.
  25626. func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
  25627. s.BundleTasks = v
  25628. return s
  25629. }
  25630. // Contains the parameters for DescribeClassicLinkInstances.
  25631. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesRequest
  25632. type DescribeClassicLinkInstancesInput struct {
  25633. _ struct{} `type:"structure"`
  25634. // Checks whether you have the required permissions for the action, without
  25635. // actually making the request, and provides an error response. If you have
  25636. // the required permissions, the error response is DryRunOperation. Otherwise,
  25637. // it is UnauthorizedOperation.
  25638. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25639. // One or more filters.
  25640. //
  25641. // * group-id - The ID of a VPC security group that's associated with the
  25642. // instance.
  25643. //
  25644. // * instance-id - The ID of the instance.
  25645. //
  25646. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25647. //
  25648. // * tag-key - The key of a tag assigned to the resource. This filter is
  25649. // independent of the tag-value filter. For example, if you use both the
  25650. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25651. // assigned both the tag key Purpose (regardless of what the tag's value
  25652. // is), and the tag value X (regardless of what the tag's key is). If you
  25653. // want to list only resources where Purpose is X, see the tag:key=value
  25654. // filter.
  25655. //
  25656. // * tag-value - The value of a tag assigned to the resource. This filter
  25657. // is independent of the tag-key filter.
  25658. //
  25659. // * vpc-id - The ID of the VPC that the instance is linked to.
  25660. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25661. // One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
  25662. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  25663. // The maximum number of results to return for the request in a single page.
  25664. // The remaining results of the initial request can be seen by sending another
  25665. // request with the returned NextToken value. This value can be between 5 and
  25666. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  25667. // are returned. You cannot specify this parameter and the instance IDs parameter
  25668. // in the same request.
  25669. //
  25670. // Constraint: If the value is greater than 1000, we return only 1000 items.
  25671. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  25672. // The token to retrieve the next page of results.
  25673. NextToken *string `locationName:"nextToken" type:"string"`
  25674. }
  25675. // String returns the string representation
  25676. func (s DescribeClassicLinkInstancesInput) String() string {
  25677. return awsutil.Prettify(s)
  25678. }
  25679. // GoString returns the string representation
  25680. func (s DescribeClassicLinkInstancesInput) GoString() string {
  25681. return s.String()
  25682. }
  25683. // SetDryRun sets the DryRun field's value.
  25684. func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
  25685. s.DryRun = &v
  25686. return s
  25687. }
  25688. // SetFilters sets the Filters field's value.
  25689. func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
  25690. s.Filters = v
  25691. return s
  25692. }
  25693. // SetInstanceIds sets the InstanceIds field's value.
  25694. func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
  25695. s.InstanceIds = v
  25696. return s
  25697. }
  25698. // SetMaxResults sets the MaxResults field's value.
  25699. func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
  25700. s.MaxResults = &v
  25701. return s
  25702. }
  25703. // SetNextToken sets the NextToken field's value.
  25704. func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
  25705. s.NextToken = &v
  25706. return s
  25707. }
  25708. // Contains the output of DescribeClassicLinkInstances.
  25709. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstancesResult
  25710. type DescribeClassicLinkInstancesOutput struct {
  25711. _ struct{} `type:"structure"`
  25712. // Information about one or more linked EC2-Classic instances.
  25713. Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  25714. // The token to use to retrieve the next page of results. This value is null
  25715. // when there are no more results to return.
  25716. NextToken *string `locationName:"nextToken" type:"string"`
  25717. }
  25718. // String returns the string representation
  25719. func (s DescribeClassicLinkInstancesOutput) String() string {
  25720. return awsutil.Prettify(s)
  25721. }
  25722. // GoString returns the string representation
  25723. func (s DescribeClassicLinkInstancesOutput) GoString() string {
  25724. return s.String()
  25725. }
  25726. // SetInstances sets the Instances field's value.
  25727. func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
  25728. s.Instances = v
  25729. return s
  25730. }
  25731. // SetNextToken sets the NextToken field's value.
  25732. func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
  25733. s.NextToken = &v
  25734. return s
  25735. }
  25736. // Contains the parameters for DescribeConversionTasks.
  25737. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksRequest
  25738. type DescribeConversionTasksInput struct {
  25739. _ struct{} `type:"structure"`
  25740. // One or more conversion task IDs.
  25741. ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
  25742. // Checks whether you have the required permissions for the action, without
  25743. // actually making the request, and provides an error response. If you have
  25744. // the required permissions, the error response is DryRunOperation. Otherwise,
  25745. // it is UnauthorizedOperation.
  25746. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25747. }
  25748. // String returns the string representation
  25749. func (s DescribeConversionTasksInput) String() string {
  25750. return awsutil.Prettify(s)
  25751. }
  25752. // GoString returns the string representation
  25753. func (s DescribeConversionTasksInput) GoString() string {
  25754. return s.String()
  25755. }
  25756. // SetConversionTaskIds sets the ConversionTaskIds field's value.
  25757. func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
  25758. s.ConversionTaskIds = v
  25759. return s
  25760. }
  25761. // SetDryRun sets the DryRun field's value.
  25762. func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
  25763. s.DryRun = &v
  25764. return s
  25765. }
  25766. // Contains the output for DescribeConversionTasks.
  25767. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasksResult
  25768. type DescribeConversionTasksOutput struct {
  25769. _ struct{} `type:"structure"`
  25770. // Information about the conversion tasks.
  25771. ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
  25772. }
  25773. // String returns the string representation
  25774. func (s DescribeConversionTasksOutput) String() string {
  25775. return awsutil.Prettify(s)
  25776. }
  25777. // GoString returns the string representation
  25778. func (s DescribeConversionTasksOutput) GoString() string {
  25779. return s.String()
  25780. }
  25781. // SetConversionTasks sets the ConversionTasks field's value.
  25782. func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
  25783. s.ConversionTasks = v
  25784. return s
  25785. }
  25786. // Contains the parameters for DescribeCustomerGateways.
  25787. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysRequest
  25788. type DescribeCustomerGatewaysInput struct {
  25789. _ struct{} `type:"structure"`
  25790. // One or more customer gateway IDs.
  25791. //
  25792. // Default: Describes all your customer gateways.
  25793. CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
  25794. // Checks whether you have the required permissions for the action, without
  25795. // actually making the request, and provides an error response. If you have
  25796. // the required permissions, the error response is DryRunOperation. Otherwise,
  25797. // it is UnauthorizedOperation.
  25798. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25799. // One or more filters.
  25800. //
  25801. // * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
  25802. // System Number (ASN).
  25803. //
  25804. // * customer-gateway-id - The ID of the customer gateway.
  25805. //
  25806. // * ip-address - The IP address of the customer gateway's Internet-routable
  25807. // external interface.
  25808. //
  25809. // * state - The state of the customer gateway (pending | available | deleting
  25810. // | deleted).
  25811. //
  25812. // * type - The type of customer gateway. Currently, the only supported type
  25813. // is ipsec.1.
  25814. //
  25815. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25816. // Specify the key of the tag in the filter name and the value of the tag
  25817. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  25818. // for the filter name and X for the filter value.
  25819. //
  25820. // * tag-key - The key of a tag assigned to the resource. This filter is
  25821. // independent of the tag-value filter. For example, if you use both the
  25822. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25823. // assigned both the tag key Purpose (regardless of what the tag's value
  25824. // is), and the tag value X (regardless of what the tag's key is). If you
  25825. // want to list only resources where Purpose is X, see the tag:key=value
  25826. // filter.
  25827. //
  25828. // * tag-value - The value of a tag assigned to the resource. This filter
  25829. // is independent of the tag-key filter.
  25830. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25831. }
  25832. // String returns the string representation
  25833. func (s DescribeCustomerGatewaysInput) String() string {
  25834. return awsutil.Prettify(s)
  25835. }
  25836. // GoString returns the string representation
  25837. func (s DescribeCustomerGatewaysInput) GoString() string {
  25838. return s.String()
  25839. }
  25840. // SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
  25841. func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
  25842. s.CustomerGatewayIds = v
  25843. return s
  25844. }
  25845. // SetDryRun sets the DryRun field's value.
  25846. func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
  25847. s.DryRun = &v
  25848. return s
  25849. }
  25850. // SetFilters sets the Filters field's value.
  25851. func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
  25852. s.Filters = v
  25853. return s
  25854. }
  25855. // Contains the output of DescribeCustomerGateways.
  25856. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGatewaysResult
  25857. type DescribeCustomerGatewaysOutput struct {
  25858. _ struct{} `type:"structure"`
  25859. // Information about one or more customer gateways.
  25860. CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
  25861. }
  25862. // String returns the string representation
  25863. func (s DescribeCustomerGatewaysOutput) String() string {
  25864. return awsutil.Prettify(s)
  25865. }
  25866. // GoString returns the string representation
  25867. func (s DescribeCustomerGatewaysOutput) GoString() string {
  25868. return s.String()
  25869. }
  25870. // SetCustomerGateways sets the CustomerGateways field's value.
  25871. func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
  25872. s.CustomerGateways = v
  25873. return s
  25874. }
  25875. // Contains the parameters for DescribeDhcpOptions.
  25876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsRequest
  25877. type DescribeDhcpOptionsInput struct {
  25878. _ struct{} `type:"structure"`
  25879. // The IDs of one or more DHCP options sets.
  25880. //
  25881. // Default: Describes all your DHCP options sets.
  25882. DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
  25883. // Checks whether you have the required permissions for the action, without
  25884. // actually making the request, and provides an error response. If you have
  25885. // the required permissions, the error response is DryRunOperation. Otherwise,
  25886. // it is UnauthorizedOperation.
  25887. DryRun *bool `locationName:"dryRun" type:"boolean"`
  25888. // One or more filters.
  25889. //
  25890. // * dhcp-options-id - The ID of a set of DHCP options.
  25891. //
  25892. // * key - The key for one of the options (for example, domain-name).
  25893. //
  25894. // * value - The value for one of the options.
  25895. //
  25896. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  25897. // Specify the key of the tag in the filter name and the value of the tag
  25898. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  25899. // for the filter name and X for the filter value.
  25900. //
  25901. // * tag-key - The key of a tag assigned to the resource. This filter is
  25902. // independent of the tag-value filter. For example, if you use both the
  25903. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  25904. // assigned both the tag key Purpose (regardless of what the tag's value
  25905. // is), and the tag value X (regardless of what the tag's key is). If you
  25906. // want to list only resources where Purpose is X, see the tag:key=value
  25907. // filter.
  25908. //
  25909. // * tag-value - The value of a tag assigned to the resource. This filter
  25910. // is independent of the tag-key filter.
  25911. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  25912. }
  25913. // String returns the string representation
  25914. func (s DescribeDhcpOptionsInput) String() string {
  25915. return awsutil.Prettify(s)
  25916. }
  25917. // GoString returns the string representation
  25918. func (s DescribeDhcpOptionsInput) GoString() string {
  25919. return s.String()
  25920. }
  25921. // SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
  25922. func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
  25923. s.DhcpOptionsIds = v
  25924. return s
  25925. }
  25926. // SetDryRun sets the DryRun field's value.
  25927. func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
  25928. s.DryRun = &v
  25929. return s
  25930. }
  25931. // SetFilters sets the Filters field's value.
  25932. func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
  25933. s.Filters = v
  25934. return s
  25935. }
  25936. // Contains the output of DescribeDhcpOptions.
  25937. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptionsResult
  25938. type DescribeDhcpOptionsOutput struct {
  25939. _ struct{} `type:"structure"`
  25940. // Information about one or more DHCP options sets.
  25941. DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
  25942. }
  25943. // String returns the string representation
  25944. func (s DescribeDhcpOptionsOutput) String() string {
  25945. return awsutil.Prettify(s)
  25946. }
  25947. // GoString returns the string representation
  25948. func (s DescribeDhcpOptionsOutput) GoString() string {
  25949. return s.String()
  25950. }
  25951. // SetDhcpOptions sets the DhcpOptions field's value.
  25952. func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
  25953. s.DhcpOptions = v
  25954. return s
  25955. }
  25956. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysRequest
  25957. type DescribeEgressOnlyInternetGatewaysInput struct {
  25958. _ struct{} `type:"structure"`
  25959. // Checks whether you have the required permissions for the action, without
  25960. // actually making the request, and provides an error response. If you have
  25961. // the required permissions, the error response is DryRunOperation. Otherwise,
  25962. // it is UnauthorizedOperation.
  25963. DryRun *bool `type:"boolean"`
  25964. // One or more egress-only Internet gateway IDs.
  25965. EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
  25966. // The maximum number of results to return for the request in a single page.
  25967. // The remaining results can be seen by sending another request with the returned
  25968. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  25969. // a value larger than 1000, only 1000 results are returned.
  25970. MaxResults *int64 `type:"integer"`
  25971. // The token to retrieve the next page of results.
  25972. NextToken *string `type:"string"`
  25973. }
  25974. // String returns the string representation
  25975. func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
  25976. return awsutil.Prettify(s)
  25977. }
  25978. // GoString returns the string representation
  25979. func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
  25980. return s.String()
  25981. }
  25982. // SetDryRun sets the DryRun field's value.
  25983. func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
  25984. s.DryRun = &v
  25985. return s
  25986. }
  25987. // SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
  25988. func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
  25989. s.EgressOnlyInternetGatewayIds = v
  25990. return s
  25991. }
  25992. // SetMaxResults sets the MaxResults field's value.
  25993. func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
  25994. s.MaxResults = &v
  25995. return s
  25996. }
  25997. // SetNextToken sets the NextToken field's value.
  25998. func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
  25999. s.NextToken = &v
  26000. return s
  26001. }
  26002. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGatewaysResult
  26003. type DescribeEgressOnlyInternetGatewaysOutput struct {
  26004. _ struct{} `type:"structure"`
  26005. // Information about the egress-only Internet gateways.
  26006. EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
  26007. // The token to use to retrieve the next page of results.
  26008. NextToken *string `locationName:"nextToken" type:"string"`
  26009. }
  26010. // String returns the string representation
  26011. func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
  26012. return awsutil.Prettify(s)
  26013. }
  26014. // GoString returns the string representation
  26015. func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
  26016. return s.String()
  26017. }
  26018. // SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
  26019. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
  26020. s.EgressOnlyInternetGateways = v
  26021. return s
  26022. }
  26023. // SetNextToken sets the NextToken field's value.
  26024. func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
  26025. s.NextToken = &v
  26026. return s
  26027. }
  26028. // Contains the parameters for DescribeExportTasks.
  26029. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksRequest
  26030. type DescribeExportTasksInput struct {
  26031. _ struct{} `type:"structure"`
  26032. // One or more export task IDs.
  26033. ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
  26034. }
  26035. // String returns the string representation
  26036. func (s DescribeExportTasksInput) String() string {
  26037. return awsutil.Prettify(s)
  26038. }
  26039. // GoString returns the string representation
  26040. func (s DescribeExportTasksInput) GoString() string {
  26041. return s.String()
  26042. }
  26043. // SetExportTaskIds sets the ExportTaskIds field's value.
  26044. func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
  26045. s.ExportTaskIds = v
  26046. return s
  26047. }
  26048. // Contains the output for DescribeExportTasks.
  26049. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasksResult
  26050. type DescribeExportTasksOutput struct {
  26051. _ struct{} `type:"structure"`
  26052. // Information about the export tasks.
  26053. ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
  26054. }
  26055. // String returns the string representation
  26056. func (s DescribeExportTasksOutput) String() string {
  26057. return awsutil.Prettify(s)
  26058. }
  26059. // GoString returns the string representation
  26060. func (s DescribeExportTasksOutput) GoString() string {
  26061. return s.String()
  26062. }
  26063. // SetExportTasks sets the ExportTasks field's value.
  26064. func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
  26065. s.ExportTasks = v
  26066. return s
  26067. }
  26068. // Contains the parameters for DescribeFlowLogs.
  26069. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsRequest
  26070. type DescribeFlowLogsInput struct {
  26071. _ struct{} `type:"structure"`
  26072. // One or more filters.
  26073. //
  26074. // * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
  26075. //
  26076. // * flow-log-id - The ID of the flow log.
  26077. //
  26078. // * log-group-name - The name of the log group.
  26079. //
  26080. // * resource-id - The ID of the VPC, subnet, or network interface.
  26081. //
  26082. // * traffic-type - The type of traffic (ACCEPT | REJECT | ALL)
  26083. Filter []*Filter `locationNameList:"Filter" type:"list"`
  26084. // One or more flow log IDs.
  26085. FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
  26086. // The maximum number of results to return for the request in a single page.
  26087. // The remaining results can be seen by sending another request with the returned
  26088. // NextToken value. This value can be between 5 and 1000; if MaxResults is given
  26089. // a value larger than 1000, only 1000 results are returned. You cannot specify
  26090. // this parameter and the flow log IDs parameter in the same request.
  26091. MaxResults *int64 `type:"integer"`
  26092. // The token to retrieve the next page of results.
  26093. NextToken *string `type:"string"`
  26094. }
  26095. // String returns the string representation
  26096. func (s DescribeFlowLogsInput) String() string {
  26097. return awsutil.Prettify(s)
  26098. }
  26099. // GoString returns the string representation
  26100. func (s DescribeFlowLogsInput) GoString() string {
  26101. return s.String()
  26102. }
  26103. // SetFilter sets the Filter field's value.
  26104. func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
  26105. s.Filter = v
  26106. return s
  26107. }
  26108. // SetFlowLogIds sets the FlowLogIds field's value.
  26109. func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
  26110. s.FlowLogIds = v
  26111. return s
  26112. }
  26113. // SetMaxResults sets the MaxResults field's value.
  26114. func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
  26115. s.MaxResults = &v
  26116. return s
  26117. }
  26118. // SetNextToken sets the NextToken field's value.
  26119. func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
  26120. s.NextToken = &v
  26121. return s
  26122. }
  26123. // Contains the output of DescribeFlowLogs.
  26124. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogsResult
  26125. type DescribeFlowLogsOutput struct {
  26126. _ struct{} `type:"structure"`
  26127. // Information about the flow logs.
  26128. FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
  26129. // The token to use to retrieve the next page of results. This value is null
  26130. // when there are no more results to return.
  26131. NextToken *string `locationName:"nextToken" type:"string"`
  26132. }
  26133. // String returns the string representation
  26134. func (s DescribeFlowLogsOutput) String() string {
  26135. return awsutil.Prettify(s)
  26136. }
  26137. // GoString returns the string representation
  26138. func (s DescribeFlowLogsOutput) GoString() string {
  26139. return s.String()
  26140. }
  26141. // SetFlowLogs sets the FlowLogs field's value.
  26142. func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
  26143. s.FlowLogs = v
  26144. return s
  26145. }
  26146. // SetNextToken sets the NextToken field's value.
  26147. func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
  26148. s.NextToken = &v
  26149. return s
  26150. }
  26151. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsRequest
  26152. type DescribeHostReservationOfferingsInput struct {
  26153. _ struct{} `type:"structure"`
  26154. // One or more filters.
  26155. //
  26156. // * instance-family - The instance family of the offering (e.g., m4).
  26157. //
  26158. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  26159. Filter []*Filter `locationNameList:"Filter" type:"list"`
  26160. // This is the maximum duration of the reservation you'd like to purchase, specified
  26161. // in seconds. Reservations are available in one-year and three-year terms.
  26162. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  26163. // times one of the supported durations (1 or 3). For example, specify 94608000
  26164. // for three years.
  26165. MaxDuration *int64 `type:"integer"`
  26166. // The maximum number of results to return for the request in a single page.
  26167. // The remaining results can be seen by sending another request with the returned
  26168. // nextToken value. This value can be between 5 and 500; if maxResults is given
  26169. // a larger value than 500, you will receive an error.
  26170. MaxResults *int64 `type:"integer"`
  26171. // This is the minimum duration of the reservation you'd like to purchase, specified
  26172. // in seconds. Reservations are available in one-year and three-year terms.
  26173. // The number of seconds specified must be the number of seconds in a year (365x24x60x60)
  26174. // times one of the supported durations (1 or 3). For example, specify 31536000
  26175. // for one year.
  26176. MinDuration *int64 `type:"integer"`
  26177. // The token to use to retrieve the next page of results.
  26178. NextToken *string `type:"string"`
  26179. // The ID of the reservation offering.
  26180. OfferingId *string `type:"string"`
  26181. }
  26182. // String returns the string representation
  26183. func (s DescribeHostReservationOfferingsInput) String() string {
  26184. return awsutil.Prettify(s)
  26185. }
  26186. // GoString returns the string representation
  26187. func (s DescribeHostReservationOfferingsInput) GoString() string {
  26188. return s.String()
  26189. }
  26190. // SetFilter sets the Filter field's value.
  26191. func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
  26192. s.Filter = v
  26193. return s
  26194. }
  26195. // SetMaxDuration sets the MaxDuration field's value.
  26196. func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
  26197. s.MaxDuration = &v
  26198. return s
  26199. }
  26200. // SetMaxResults sets the MaxResults field's value.
  26201. func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
  26202. s.MaxResults = &v
  26203. return s
  26204. }
  26205. // SetMinDuration sets the MinDuration field's value.
  26206. func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
  26207. s.MinDuration = &v
  26208. return s
  26209. }
  26210. // SetNextToken sets the NextToken field's value.
  26211. func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
  26212. s.NextToken = &v
  26213. return s
  26214. }
  26215. // SetOfferingId sets the OfferingId field's value.
  26216. func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
  26217. s.OfferingId = &v
  26218. return s
  26219. }
  26220. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferingsResult
  26221. type DescribeHostReservationOfferingsOutput struct {
  26222. _ struct{} `type:"structure"`
  26223. // The token to use to retrieve the next page of results. This value is null
  26224. // when there are no more results to return.
  26225. NextToken *string `locationName:"nextToken" type:"string"`
  26226. // Information about the offerings.
  26227. OfferingSet []*HostOffering `locationName:"offeringSet" type:"list"`
  26228. }
  26229. // String returns the string representation
  26230. func (s DescribeHostReservationOfferingsOutput) String() string {
  26231. return awsutil.Prettify(s)
  26232. }
  26233. // GoString returns the string representation
  26234. func (s DescribeHostReservationOfferingsOutput) GoString() string {
  26235. return s.String()
  26236. }
  26237. // SetNextToken sets the NextToken field's value.
  26238. func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
  26239. s.NextToken = &v
  26240. return s
  26241. }
  26242. // SetOfferingSet sets the OfferingSet field's value.
  26243. func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
  26244. s.OfferingSet = v
  26245. return s
  26246. }
  26247. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsRequest
  26248. type DescribeHostReservationsInput struct {
  26249. _ struct{} `type:"structure"`
  26250. // One or more filters.
  26251. //
  26252. // * instance-family - The instance family (e.g., m4).
  26253. //
  26254. // * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
  26255. //
  26256. // * state - The state of the reservation (payment-pending | payment-failed
  26257. // | active | retired).
  26258. Filter []*Filter `locationNameList:"Filter" type:"list"`
  26259. // One or more host reservation IDs.
  26260. HostReservationIdSet []*string `locationNameList:"item" type:"list"`
  26261. // The maximum number of results to return for the request in a single page.
  26262. // The remaining results can be seen by sending another request with the returned
  26263. // nextToken value. This value can be between 5 and 500; if maxResults is given
  26264. // a larger value than 500, you will receive an error.
  26265. MaxResults *int64 `type:"integer"`
  26266. // The token to use to retrieve the next page of results.
  26267. NextToken *string `type:"string"`
  26268. }
  26269. // String returns the string representation
  26270. func (s DescribeHostReservationsInput) String() string {
  26271. return awsutil.Prettify(s)
  26272. }
  26273. // GoString returns the string representation
  26274. func (s DescribeHostReservationsInput) GoString() string {
  26275. return s.String()
  26276. }
  26277. // SetFilter sets the Filter field's value.
  26278. func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
  26279. s.Filter = v
  26280. return s
  26281. }
  26282. // SetHostReservationIdSet sets the HostReservationIdSet field's value.
  26283. func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
  26284. s.HostReservationIdSet = v
  26285. return s
  26286. }
  26287. // SetMaxResults sets the MaxResults field's value.
  26288. func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
  26289. s.MaxResults = &v
  26290. return s
  26291. }
  26292. // SetNextToken sets the NextToken field's value.
  26293. func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
  26294. s.NextToken = &v
  26295. return s
  26296. }
  26297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationsResult
  26298. type DescribeHostReservationsOutput struct {
  26299. _ struct{} `type:"structure"`
  26300. // Details about the reservation's configuration.
  26301. HostReservationSet []*HostReservation `locationName:"hostReservationSet" type:"list"`
  26302. // The token to use to retrieve the next page of results. This value is null
  26303. // when there are no more results to return.
  26304. NextToken *string `locationName:"nextToken" type:"string"`
  26305. }
  26306. // String returns the string representation
  26307. func (s DescribeHostReservationsOutput) String() string {
  26308. return awsutil.Prettify(s)
  26309. }
  26310. // GoString returns the string representation
  26311. func (s DescribeHostReservationsOutput) GoString() string {
  26312. return s.String()
  26313. }
  26314. // SetHostReservationSet sets the HostReservationSet field's value.
  26315. func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
  26316. s.HostReservationSet = v
  26317. return s
  26318. }
  26319. // SetNextToken sets the NextToken field's value.
  26320. func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
  26321. s.NextToken = &v
  26322. return s
  26323. }
  26324. // Contains the parameters for DescribeHosts.
  26325. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsRequest
  26326. type DescribeHostsInput struct {
  26327. _ struct{} `type:"structure"`
  26328. // One or more filters.
  26329. //
  26330. // * instance-type - The instance type size that the Dedicated Host is configured
  26331. // to support.
  26332. //
  26333. // * auto-placement - Whether auto-placement is enabled or disabled (on |
  26334. // off).
  26335. //
  26336. // * host-reservation-id - The ID of the reservation assigned to this host.
  26337. //
  26338. // * client-token - The idempotency token you provided when you launched
  26339. // the instance
  26340. //
  26341. // * state- The allocation state of the Dedicated Host (available | under-assessment
  26342. // | permanent-failure | released | released-permanent-failure).
  26343. //
  26344. // * availability-zone - The Availability Zone of the host.
  26345. Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  26346. // The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
  26347. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
  26348. // The maximum number of results to return for the request in a single page.
  26349. // The remaining results can be seen by sending another request with the returned
  26350. // nextToken value. This value can be between 5 and 500; if maxResults is given
  26351. // a larger value than 500, you will receive an error. You cannot specify this
  26352. // parameter and the host IDs parameter in the same request.
  26353. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  26354. // The token to retrieve the next page of results.
  26355. NextToken *string `locationName:"nextToken" type:"string"`
  26356. }
  26357. // String returns the string representation
  26358. func (s DescribeHostsInput) String() string {
  26359. return awsutil.Prettify(s)
  26360. }
  26361. // GoString returns the string representation
  26362. func (s DescribeHostsInput) GoString() string {
  26363. return s.String()
  26364. }
  26365. // SetFilter sets the Filter field's value.
  26366. func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
  26367. s.Filter = v
  26368. return s
  26369. }
  26370. // SetHostIds sets the HostIds field's value.
  26371. func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
  26372. s.HostIds = v
  26373. return s
  26374. }
  26375. // SetMaxResults sets the MaxResults field's value.
  26376. func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
  26377. s.MaxResults = &v
  26378. return s
  26379. }
  26380. // SetNextToken sets the NextToken field's value.
  26381. func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
  26382. s.NextToken = &v
  26383. return s
  26384. }
  26385. // Contains the output of DescribeHosts.
  26386. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostsResult
  26387. type DescribeHostsOutput struct {
  26388. _ struct{} `type:"structure"`
  26389. // Information about the Dedicated Hosts.
  26390. Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
  26391. // The token to use to retrieve the next page of results. This value is null
  26392. // when there are no more results to return.
  26393. NextToken *string `locationName:"nextToken" type:"string"`
  26394. }
  26395. // String returns the string representation
  26396. func (s DescribeHostsOutput) String() string {
  26397. return awsutil.Prettify(s)
  26398. }
  26399. // GoString returns the string representation
  26400. func (s DescribeHostsOutput) GoString() string {
  26401. return s.String()
  26402. }
  26403. // SetHosts sets the Hosts field's value.
  26404. func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
  26405. s.Hosts = v
  26406. return s
  26407. }
  26408. // SetNextToken sets the NextToken field's value.
  26409. func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
  26410. s.NextToken = &v
  26411. return s
  26412. }
  26413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsRequest
  26414. type DescribeIamInstanceProfileAssociationsInput struct {
  26415. _ struct{} `type:"structure"`
  26416. // One or more IAM instance profile associations.
  26417. AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
  26418. // One or more filters.
  26419. //
  26420. // * instance-id - The ID of the instance.
  26421. //
  26422. // * state - The state of the association (associating | associated | disassociating
  26423. // | disassociated).
  26424. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26425. // The maximum number of results to return in a single call. To retrieve the
  26426. // remaining results, make another call with the returned NextToken value.
  26427. MaxResults *int64 `min:"5" type:"integer"`
  26428. // The token to request the next page of results.
  26429. NextToken *string `min:"1" type:"string"`
  26430. }
  26431. // String returns the string representation
  26432. func (s DescribeIamInstanceProfileAssociationsInput) String() string {
  26433. return awsutil.Prettify(s)
  26434. }
  26435. // GoString returns the string representation
  26436. func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
  26437. return s.String()
  26438. }
  26439. // Validate inspects the fields of the type to determine if they are valid.
  26440. func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
  26441. invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
  26442. if s.MaxResults != nil && *s.MaxResults < 5 {
  26443. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  26444. }
  26445. if s.NextToken != nil && len(*s.NextToken) < 1 {
  26446. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  26447. }
  26448. if invalidParams.Len() > 0 {
  26449. return invalidParams
  26450. }
  26451. return nil
  26452. }
  26453. // SetAssociationIds sets the AssociationIds field's value.
  26454. func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
  26455. s.AssociationIds = v
  26456. return s
  26457. }
  26458. // SetFilters sets the Filters field's value.
  26459. func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
  26460. s.Filters = v
  26461. return s
  26462. }
  26463. // SetMaxResults sets the MaxResults field's value.
  26464. func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
  26465. s.MaxResults = &v
  26466. return s
  26467. }
  26468. // SetNextToken sets the NextToken field's value.
  26469. func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
  26470. s.NextToken = &v
  26471. return s
  26472. }
  26473. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociationsResult
  26474. type DescribeIamInstanceProfileAssociationsOutput struct {
  26475. _ struct{} `type:"structure"`
  26476. // Information about one or more IAM instance profile associations.
  26477. IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
  26478. // The token to use to retrieve the next page of results. This value is null
  26479. // when there are no more results to return.
  26480. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  26481. }
  26482. // String returns the string representation
  26483. func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
  26484. return awsutil.Prettify(s)
  26485. }
  26486. // GoString returns the string representation
  26487. func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
  26488. return s.String()
  26489. }
  26490. // SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
  26491. func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
  26492. s.IamInstanceProfileAssociations = v
  26493. return s
  26494. }
  26495. // SetNextToken sets the NextToken field's value.
  26496. func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
  26497. s.NextToken = &v
  26498. return s
  26499. }
  26500. // Contains the parameters for DescribeIdFormat.
  26501. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatRequest
  26502. type DescribeIdFormatInput struct {
  26503. _ struct{} `type:"structure"`
  26504. // The type of resource: instance | reservation | snapshot | volume
  26505. Resource *string `type:"string"`
  26506. }
  26507. // String returns the string representation
  26508. func (s DescribeIdFormatInput) String() string {
  26509. return awsutil.Prettify(s)
  26510. }
  26511. // GoString returns the string representation
  26512. func (s DescribeIdFormatInput) GoString() string {
  26513. return s.String()
  26514. }
  26515. // SetResource sets the Resource field's value.
  26516. func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
  26517. s.Resource = &v
  26518. return s
  26519. }
  26520. // Contains the output of DescribeIdFormat.
  26521. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormatResult
  26522. type DescribeIdFormatOutput struct {
  26523. _ struct{} `type:"structure"`
  26524. // Information about the ID format for the resource.
  26525. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  26526. }
  26527. // String returns the string representation
  26528. func (s DescribeIdFormatOutput) String() string {
  26529. return awsutil.Prettify(s)
  26530. }
  26531. // GoString returns the string representation
  26532. func (s DescribeIdFormatOutput) GoString() string {
  26533. return s.String()
  26534. }
  26535. // SetStatuses sets the Statuses field's value.
  26536. func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
  26537. s.Statuses = v
  26538. return s
  26539. }
  26540. // Contains the parameters for DescribeIdentityIdFormat.
  26541. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatRequest
  26542. type DescribeIdentityIdFormatInput struct {
  26543. _ struct{} `type:"structure"`
  26544. // The ARN of the principal, which can be an IAM role, IAM user, or the root
  26545. // user.
  26546. //
  26547. // PrincipalArn is a required field
  26548. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  26549. // The type of resource: instance | reservation | snapshot | volume
  26550. Resource *string `locationName:"resource" type:"string"`
  26551. }
  26552. // String returns the string representation
  26553. func (s DescribeIdentityIdFormatInput) String() string {
  26554. return awsutil.Prettify(s)
  26555. }
  26556. // GoString returns the string representation
  26557. func (s DescribeIdentityIdFormatInput) GoString() string {
  26558. return s.String()
  26559. }
  26560. // Validate inspects the fields of the type to determine if they are valid.
  26561. func (s *DescribeIdentityIdFormatInput) Validate() error {
  26562. invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
  26563. if s.PrincipalArn == nil {
  26564. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  26565. }
  26566. if invalidParams.Len() > 0 {
  26567. return invalidParams
  26568. }
  26569. return nil
  26570. }
  26571. // SetPrincipalArn sets the PrincipalArn field's value.
  26572. func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
  26573. s.PrincipalArn = &v
  26574. return s
  26575. }
  26576. // SetResource sets the Resource field's value.
  26577. func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
  26578. s.Resource = &v
  26579. return s
  26580. }
  26581. // Contains the output of DescribeIdentityIdFormat.
  26582. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormatResult
  26583. type DescribeIdentityIdFormatOutput struct {
  26584. _ struct{} `type:"structure"`
  26585. // Information about the ID format for the resources.
  26586. Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
  26587. }
  26588. // String returns the string representation
  26589. func (s DescribeIdentityIdFormatOutput) String() string {
  26590. return awsutil.Prettify(s)
  26591. }
  26592. // GoString returns the string representation
  26593. func (s DescribeIdentityIdFormatOutput) GoString() string {
  26594. return s.String()
  26595. }
  26596. // SetStatuses sets the Statuses field's value.
  26597. func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
  26598. s.Statuses = v
  26599. return s
  26600. }
  26601. // Contains the parameters for DescribeImageAttribute.
  26602. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttributeRequest
  26603. type DescribeImageAttributeInput struct {
  26604. _ struct{} `type:"structure"`
  26605. // The AMI attribute.
  26606. //
  26607. // Note: Depending on your account privileges, the blockDeviceMapping attribute
  26608. // may return a Client.AuthFailure error. If this happens, use DescribeImages
  26609. // to get information about the block device mapping for the AMI.
  26610. //
  26611. // Attribute is a required field
  26612. Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
  26613. // Checks whether you have the required permissions for the action, without
  26614. // actually making the request, and provides an error response. If you have
  26615. // the required permissions, the error response is DryRunOperation. Otherwise,
  26616. // it is UnauthorizedOperation.
  26617. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26618. // The ID of the AMI.
  26619. //
  26620. // ImageId is a required field
  26621. ImageId *string `type:"string" required:"true"`
  26622. }
  26623. // String returns the string representation
  26624. func (s DescribeImageAttributeInput) String() string {
  26625. return awsutil.Prettify(s)
  26626. }
  26627. // GoString returns the string representation
  26628. func (s DescribeImageAttributeInput) GoString() string {
  26629. return s.String()
  26630. }
  26631. // Validate inspects the fields of the type to determine if they are valid.
  26632. func (s *DescribeImageAttributeInput) Validate() error {
  26633. invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
  26634. if s.Attribute == nil {
  26635. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  26636. }
  26637. if s.ImageId == nil {
  26638. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  26639. }
  26640. if invalidParams.Len() > 0 {
  26641. return invalidParams
  26642. }
  26643. return nil
  26644. }
  26645. // SetAttribute sets the Attribute field's value.
  26646. func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
  26647. s.Attribute = &v
  26648. return s
  26649. }
  26650. // SetDryRun sets the DryRun field's value.
  26651. func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
  26652. s.DryRun = &v
  26653. return s
  26654. }
  26655. // SetImageId sets the ImageId field's value.
  26656. func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
  26657. s.ImageId = &v
  26658. return s
  26659. }
  26660. // Describes an image attribute.
  26661. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageAttribute
  26662. type DescribeImageAttributeOutput struct {
  26663. _ struct{} `type:"structure"`
  26664. // One or more block device mapping entries.
  26665. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  26666. // A description for the AMI.
  26667. Description *AttributeValue `locationName:"description" type:"structure"`
  26668. // The ID of the AMI.
  26669. ImageId *string `locationName:"imageId" type:"string"`
  26670. // The kernel ID.
  26671. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  26672. // One or more launch permissions.
  26673. LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
  26674. // One or more product codes.
  26675. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  26676. // The RAM disk ID.
  26677. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  26678. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  26679. // interface is enabled.
  26680. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  26681. }
  26682. // String returns the string representation
  26683. func (s DescribeImageAttributeOutput) String() string {
  26684. return awsutil.Prettify(s)
  26685. }
  26686. // GoString returns the string representation
  26687. func (s DescribeImageAttributeOutput) GoString() string {
  26688. return s.String()
  26689. }
  26690. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  26691. func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
  26692. s.BlockDeviceMappings = v
  26693. return s
  26694. }
  26695. // SetDescription sets the Description field's value.
  26696. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
  26697. s.Description = v
  26698. return s
  26699. }
  26700. // SetImageId sets the ImageId field's value.
  26701. func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
  26702. s.ImageId = &v
  26703. return s
  26704. }
  26705. // SetKernelId sets the KernelId field's value.
  26706. func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
  26707. s.KernelId = v
  26708. return s
  26709. }
  26710. // SetLaunchPermissions sets the LaunchPermissions field's value.
  26711. func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
  26712. s.LaunchPermissions = v
  26713. return s
  26714. }
  26715. // SetProductCodes sets the ProductCodes field's value.
  26716. func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
  26717. s.ProductCodes = v
  26718. return s
  26719. }
  26720. // SetRamdiskId sets the RamdiskId field's value.
  26721. func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
  26722. s.RamdiskId = v
  26723. return s
  26724. }
  26725. // SetSriovNetSupport sets the SriovNetSupport field's value.
  26726. func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
  26727. s.SriovNetSupport = v
  26728. return s
  26729. }
  26730. // Contains the parameters for DescribeImages.
  26731. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesRequest
  26732. type DescribeImagesInput struct {
  26733. _ struct{} `type:"structure"`
  26734. // Checks whether you have the required permissions for the action, without
  26735. // actually making the request, and provides an error response. If you have
  26736. // the required permissions, the error response is DryRunOperation. Otherwise,
  26737. // it is UnauthorizedOperation.
  26738. DryRun *bool `locationName:"dryRun" type:"boolean"`
  26739. // Scopes the images by users with explicit launch permissions. Specify an AWS
  26740. // account ID, self (the sender of the request), or all (public AMIs).
  26741. ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
  26742. // One or more filters.
  26743. //
  26744. // * architecture - The image architecture (i386 | x86_64).
  26745. //
  26746. // * block-device-mapping.delete-on-termination - A Boolean value that indicates
  26747. // whether the Amazon EBS volume is deleted on instance termination.
  26748. //
  26749. // * block-device-mapping.device-name - The device name for the EBS volume
  26750. // (for example, /dev/sdh).
  26751. //
  26752. // * block-device-mapping.snapshot-id - The ID of the snapshot used for the
  26753. // EBS volume.
  26754. //
  26755. // * block-device-mapping.volume-size - The volume size of the EBS volume,
  26756. // in GiB.
  26757. //
  26758. // * block-device-mapping.volume-type - The volume type of the EBS volume
  26759. // (gp2 | io1 | st1 | sc1 | standard).
  26760. //
  26761. // * description - The description of the image (provided during image creation).
  26762. //
  26763. // * ena-support - A Boolean that indicates whether enhanced networking with
  26764. // ENA is enabled.
  26765. //
  26766. // * hypervisor - The hypervisor type (ovm | xen).
  26767. //
  26768. // * image-id - The ID of the image.
  26769. //
  26770. // * image-type - The image type (machine | kernel | ramdisk).
  26771. //
  26772. // * is-public - A Boolean that indicates whether the image is public.
  26773. //
  26774. // * kernel-id - The kernel ID.
  26775. //
  26776. // * manifest-location - The location of the image manifest.
  26777. //
  26778. // * name - The name of the AMI (provided during image creation).
  26779. //
  26780. // * owner-alias - String value from an Amazon-maintained list (amazon |
  26781. // aws-marketplace | microsoft) of snapshot owners. Not to be confused with
  26782. // the user-configured AWS account alias, which is set from the IAM console.
  26783. //
  26784. // * owner-id - The AWS account ID of the image owner.
  26785. //
  26786. // * platform - The platform. To only list Windows-based AMIs, use windows.
  26787. //
  26788. // * product-code - The product code.
  26789. //
  26790. // * product-code.type - The type of the product code (devpay | marketplace).
  26791. //
  26792. // * ramdisk-id - The RAM disk ID.
  26793. //
  26794. // * root-device-name - The name of the root device volume (for example,
  26795. // /dev/sda1).
  26796. //
  26797. // * root-device-type - The type of the root device volume (ebs | instance-store).
  26798. //
  26799. // * state - The state of the image (available | pending | failed).
  26800. //
  26801. // * state-reason-code - The reason code for the state change.
  26802. //
  26803. // * state-reason-message - The message for the state change.
  26804. //
  26805. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  26806. // Specify the key of the tag in the filter name and the value of the tag
  26807. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  26808. // for the filter name and X for the filter value.
  26809. //
  26810. // * tag-key - The key of a tag assigned to the resource. This filter is
  26811. // independent of the tag-value filter. For example, if you use both the
  26812. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  26813. // assigned both the tag key Purpose (regardless of what the tag's value
  26814. // is), and the tag value X (regardless of what the tag's key is). If you
  26815. // want to list only resources where Purpose is X, see the tag:key=value
  26816. // filter.
  26817. //
  26818. // * tag-value - The value of a tag assigned to the resource. This filter
  26819. // is independent of the tag-key filter.
  26820. //
  26821. // * virtualization-type - The virtualization type (paravirtual | hvm).
  26822. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  26823. // One or more image IDs.
  26824. //
  26825. // Default: Describes all images available to you.
  26826. ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
  26827. // Filters the images by the owner. Specify an AWS account ID, self (owner is
  26828. // the sender of the request), or an AWS owner alias (valid values are amazon
  26829. // | aws-marketplace | microsoft). Omitting this option returns all images for
  26830. // which you have launch permissions, regardless of ownership.
  26831. Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  26832. }
  26833. // String returns the string representation
  26834. func (s DescribeImagesInput) String() string {
  26835. return awsutil.Prettify(s)
  26836. }
  26837. // GoString returns the string representation
  26838. func (s DescribeImagesInput) GoString() string {
  26839. return s.String()
  26840. }
  26841. // SetDryRun sets the DryRun field's value.
  26842. func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
  26843. s.DryRun = &v
  26844. return s
  26845. }
  26846. // SetExecutableUsers sets the ExecutableUsers field's value.
  26847. func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
  26848. s.ExecutableUsers = v
  26849. return s
  26850. }
  26851. // SetFilters sets the Filters field's value.
  26852. func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
  26853. s.Filters = v
  26854. return s
  26855. }
  26856. // SetImageIds sets the ImageIds field's value.
  26857. func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
  26858. s.ImageIds = v
  26859. return s
  26860. }
  26861. // SetOwners sets the Owners field's value.
  26862. func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
  26863. s.Owners = v
  26864. return s
  26865. }
  26866. // Contains the output of DescribeImages.
  26867. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImagesResult
  26868. type DescribeImagesOutput struct {
  26869. _ struct{} `type:"structure"`
  26870. // Information about one or more images.
  26871. Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
  26872. }
  26873. // String returns the string representation
  26874. func (s DescribeImagesOutput) String() string {
  26875. return awsutil.Prettify(s)
  26876. }
  26877. // GoString returns the string representation
  26878. func (s DescribeImagesOutput) GoString() string {
  26879. return s.String()
  26880. }
  26881. // SetImages sets the Images field's value.
  26882. func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
  26883. s.Images = v
  26884. return s
  26885. }
  26886. // Contains the parameters for DescribeImportImageTasks.
  26887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksRequest
  26888. type DescribeImportImageTasksInput struct {
  26889. _ struct{} `type:"structure"`
  26890. // Checks whether you have the required permissions for the action, without
  26891. // actually making the request, and provides an error response. If you have
  26892. // the required permissions, the error response is DryRunOperation. Otherwise,
  26893. // it is UnauthorizedOperation.
  26894. DryRun *bool `type:"boolean"`
  26895. // Filter tasks using the task-state filter and one of the following values:
  26896. // active, completed, deleting, deleted.
  26897. Filters []*Filter `locationNameList:"Filter" type:"list"`
  26898. // A list of import image task IDs.
  26899. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  26900. // The maximum number of results to return in a single call. To retrieve the
  26901. // remaining results, make another call with the returned NextToken value.
  26902. MaxResults *int64 `type:"integer"`
  26903. // A token that indicates the next page of results.
  26904. NextToken *string `type:"string"`
  26905. }
  26906. // String returns the string representation
  26907. func (s DescribeImportImageTasksInput) String() string {
  26908. return awsutil.Prettify(s)
  26909. }
  26910. // GoString returns the string representation
  26911. func (s DescribeImportImageTasksInput) GoString() string {
  26912. return s.String()
  26913. }
  26914. // SetDryRun sets the DryRun field's value.
  26915. func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
  26916. s.DryRun = &v
  26917. return s
  26918. }
  26919. // SetFilters sets the Filters field's value.
  26920. func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
  26921. s.Filters = v
  26922. return s
  26923. }
  26924. // SetImportTaskIds sets the ImportTaskIds field's value.
  26925. func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
  26926. s.ImportTaskIds = v
  26927. return s
  26928. }
  26929. // SetMaxResults sets the MaxResults field's value.
  26930. func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
  26931. s.MaxResults = &v
  26932. return s
  26933. }
  26934. // SetNextToken sets the NextToken field's value.
  26935. func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
  26936. s.NextToken = &v
  26937. return s
  26938. }
  26939. // Contains the output for DescribeImportImageTasks.
  26940. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasksResult
  26941. type DescribeImportImageTasksOutput struct {
  26942. _ struct{} `type:"structure"`
  26943. // A list of zero or more import image tasks that are currently active or were
  26944. // completed or canceled in the previous 7 days.
  26945. ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
  26946. // The token to use to get the next page of results. This value is null when
  26947. // there are no more results to return.
  26948. NextToken *string `locationName:"nextToken" type:"string"`
  26949. }
  26950. // String returns the string representation
  26951. func (s DescribeImportImageTasksOutput) String() string {
  26952. return awsutil.Prettify(s)
  26953. }
  26954. // GoString returns the string representation
  26955. func (s DescribeImportImageTasksOutput) GoString() string {
  26956. return s.String()
  26957. }
  26958. // SetImportImageTasks sets the ImportImageTasks field's value.
  26959. func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
  26960. s.ImportImageTasks = v
  26961. return s
  26962. }
  26963. // SetNextToken sets the NextToken field's value.
  26964. func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
  26965. s.NextToken = &v
  26966. return s
  26967. }
  26968. // Contains the parameters for DescribeImportSnapshotTasks.
  26969. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksRequest
  26970. type DescribeImportSnapshotTasksInput struct {
  26971. _ struct{} `type:"structure"`
  26972. // Checks whether you have the required permissions for the action, without
  26973. // actually making the request, and provides an error response. If you have
  26974. // the required permissions, the error response is DryRunOperation. Otherwise,
  26975. // it is UnauthorizedOperation.
  26976. DryRun *bool `type:"boolean"`
  26977. // One or more filters.
  26978. Filters []*Filter `locationNameList:"Filter" type:"list"`
  26979. // A list of import snapshot task IDs.
  26980. ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
  26981. // The maximum number of results to return in a single call. To retrieve the
  26982. // remaining results, make another call with the returned NextToken value.
  26983. MaxResults *int64 `type:"integer"`
  26984. // A token that indicates the next page of results.
  26985. NextToken *string `type:"string"`
  26986. }
  26987. // String returns the string representation
  26988. func (s DescribeImportSnapshotTasksInput) String() string {
  26989. return awsutil.Prettify(s)
  26990. }
  26991. // GoString returns the string representation
  26992. func (s DescribeImportSnapshotTasksInput) GoString() string {
  26993. return s.String()
  26994. }
  26995. // SetDryRun sets the DryRun field's value.
  26996. func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
  26997. s.DryRun = &v
  26998. return s
  26999. }
  27000. // SetFilters sets the Filters field's value.
  27001. func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
  27002. s.Filters = v
  27003. return s
  27004. }
  27005. // SetImportTaskIds sets the ImportTaskIds field's value.
  27006. func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
  27007. s.ImportTaskIds = v
  27008. return s
  27009. }
  27010. // SetMaxResults sets the MaxResults field's value.
  27011. func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
  27012. s.MaxResults = &v
  27013. return s
  27014. }
  27015. // SetNextToken sets the NextToken field's value.
  27016. func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
  27017. s.NextToken = &v
  27018. return s
  27019. }
  27020. // Contains the output for DescribeImportSnapshotTasks.
  27021. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasksResult
  27022. type DescribeImportSnapshotTasksOutput struct {
  27023. _ struct{} `type:"structure"`
  27024. // A list of zero or more import snapshot tasks that are currently active or
  27025. // were completed or canceled in the previous 7 days.
  27026. ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
  27027. // The token to use to get the next page of results. This value is null when
  27028. // there are no more results to return.
  27029. NextToken *string `locationName:"nextToken" type:"string"`
  27030. }
  27031. // String returns the string representation
  27032. func (s DescribeImportSnapshotTasksOutput) String() string {
  27033. return awsutil.Prettify(s)
  27034. }
  27035. // GoString returns the string representation
  27036. func (s DescribeImportSnapshotTasksOutput) GoString() string {
  27037. return s.String()
  27038. }
  27039. // SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
  27040. func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
  27041. s.ImportSnapshotTasks = v
  27042. return s
  27043. }
  27044. // SetNextToken sets the NextToken field's value.
  27045. func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
  27046. s.NextToken = &v
  27047. return s
  27048. }
  27049. // Contains the parameters for DescribeInstanceAttribute.
  27050. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttributeRequest
  27051. type DescribeInstanceAttributeInput struct {
  27052. _ struct{} `type:"structure"`
  27053. // The instance attribute.
  27054. //
  27055. // Note: The enaSupport attribute is not supported at this time.
  27056. //
  27057. // Attribute is a required field
  27058. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  27059. // Checks whether you have the required permissions for the action, without
  27060. // actually making the request, and provides an error response. If you have
  27061. // the required permissions, the error response is DryRunOperation. Otherwise,
  27062. // it is UnauthorizedOperation.
  27063. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27064. // The ID of the instance.
  27065. //
  27066. // InstanceId is a required field
  27067. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  27068. }
  27069. // String returns the string representation
  27070. func (s DescribeInstanceAttributeInput) String() string {
  27071. return awsutil.Prettify(s)
  27072. }
  27073. // GoString returns the string representation
  27074. func (s DescribeInstanceAttributeInput) GoString() string {
  27075. return s.String()
  27076. }
  27077. // Validate inspects the fields of the type to determine if they are valid.
  27078. func (s *DescribeInstanceAttributeInput) Validate() error {
  27079. invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
  27080. if s.Attribute == nil {
  27081. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  27082. }
  27083. if s.InstanceId == nil {
  27084. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  27085. }
  27086. if invalidParams.Len() > 0 {
  27087. return invalidParams
  27088. }
  27089. return nil
  27090. }
  27091. // SetAttribute sets the Attribute field's value.
  27092. func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
  27093. s.Attribute = &v
  27094. return s
  27095. }
  27096. // SetDryRun sets the DryRun field's value.
  27097. func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
  27098. s.DryRun = &v
  27099. return s
  27100. }
  27101. // SetInstanceId sets the InstanceId field's value.
  27102. func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
  27103. s.InstanceId = &v
  27104. return s
  27105. }
  27106. // Describes an instance attribute.
  27107. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceAttribute
  27108. type DescribeInstanceAttributeOutput struct {
  27109. _ struct{} `type:"structure"`
  27110. // The block device mapping of the instance.
  27111. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  27112. // If the value is true, you can't terminate the instance through the Amazon
  27113. // EC2 console, CLI, or API; otherwise, you can.
  27114. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  27115. // Indicates whether the instance is optimized for EBS I/O.
  27116. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  27117. // Indicates whether enhanced networking with ENA is enabled.
  27118. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  27119. // The security groups associated with the instance.
  27120. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  27121. // The ID of the instance.
  27122. InstanceId *string `locationName:"instanceId" type:"string"`
  27123. // Indicates whether an instance stops or terminates when you initiate shutdown
  27124. // from the instance (using the operating system command for system shutdown).
  27125. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  27126. // The instance type.
  27127. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  27128. // The kernel ID.
  27129. KernelId *AttributeValue `locationName:"kernel" type:"structure"`
  27130. // A list of product codes.
  27131. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  27132. // The RAM disk ID.
  27133. RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
  27134. // The name of the root device (for example, /dev/sda1 or /dev/xvda).
  27135. RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
  27136. // Indicates whether source/destination checking is enabled. A value of true
  27137. // means checking is enabled, and false means checking is disabled. This value
  27138. // must be false for a NAT instance to perform NAT.
  27139. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  27140. // Indicates whether enhanced networking with the Intel 82599 Virtual Function
  27141. // interface is enabled.
  27142. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  27143. // The user data.
  27144. UserData *AttributeValue `locationName:"userData" type:"structure"`
  27145. }
  27146. // String returns the string representation
  27147. func (s DescribeInstanceAttributeOutput) String() string {
  27148. return awsutil.Prettify(s)
  27149. }
  27150. // GoString returns the string representation
  27151. func (s DescribeInstanceAttributeOutput) GoString() string {
  27152. return s.String()
  27153. }
  27154. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  27155. func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
  27156. s.BlockDeviceMappings = v
  27157. return s
  27158. }
  27159. // SetDisableApiTermination sets the DisableApiTermination field's value.
  27160. func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  27161. s.DisableApiTermination = v
  27162. return s
  27163. }
  27164. // SetEbsOptimized sets the EbsOptimized field's value.
  27165. func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  27166. s.EbsOptimized = v
  27167. return s
  27168. }
  27169. // SetEnaSupport sets the EnaSupport field's value.
  27170. func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  27171. s.EnaSupport = v
  27172. return s
  27173. }
  27174. // SetGroups sets the Groups field's value.
  27175. func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
  27176. s.Groups = v
  27177. return s
  27178. }
  27179. // SetInstanceId sets the InstanceId field's value.
  27180. func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
  27181. s.InstanceId = &v
  27182. return s
  27183. }
  27184. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  27185. func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27186. s.InstanceInitiatedShutdownBehavior = v
  27187. return s
  27188. }
  27189. // SetInstanceType sets the InstanceType field's value.
  27190. func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27191. s.InstanceType = v
  27192. return s
  27193. }
  27194. // SetKernelId sets the KernelId field's value.
  27195. func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27196. s.KernelId = v
  27197. return s
  27198. }
  27199. // SetProductCodes sets the ProductCodes field's value.
  27200. func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
  27201. s.ProductCodes = v
  27202. return s
  27203. }
  27204. // SetRamdiskId sets the RamdiskId field's value.
  27205. func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27206. s.RamdiskId = v
  27207. return s
  27208. }
  27209. // SetRootDeviceName sets the RootDeviceName field's value.
  27210. func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27211. s.RootDeviceName = v
  27212. return s
  27213. }
  27214. // SetSourceDestCheck sets the SourceDestCheck field's value.
  27215. func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
  27216. s.SourceDestCheck = v
  27217. return s
  27218. }
  27219. // SetSriovNetSupport sets the SriovNetSupport field's value.
  27220. func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27221. s.SriovNetSupport = v
  27222. return s
  27223. }
  27224. // SetUserData sets the UserData field's value.
  27225. func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
  27226. s.UserData = v
  27227. return s
  27228. }
  27229. // Contains the parameters for DescribeInstanceStatus.
  27230. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusRequest
  27231. type DescribeInstanceStatusInput struct {
  27232. _ struct{} `type:"structure"`
  27233. // Checks whether you have the required permissions for the action, without
  27234. // actually making the request, and provides an error response. If you have
  27235. // the required permissions, the error response is DryRunOperation. Otherwise,
  27236. // it is UnauthorizedOperation.
  27237. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27238. // One or more filters.
  27239. //
  27240. // * availability-zone - The Availability Zone of the instance.
  27241. //
  27242. // * event.code - The code for the scheduled event (instance-reboot | system-reboot
  27243. // | system-maintenance | instance-retirement | instance-stop).
  27244. //
  27245. // * event.description - A description of the event.
  27246. //
  27247. // * event.not-after - The latest end time for the scheduled event (for example,
  27248. // 2014-09-15T17:15:20.000Z).
  27249. //
  27250. // * event.not-before - The earliest start time for the scheduled event (for
  27251. // example, 2014-09-15T17:15:20.000Z).
  27252. //
  27253. // * instance-state-code - The code for the instance state, as a 16-bit unsigned
  27254. // integer. The high byte is an opaque internal value and should be ignored.
  27255. // The low byte is set based on the state represented. The valid values are
  27256. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  27257. // and 80 (stopped).
  27258. //
  27259. // * instance-state-name - The state of the instance (pending | running |
  27260. // shutting-down | terminated | stopping | stopped).
  27261. //
  27262. // * instance-status.reachability - Filters on instance status where the
  27263. // name is reachability (passed | failed | initializing | insufficient-data).
  27264. //
  27265. // * instance-status.status - The status of the instance (ok | impaired |
  27266. // initializing | insufficient-data | not-applicable).
  27267. //
  27268. // * system-status.reachability - Filters on system status where the name
  27269. // is reachability (passed | failed | initializing | insufficient-data).
  27270. //
  27271. // * system-status.status - The system status of the instance (ok | impaired
  27272. // | initializing | insufficient-data | not-applicable).
  27273. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27274. // When true, includes the health status for all instances. When false, includes
  27275. // the health status for running instances only.
  27276. //
  27277. // Default: false
  27278. IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
  27279. // One or more instance IDs.
  27280. //
  27281. // Default: Describes all your instances.
  27282. //
  27283. // Constraints: Maximum 100 explicitly specified instance IDs.
  27284. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  27285. // The maximum number of results to return in a single call. To retrieve the
  27286. // remaining results, make another call with the returned NextToken value. This
  27287. // value can be between 5 and 1000. You cannot specify this parameter and the
  27288. // instance IDs parameter in the same call.
  27289. MaxResults *int64 `type:"integer"`
  27290. // The token to retrieve the next page of results.
  27291. NextToken *string `type:"string"`
  27292. }
  27293. // String returns the string representation
  27294. func (s DescribeInstanceStatusInput) String() string {
  27295. return awsutil.Prettify(s)
  27296. }
  27297. // GoString returns the string representation
  27298. func (s DescribeInstanceStatusInput) GoString() string {
  27299. return s.String()
  27300. }
  27301. // SetDryRun sets the DryRun field's value.
  27302. func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
  27303. s.DryRun = &v
  27304. return s
  27305. }
  27306. // SetFilters sets the Filters field's value.
  27307. func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
  27308. s.Filters = v
  27309. return s
  27310. }
  27311. // SetIncludeAllInstances sets the IncludeAllInstances field's value.
  27312. func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
  27313. s.IncludeAllInstances = &v
  27314. return s
  27315. }
  27316. // SetInstanceIds sets the InstanceIds field's value.
  27317. func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
  27318. s.InstanceIds = v
  27319. return s
  27320. }
  27321. // SetMaxResults sets the MaxResults field's value.
  27322. func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
  27323. s.MaxResults = &v
  27324. return s
  27325. }
  27326. // SetNextToken sets the NextToken field's value.
  27327. func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
  27328. s.NextToken = &v
  27329. return s
  27330. }
  27331. // Contains the output of DescribeInstanceStatus.
  27332. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatusResult
  27333. type DescribeInstanceStatusOutput struct {
  27334. _ struct{} `type:"structure"`
  27335. // One or more instance status descriptions.
  27336. InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
  27337. // The token to use to retrieve the next page of results. This value is null
  27338. // when there are no more results to return.
  27339. NextToken *string `locationName:"nextToken" type:"string"`
  27340. }
  27341. // String returns the string representation
  27342. func (s DescribeInstanceStatusOutput) String() string {
  27343. return awsutil.Prettify(s)
  27344. }
  27345. // GoString returns the string representation
  27346. func (s DescribeInstanceStatusOutput) GoString() string {
  27347. return s.String()
  27348. }
  27349. // SetInstanceStatuses sets the InstanceStatuses field's value.
  27350. func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
  27351. s.InstanceStatuses = v
  27352. return s
  27353. }
  27354. // SetNextToken sets the NextToken field's value.
  27355. func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
  27356. s.NextToken = &v
  27357. return s
  27358. }
  27359. // Contains the parameters for DescribeInstances.
  27360. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesRequest
  27361. type DescribeInstancesInput struct {
  27362. _ struct{} `type:"structure"`
  27363. // Checks whether you have the required permissions for the action, without
  27364. // actually making the request, and provides an error response. If you have
  27365. // the required permissions, the error response is DryRunOperation. Otherwise,
  27366. // it is UnauthorizedOperation.
  27367. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27368. // One or more filters.
  27369. //
  27370. // * affinity - The affinity setting for an instance running on a Dedicated
  27371. // Host (default | host).
  27372. //
  27373. // * architecture - The instance architecture (i386 | x86_64).
  27374. //
  27375. // * availability-zone - The Availability Zone of the instance.
  27376. //
  27377. // * block-device-mapping.attach-time - The attach time for an EBS volume
  27378. // mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
  27379. //
  27380. // * block-device-mapping.delete-on-termination - A Boolean that indicates
  27381. // whether the EBS volume is deleted on instance termination.
  27382. //
  27383. // * block-device-mapping.device-name - The device name for the EBS volume
  27384. // (for example, /dev/sdh or xvdh).
  27385. //
  27386. // * block-device-mapping.status - The status for the EBS volume (attaching
  27387. // | attached | detaching | detached).
  27388. //
  27389. // * block-device-mapping.volume-id - The volume ID of the EBS volume.
  27390. //
  27391. // * client-token - The idempotency token you provided when you launched
  27392. // the instance.
  27393. //
  27394. // * dns-name - The public DNS name of the instance.
  27395. //
  27396. // * group-id - The ID of the security group for the instance. EC2-Classic
  27397. // only.
  27398. //
  27399. // * group-name - The name of the security group for the instance. EC2-Classic
  27400. // only.
  27401. //
  27402. // * host-id - The ID of the Dedicated Host on which the instance is running,
  27403. // if applicable.
  27404. //
  27405. // * hypervisor - The hypervisor type of the instance (ovm | xen).
  27406. //
  27407. // * iam-instance-profile.arn - The instance profile associated with the
  27408. // instance. Specified as an ARN.
  27409. //
  27410. // * image-id - The ID of the image used to launch the instance.
  27411. //
  27412. // * instance-id - The ID of the instance.
  27413. //
  27414. // * instance-lifecycle - Indicates whether this is a Spot Instance or a
  27415. // Scheduled Instance (spot | scheduled).
  27416. //
  27417. // * instance-state-code - The state of the instance, as a 16-bit unsigned
  27418. // integer. The high byte is an opaque internal value and should be ignored.
  27419. // The low byte is set based on the state represented. The valid values are:
  27420. // 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
  27421. // and 80 (stopped).
  27422. //
  27423. // * instance-state-name - The state of the instance (pending | running |
  27424. // shutting-down | terminated | stopping | stopped).
  27425. //
  27426. // * instance-type - The type of instance (for example, t2.micro).
  27427. //
  27428. // * instance.group-id - The ID of the security group for the instance.
  27429. //
  27430. // * instance.group-name - The name of the security group for the instance.
  27431. //
  27432. //
  27433. // * ip-address - The public IPv4 address of the instance.
  27434. //
  27435. // * kernel-id - The kernel ID.
  27436. //
  27437. // * key-name - The name of the key pair used when the instance was launched.
  27438. //
  27439. // * launch-index - When launching multiple instances, this is the index
  27440. // for the instance in the launch group (for example, 0, 1, 2, and so on).
  27441. //
  27442. //
  27443. // * launch-time - The time when the instance was launched.
  27444. //
  27445. // * monitoring-state - Indicates whether detailed monitoring is enabled
  27446. // (disabled | enabled).
  27447. //
  27448. // * network-interface.addresses.private-ip-address - The private IPv4 address
  27449. // associated with the network interface.
  27450. //
  27451. // * network-interface.addresses.primary - Specifies whether the IPv4 address
  27452. // of the network interface is the primary private IPv4 address.
  27453. //
  27454. // * network-interface.addresses.association.public-ip - The ID of the association
  27455. // of an Elastic IP address (IPv4) with a network interface.
  27456. //
  27457. // * network-interface.addresses.association.ip-owner-id - The owner ID of
  27458. // the private IPv4 address associated with the network interface.
  27459. //
  27460. // * network-interface.association.public-ip - The address of the Elastic
  27461. // IP address (IPv4) bound to the network interface.
  27462. //
  27463. // * network-interface.association.ip-owner-id - The owner of the Elastic
  27464. // IP address (IPv4) associated with the network interface.
  27465. //
  27466. // * network-interface.association.allocation-id - The allocation ID returned
  27467. // when you allocated the Elastic IP address (IPv4) for your network interface.
  27468. //
  27469. // * network-interface.association.association-id - The association ID returned
  27470. // when the network interface was associated with an IPv4 address.
  27471. //
  27472. // * network-interface.attachment.attachment-id - The ID of the interface
  27473. // attachment.
  27474. //
  27475. // * network-interface.attachment.instance-id - The ID of the instance to
  27476. // which the network interface is attached.
  27477. //
  27478. // * network-interface.attachment.instance-owner-id - The owner ID of the
  27479. // instance to which the network interface is attached.
  27480. //
  27481. // * network-interface.attachment.device-index - The device index to which
  27482. // the network interface is attached.
  27483. //
  27484. // * network-interface.attachment.status - The status of the attachment (attaching
  27485. // | attached | detaching | detached).
  27486. //
  27487. // * network-interface.attachment.attach-time - The time that the network
  27488. // interface was attached to an instance.
  27489. //
  27490. // * network-interface.attachment.delete-on-termination - Specifies whether
  27491. // the attachment is deleted when an instance is terminated.
  27492. //
  27493. // * network-interface.availability-zone - The Availability Zone for the
  27494. // network interface.
  27495. //
  27496. // * network-interface.description - The description of the network interface.
  27497. //
  27498. // * network-interface.group-id - The ID of a security group associated with
  27499. // the network interface.
  27500. //
  27501. // * network-interface.group-name - The name of a security group associated
  27502. // with the network interface.
  27503. //
  27504. // * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
  27505. // with the network interface.
  27506. //
  27507. // * network-interface.mac-address - The MAC address of the network interface.
  27508. //
  27509. // * network-interface.network-interface-id - The ID of the network interface.
  27510. //
  27511. // * network-interface.owner-id - The ID of the owner of the network interface.
  27512. //
  27513. // * network-interface.private-dns-name - The private DNS name of the network
  27514. // interface.
  27515. //
  27516. // * network-interface.requester-id - The requester ID for the network interface.
  27517. //
  27518. // * network-interface.requester-managed - Indicates whether the network
  27519. // interface is being managed by AWS.
  27520. //
  27521. // * network-interface.status - The status of the network interface (available)
  27522. // | in-use).
  27523. //
  27524. // * network-interface.source-dest-check - Whether the network interface
  27525. // performs source/destination checking. A value of true means checking is
  27526. // enabled, and false means checking is disabled. The value must be false
  27527. // for the network interface to perform network address translation (NAT)
  27528. // in your VPC.
  27529. //
  27530. // * network-interface.subnet-id - The ID of the subnet for the network interface.
  27531. //
  27532. // * network-interface.vpc-id - The ID of the VPC for the network interface.
  27533. //
  27534. // * owner-id - The AWS account ID of the instance owner.
  27535. //
  27536. // * placement-group-name - The name of the placement group for the instance.
  27537. //
  27538. // * platform - The platform. Use windows if you have Windows instances;
  27539. // otherwise, leave blank.
  27540. //
  27541. // * private-dns-name - The private IPv4 DNS name of the instance.
  27542. //
  27543. // * private-ip-address - The private IPv4 address of the instance.
  27544. //
  27545. // * product-code - The product code associated with the AMI used to launch
  27546. // the instance.
  27547. //
  27548. // * product-code.type - The type of product code (devpay | marketplace).
  27549. //
  27550. // * ramdisk-id - The RAM disk ID.
  27551. //
  27552. // * reason - The reason for the current state of the instance (for example,
  27553. // shows "User Initiated [date]" when you stop or terminate the instance).
  27554. // Similar to the state-reason-code filter.
  27555. //
  27556. // * requester-id - The ID of the entity that launched the instance on your
  27557. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  27558. //
  27559. // * reservation-id - The ID of the instance's reservation. A reservation
  27560. // ID is created any time you launch an instance. A reservation ID has a
  27561. // one-to-one relationship with an instance launch request, but can be associated
  27562. // with more than one instance if you launch multiple instances using the
  27563. // same launch request. For example, if you launch one instance, you'll get
  27564. // one reservation ID. If you launch ten instances using the same launch
  27565. // request, you'll also get one reservation ID.
  27566. //
  27567. // * root-device-name - The name of the root device for the instance (for
  27568. // example, /dev/sda1 or /dev/xvda).
  27569. //
  27570. // * root-device-type - The type of root device that the instance uses (ebs
  27571. // | instance-store).
  27572. //
  27573. // * source-dest-check - Indicates whether the instance performs source/destination
  27574. // checking. A value of true means that checking is enabled, and false means
  27575. // checking is disabled. The value must be false for the instance to perform
  27576. // network address translation (NAT) in your VPC.
  27577. //
  27578. // * spot-instance-request-id - The ID of the Spot instance request.
  27579. //
  27580. // * state-reason-code - The reason code for the state change.
  27581. //
  27582. // * state-reason-message - A message that describes the state change.
  27583. //
  27584. // * subnet-id - The ID of the subnet for the instance.
  27585. //
  27586. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  27587. // Specify the key of the tag in the filter name and the value of the tag
  27588. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  27589. // for the filter name and X for the filter value.
  27590. //
  27591. // * tag-key - The key of a tag assigned to the resource. This filter is
  27592. // independent of the tag-value filter. For example, if you use both the
  27593. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  27594. // assigned both the tag key Purpose (regardless of what the tag's value
  27595. // is), and the tag value X (regardless of what the tag's key is). If you
  27596. // want to list only resources where Purpose is X, see the tag:key=value
  27597. // filter.
  27598. //
  27599. // * tag-value - The value of a tag assigned to the resource. This filter
  27600. // is independent of the tag-key filter.
  27601. //
  27602. // * tenancy - The tenancy of an instance (dedicated | default | host).
  27603. //
  27604. // * virtualization-type - The virtualization type of the instance (paravirtual
  27605. // | hvm).
  27606. //
  27607. // * vpc-id - The ID of the VPC that the instance is running in.
  27608. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27609. // One or more instance IDs.
  27610. //
  27611. // Default: Describes all your instances.
  27612. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
  27613. // The maximum number of results to return in a single call. To retrieve the
  27614. // remaining results, make another call with the returned NextToken value. This
  27615. // value can be between 5 and 1000. You cannot specify this parameter and the
  27616. // instance IDs parameter or tag filters in the same call.
  27617. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  27618. // The token to request the next page of results.
  27619. NextToken *string `locationName:"nextToken" type:"string"`
  27620. }
  27621. // String returns the string representation
  27622. func (s DescribeInstancesInput) String() string {
  27623. return awsutil.Prettify(s)
  27624. }
  27625. // GoString returns the string representation
  27626. func (s DescribeInstancesInput) GoString() string {
  27627. return s.String()
  27628. }
  27629. // SetDryRun sets the DryRun field's value.
  27630. func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
  27631. s.DryRun = &v
  27632. return s
  27633. }
  27634. // SetFilters sets the Filters field's value.
  27635. func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
  27636. s.Filters = v
  27637. return s
  27638. }
  27639. // SetInstanceIds sets the InstanceIds field's value.
  27640. func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
  27641. s.InstanceIds = v
  27642. return s
  27643. }
  27644. // SetMaxResults sets the MaxResults field's value.
  27645. func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
  27646. s.MaxResults = &v
  27647. return s
  27648. }
  27649. // SetNextToken sets the NextToken field's value.
  27650. func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
  27651. s.NextToken = &v
  27652. return s
  27653. }
  27654. // Contains the output of DescribeInstances.
  27655. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstancesResult
  27656. type DescribeInstancesOutput struct {
  27657. _ struct{} `type:"structure"`
  27658. // The token to use to retrieve the next page of results. This value is null
  27659. // when there are no more results to return.
  27660. NextToken *string `locationName:"nextToken" type:"string"`
  27661. // Zero or more reservations.
  27662. Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
  27663. }
  27664. // String returns the string representation
  27665. func (s DescribeInstancesOutput) String() string {
  27666. return awsutil.Prettify(s)
  27667. }
  27668. // GoString returns the string representation
  27669. func (s DescribeInstancesOutput) GoString() string {
  27670. return s.String()
  27671. }
  27672. // SetNextToken sets the NextToken field's value.
  27673. func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
  27674. s.NextToken = &v
  27675. return s
  27676. }
  27677. // SetReservations sets the Reservations field's value.
  27678. func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
  27679. s.Reservations = v
  27680. return s
  27681. }
  27682. // Contains the parameters for DescribeInternetGateways.
  27683. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysRequest
  27684. type DescribeInternetGatewaysInput struct {
  27685. _ struct{} `type:"structure"`
  27686. // Checks whether you have the required permissions for the action, without
  27687. // actually making the request, and provides an error response. If you have
  27688. // the required permissions, the error response is DryRunOperation. Otherwise,
  27689. // it is UnauthorizedOperation.
  27690. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27691. // One or more filters.
  27692. //
  27693. // * attachment.state - The current state of the attachment between the gateway
  27694. // and the VPC (available). Present only if a VPC is attached.
  27695. //
  27696. // * attachment.vpc-id - The ID of an attached VPC.
  27697. //
  27698. // * internet-gateway-id - The ID of the Internet gateway.
  27699. //
  27700. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  27701. // Specify the key of the tag in the filter name and the value of the tag
  27702. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  27703. // for the filter name and X for the filter value.
  27704. //
  27705. // * tag-key - The key of a tag assigned to the resource. This filter is
  27706. // independent of the tag-value filter. For example, if you use both the
  27707. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  27708. // assigned both the tag key Purpose (regardless of what the tag's value
  27709. // is), and the tag value X (regardless of what the tag's key is). If you
  27710. // want to list only resources where Purpose is X, see the tag:key=value
  27711. // filter.
  27712. //
  27713. // * tag-value - The value of a tag assigned to the resource. This filter
  27714. // is independent of the tag-key filter.
  27715. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27716. // One or more Internet gateway IDs.
  27717. //
  27718. // Default: Describes all your Internet gateways.
  27719. InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
  27720. }
  27721. // String returns the string representation
  27722. func (s DescribeInternetGatewaysInput) String() string {
  27723. return awsutil.Prettify(s)
  27724. }
  27725. // GoString returns the string representation
  27726. func (s DescribeInternetGatewaysInput) GoString() string {
  27727. return s.String()
  27728. }
  27729. // SetDryRun sets the DryRun field's value.
  27730. func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
  27731. s.DryRun = &v
  27732. return s
  27733. }
  27734. // SetFilters sets the Filters field's value.
  27735. func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
  27736. s.Filters = v
  27737. return s
  27738. }
  27739. // SetInternetGatewayIds sets the InternetGatewayIds field's value.
  27740. func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
  27741. s.InternetGatewayIds = v
  27742. return s
  27743. }
  27744. // Contains the output of DescribeInternetGateways.
  27745. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGatewaysResult
  27746. type DescribeInternetGatewaysOutput struct {
  27747. _ struct{} `type:"structure"`
  27748. // Information about one or more Internet gateways.
  27749. InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
  27750. }
  27751. // String returns the string representation
  27752. func (s DescribeInternetGatewaysOutput) String() string {
  27753. return awsutil.Prettify(s)
  27754. }
  27755. // GoString returns the string representation
  27756. func (s DescribeInternetGatewaysOutput) GoString() string {
  27757. return s.String()
  27758. }
  27759. // SetInternetGateways sets the InternetGateways field's value.
  27760. func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
  27761. s.InternetGateways = v
  27762. return s
  27763. }
  27764. // Contains the parameters for DescribeKeyPairs.
  27765. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsRequest
  27766. type DescribeKeyPairsInput struct {
  27767. _ struct{} `type:"structure"`
  27768. // Checks whether you have the required permissions for the action, without
  27769. // actually making the request, and provides an error response. If you have
  27770. // the required permissions, the error response is DryRunOperation. Otherwise,
  27771. // it is UnauthorizedOperation.
  27772. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27773. // One or more filters.
  27774. //
  27775. // * fingerprint - The fingerprint of the key pair.
  27776. //
  27777. // * key-name - The name of the key pair.
  27778. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  27779. // One or more key pair names.
  27780. //
  27781. // Default: Describes all your key pairs.
  27782. KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
  27783. }
  27784. // String returns the string representation
  27785. func (s DescribeKeyPairsInput) String() string {
  27786. return awsutil.Prettify(s)
  27787. }
  27788. // GoString returns the string representation
  27789. func (s DescribeKeyPairsInput) GoString() string {
  27790. return s.String()
  27791. }
  27792. // SetDryRun sets the DryRun field's value.
  27793. func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
  27794. s.DryRun = &v
  27795. return s
  27796. }
  27797. // SetFilters sets the Filters field's value.
  27798. func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
  27799. s.Filters = v
  27800. return s
  27801. }
  27802. // SetKeyNames sets the KeyNames field's value.
  27803. func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
  27804. s.KeyNames = v
  27805. return s
  27806. }
  27807. // Contains the output of DescribeKeyPairs.
  27808. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairsResult
  27809. type DescribeKeyPairsOutput struct {
  27810. _ struct{} `type:"structure"`
  27811. // Information about one or more key pairs.
  27812. KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
  27813. }
  27814. // String returns the string representation
  27815. func (s DescribeKeyPairsOutput) String() string {
  27816. return awsutil.Prettify(s)
  27817. }
  27818. // GoString returns the string representation
  27819. func (s DescribeKeyPairsOutput) GoString() string {
  27820. return s.String()
  27821. }
  27822. // SetKeyPairs sets the KeyPairs field's value.
  27823. func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
  27824. s.KeyPairs = v
  27825. return s
  27826. }
  27827. // Contains the parameters for DescribeMovingAddresses.
  27828. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesRequest
  27829. type DescribeMovingAddressesInput struct {
  27830. _ struct{} `type:"structure"`
  27831. // Checks whether you have the required permissions for the action, without
  27832. // actually making the request, and provides an error response. If you have
  27833. // the required permissions, the error response is DryRunOperation. Otherwise,
  27834. // it is UnauthorizedOperation.
  27835. DryRun *bool `locationName:"dryRun" type:"boolean"`
  27836. // One or more filters.
  27837. //
  27838. // * moving-status - The status of the Elastic IP address (MovingToVpc |
  27839. // RestoringToClassic).
  27840. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  27841. // The maximum number of results to return for the request in a single page.
  27842. // The remaining results of the initial request can be seen by sending another
  27843. // request with the returned NextToken value. This value can be between 5 and
  27844. // 1000; if MaxResults is given a value outside of this range, an error is returned.
  27845. //
  27846. // Default: If no value is provided, the default is 1000.
  27847. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  27848. // The token to use to retrieve the next page of results.
  27849. NextToken *string `locationName:"nextToken" type:"string"`
  27850. // One or more Elastic IP addresses.
  27851. PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
  27852. }
  27853. // String returns the string representation
  27854. func (s DescribeMovingAddressesInput) String() string {
  27855. return awsutil.Prettify(s)
  27856. }
  27857. // GoString returns the string representation
  27858. func (s DescribeMovingAddressesInput) GoString() string {
  27859. return s.String()
  27860. }
  27861. // SetDryRun sets the DryRun field's value.
  27862. func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
  27863. s.DryRun = &v
  27864. return s
  27865. }
  27866. // SetFilters sets the Filters field's value.
  27867. func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
  27868. s.Filters = v
  27869. return s
  27870. }
  27871. // SetMaxResults sets the MaxResults field's value.
  27872. func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
  27873. s.MaxResults = &v
  27874. return s
  27875. }
  27876. // SetNextToken sets the NextToken field's value.
  27877. func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
  27878. s.NextToken = &v
  27879. return s
  27880. }
  27881. // SetPublicIps sets the PublicIps field's value.
  27882. func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
  27883. s.PublicIps = v
  27884. return s
  27885. }
  27886. // Contains the output of DescribeMovingAddresses.
  27887. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddressesResult
  27888. type DescribeMovingAddressesOutput struct {
  27889. _ struct{} `type:"structure"`
  27890. // The status for each Elastic IP address.
  27891. MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
  27892. // The token to use to retrieve the next page of results. This value is null
  27893. // when there are no more results to return.
  27894. NextToken *string `locationName:"nextToken" type:"string"`
  27895. }
  27896. // String returns the string representation
  27897. func (s DescribeMovingAddressesOutput) String() string {
  27898. return awsutil.Prettify(s)
  27899. }
  27900. // GoString returns the string representation
  27901. func (s DescribeMovingAddressesOutput) GoString() string {
  27902. return s.String()
  27903. }
  27904. // SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
  27905. func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
  27906. s.MovingAddressStatuses = v
  27907. return s
  27908. }
  27909. // SetNextToken sets the NextToken field's value.
  27910. func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
  27911. s.NextToken = &v
  27912. return s
  27913. }
  27914. // Contains the parameters for DescribeNatGateways.
  27915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysRequest
  27916. type DescribeNatGatewaysInput struct {
  27917. _ struct{} `type:"structure"`
  27918. // One or more filters.
  27919. //
  27920. // * nat-gateway-id - The ID of the NAT gateway.
  27921. //
  27922. // * state - The state of the NAT gateway (pending | failed | available |
  27923. // deleting | deleted).
  27924. //
  27925. // * subnet-id - The ID of the subnet in which the NAT gateway resides.
  27926. //
  27927. // * vpc-id - The ID of the VPC in which the NAT gateway resides.
  27928. Filter []*Filter `locationNameList:"Filter" type:"list"`
  27929. // The maximum number of items to return for this request. The request returns
  27930. // a token that you can specify in a subsequent call to get the next set of
  27931. // results.
  27932. //
  27933. // Constraint: If the value specified is greater than 1000, we return only 1000
  27934. // items.
  27935. MaxResults *int64 `type:"integer"`
  27936. // One or more NAT gateway IDs.
  27937. NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
  27938. // The token to retrieve the next page of results.
  27939. NextToken *string `type:"string"`
  27940. }
  27941. // String returns the string representation
  27942. func (s DescribeNatGatewaysInput) String() string {
  27943. return awsutil.Prettify(s)
  27944. }
  27945. // GoString returns the string representation
  27946. func (s DescribeNatGatewaysInput) GoString() string {
  27947. return s.String()
  27948. }
  27949. // SetFilter sets the Filter field's value.
  27950. func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
  27951. s.Filter = v
  27952. return s
  27953. }
  27954. // SetMaxResults sets the MaxResults field's value.
  27955. func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
  27956. s.MaxResults = &v
  27957. return s
  27958. }
  27959. // SetNatGatewayIds sets the NatGatewayIds field's value.
  27960. func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
  27961. s.NatGatewayIds = v
  27962. return s
  27963. }
  27964. // SetNextToken sets the NextToken field's value.
  27965. func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
  27966. s.NextToken = &v
  27967. return s
  27968. }
  27969. // Contains the output of DescribeNatGateways.
  27970. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGatewaysResult
  27971. type DescribeNatGatewaysOutput struct {
  27972. _ struct{} `type:"structure"`
  27973. // Information about the NAT gateways.
  27974. NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
  27975. // The token to use to retrieve the next page of results. This value is null
  27976. // when there are no more results to return.
  27977. NextToken *string `locationName:"nextToken" type:"string"`
  27978. }
  27979. // String returns the string representation
  27980. func (s DescribeNatGatewaysOutput) String() string {
  27981. return awsutil.Prettify(s)
  27982. }
  27983. // GoString returns the string representation
  27984. func (s DescribeNatGatewaysOutput) GoString() string {
  27985. return s.String()
  27986. }
  27987. // SetNatGateways sets the NatGateways field's value.
  27988. func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
  27989. s.NatGateways = v
  27990. return s
  27991. }
  27992. // SetNextToken sets the NextToken field's value.
  27993. func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
  27994. s.NextToken = &v
  27995. return s
  27996. }
  27997. // Contains the parameters for DescribeNetworkAcls.
  27998. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsRequest
  27999. type DescribeNetworkAclsInput struct {
  28000. _ struct{} `type:"structure"`
  28001. // Checks whether you have the required permissions for the action, without
  28002. // actually making the request, and provides an error response. If you have
  28003. // the required permissions, the error response is DryRunOperation. Otherwise,
  28004. // it is UnauthorizedOperation.
  28005. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28006. // One or more filters.
  28007. //
  28008. // * association.association-id - The ID of an association ID for the ACL.
  28009. //
  28010. // * association.network-acl-id - The ID of the network ACL involved in the
  28011. // association.
  28012. //
  28013. // * association.subnet-id - The ID of the subnet involved in the association.
  28014. //
  28015. // * default - Indicates whether the ACL is the default network ACL for the
  28016. // VPC.
  28017. //
  28018. // * entry.cidr - The IPv4 CIDR range specified in the entry.
  28019. //
  28020. // * entry.egress - Indicates whether the entry applies to egress traffic.
  28021. //
  28022. // * entry.icmp.code - The ICMP code specified in the entry, if any.
  28023. //
  28024. // * entry.icmp.type - The ICMP type specified in the entry, if any.
  28025. //
  28026. // * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
  28027. //
  28028. // * entry.port-range.from - The start of the port range specified in the
  28029. // entry.
  28030. //
  28031. // * entry.port-range.to - The end of the port range specified in the entry.
  28032. //
  28033. //
  28034. // * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
  28035. // or a protocol number).
  28036. //
  28037. // * entry.rule-action - Allows or denies the matching traffic (allow | deny).
  28038. //
  28039. // * entry.rule-number - The number of an entry (in other words, rule) in
  28040. // the ACL's set of entries.
  28041. //
  28042. // * network-acl-id - The ID of the network ACL.
  28043. //
  28044. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28045. // Specify the key of the tag in the filter name and the value of the tag
  28046. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28047. // for the filter name and X for the filter value.
  28048. //
  28049. // * tag-key - The key of a tag assigned to the resource. This filter is
  28050. // independent of the tag-value filter. For example, if you use both the
  28051. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28052. // assigned both the tag key Purpose (regardless of what the tag's value
  28053. // is), and the tag value X (regardless of what the tag's key is). If you
  28054. // want to list only resources where Purpose is X, see the tag:key=value
  28055. // filter.
  28056. //
  28057. // * tag-value - The value of a tag assigned to the resource. This filter
  28058. // is independent of the tag-key filter.
  28059. //
  28060. // * vpc-id - The ID of the VPC for the network ACL.
  28061. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28062. // One or more network ACL IDs.
  28063. //
  28064. // Default: Describes all your network ACLs.
  28065. NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
  28066. }
  28067. // String returns the string representation
  28068. func (s DescribeNetworkAclsInput) String() string {
  28069. return awsutil.Prettify(s)
  28070. }
  28071. // GoString returns the string representation
  28072. func (s DescribeNetworkAclsInput) GoString() string {
  28073. return s.String()
  28074. }
  28075. // SetDryRun sets the DryRun field's value.
  28076. func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
  28077. s.DryRun = &v
  28078. return s
  28079. }
  28080. // SetFilters sets the Filters field's value.
  28081. func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
  28082. s.Filters = v
  28083. return s
  28084. }
  28085. // SetNetworkAclIds sets the NetworkAclIds field's value.
  28086. func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
  28087. s.NetworkAclIds = v
  28088. return s
  28089. }
  28090. // Contains the output of DescribeNetworkAcls.
  28091. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAclsResult
  28092. type DescribeNetworkAclsOutput struct {
  28093. _ struct{} `type:"structure"`
  28094. // Information about one or more network ACLs.
  28095. NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
  28096. }
  28097. // String returns the string representation
  28098. func (s DescribeNetworkAclsOutput) String() string {
  28099. return awsutil.Prettify(s)
  28100. }
  28101. // GoString returns the string representation
  28102. func (s DescribeNetworkAclsOutput) GoString() string {
  28103. return s.String()
  28104. }
  28105. // SetNetworkAcls sets the NetworkAcls field's value.
  28106. func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
  28107. s.NetworkAcls = v
  28108. return s
  28109. }
  28110. // Contains the parameters for DescribeNetworkInterfaceAttribute.
  28111. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeRequest
  28112. type DescribeNetworkInterfaceAttributeInput struct {
  28113. _ struct{} `type:"structure"`
  28114. // The attribute of the network interface. This parameter is required.
  28115. Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
  28116. // Checks whether you have the required permissions for the action, without
  28117. // actually making the request, and provides an error response. If you have
  28118. // the required permissions, the error response is DryRunOperation. Otherwise,
  28119. // it is UnauthorizedOperation.
  28120. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28121. // The ID of the network interface.
  28122. //
  28123. // NetworkInterfaceId is a required field
  28124. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  28125. }
  28126. // String returns the string representation
  28127. func (s DescribeNetworkInterfaceAttributeInput) String() string {
  28128. return awsutil.Prettify(s)
  28129. }
  28130. // GoString returns the string representation
  28131. func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
  28132. return s.String()
  28133. }
  28134. // Validate inspects the fields of the type to determine if they are valid.
  28135. func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
  28136. invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
  28137. if s.NetworkInterfaceId == nil {
  28138. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  28139. }
  28140. if invalidParams.Len() > 0 {
  28141. return invalidParams
  28142. }
  28143. return nil
  28144. }
  28145. // SetAttribute sets the Attribute field's value.
  28146. func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
  28147. s.Attribute = &v
  28148. return s
  28149. }
  28150. // SetDryRun sets the DryRun field's value.
  28151. func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
  28152. s.DryRun = &v
  28153. return s
  28154. }
  28155. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  28156. func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
  28157. s.NetworkInterfaceId = &v
  28158. return s
  28159. }
  28160. // Contains the output of DescribeNetworkInterfaceAttribute.
  28161. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttributeResult
  28162. type DescribeNetworkInterfaceAttributeOutput struct {
  28163. _ struct{} `type:"structure"`
  28164. // The attachment (if any) of the network interface.
  28165. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  28166. // The description of the network interface.
  28167. Description *AttributeValue `locationName:"description" type:"structure"`
  28168. // The security groups associated with the network interface.
  28169. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  28170. // The ID of the network interface.
  28171. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  28172. // Indicates whether source/destination checking is enabled.
  28173. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  28174. }
  28175. // String returns the string representation
  28176. func (s DescribeNetworkInterfaceAttributeOutput) String() string {
  28177. return awsutil.Prettify(s)
  28178. }
  28179. // GoString returns the string representation
  28180. func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
  28181. return s.String()
  28182. }
  28183. // SetAttachment sets the Attachment field's value.
  28184. func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
  28185. s.Attachment = v
  28186. return s
  28187. }
  28188. // SetDescription sets the Description field's value.
  28189. func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
  28190. s.Description = v
  28191. return s
  28192. }
  28193. // SetGroups sets the Groups field's value.
  28194. func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
  28195. s.Groups = v
  28196. return s
  28197. }
  28198. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  28199. func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
  28200. s.NetworkInterfaceId = &v
  28201. return s
  28202. }
  28203. // SetSourceDestCheck sets the SourceDestCheck field's value.
  28204. func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
  28205. s.SourceDestCheck = v
  28206. return s
  28207. }
  28208. // Contains the parameters for DescribeNetworkInterfaces.
  28209. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesRequest
  28210. type DescribeNetworkInterfacesInput struct {
  28211. _ struct{} `type:"structure"`
  28212. // Checks whether you have the required permissions for the action, without
  28213. // actually making the request, and provides an error response. If you have
  28214. // the required permissions, the error response is DryRunOperation. Otherwise,
  28215. // it is UnauthorizedOperation.
  28216. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28217. // One or more filters.
  28218. //
  28219. // * addresses.private-ip-address - The private IPv4 addresses associated
  28220. // with the network interface.
  28221. //
  28222. // * addresses.primary - Whether the private IPv4 address is the primary
  28223. // IP address associated with the network interface.
  28224. //
  28225. // * addresses.association.public-ip - The association ID returned when the
  28226. // network interface was associated with the Elastic IP address (IPv4).
  28227. //
  28228. // * addresses.association.owner-id - The owner ID of the addresses associated
  28229. // with the network interface.
  28230. //
  28231. // * association.association-id - The association ID returned when the network
  28232. // interface was associated with an IPv4 address.
  28233. //
  28234. // * association.allocation-id - The allocation ID returned when you allocated
  28235. // the Elastic IP address (IPv4) for your network interface.
  28236. //
  28237. // * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
  28238. // associated with the network interface.
  28239. //
  28240. // * association.public-ip - The address of the Elastic IP address (IPv4)
  28241. // bound to the network interface.
  28242. //
  28243. // * association.public-dns-name - The public DNS name for the network interface
  28244. // (IPv4).
  28245. //
  28246. // * attachment.attachment-id - The ID of the interface attachment.
  28247. //
  28248. // * attachment.attach.time - The time that the network interface was attached
  28249. // to an instance.
  28250. //
  28251. // * attachment.delete-on-termination - Indicates whether the attachment
  28252. // is deleted when an instance is terminated.
  28253. //
  28254. // * attachment.device-index - The device index to which the network interface
  28255. // is attached.
  28256. //
  28257. // * attachment.instance-id - The ID of the instance to which the network
  28258. // interface is attached.
  28259. //
  28260. // * attachment.instance-owner-id - The owner ID of the instance to which
  28261. // the network interface is attached.
  28262. //
  28263. // * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
  28264. // interface is attached.
  28265. //
  28266. // * attachment.status - The status of the attachment (attaching | attached
  28267. // | detaching | detached).
  28268. //
  28269. // * availability-zone - The Availability Zone of the network interface.
  28270. //
  28271. // * description - The description of the network interface.
  28272. //
  28273. // * group-id - The ID of a security group associated with the network interface.
  28274. //
  28275. // * group-name - The name of a security group associated with the network
  28276. // interface.
  28277. //
  28278. // * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
  28279. // interface.
  28280. //
  28281. // * mac-address - The MAC address of the network interface.
  28282. //
  28283. // * network-interface-id - The ID of the network interface.
  28284. //
  28285. // * owner-id - The AWS account ID of the network interface owner.
  28286. //
  28287. // * private-ip-address - The private IPv4 address or addresses of the network
  28288. // interface.
  28289. //
  28290. // * private-dns-name - The private DNS name of the network interface (IPv4).
  28291. //
  28292. // * requester-id - The ID of the entity that launched the instance on your
  28293. // behalf (for example, AWS Management Console, Auto Scaling, and so on).
  28294. //
  28295. // * requester-managed - Indicates whether the network interface is being
  28296. // managed by an AWS service (for example, AWS Management Console, Auto Scaling,
  28297. // and so on).
  28298. //
  28299. // * source-desk-check - Indicates whether the network interface performs
  28300. // source/destination checking. A value of true means checking is enabled,
  28301. // and false means checking is disabled. The value must be false for the
  28302. // network interface to perform network address translation (NAT) in your
  28303. // VPC.
  28304. //
  28305. // * status - The status of the network interface. If the network interface
  28306. // is not attached to an instance, the status is available; if a network
  28307. // interface is attached to an instance the status is in-use.
  28308. //
  28309. // * subnet-id - The ID of the subnet for the network interface.
  28310. //
  28311. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28312. // Specify the key of the tag in the filter name and the value of the tag
  28313. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28314. // for the filter name and X for the filter value.
  28315. //
  28316. // * tag-key - The key of a tag assigned to the resource. This filter is
  28317. // independent of the tag-value filter. For example, if you use both the
  28318. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28319. // assigned both the tag key Purpose (regardless of what the tag's value
  28320. // is), and the tag value X (regardless of what the tag's key is). If you
  28321. // want to list only resources where Purpose is X, see the tag:key=value
  28322. // filter.
  28323. //
  28324. // * tag-value - The value of a tag assigned to the resource. This filter
  28325. // is independent of the tag-key filter.
  28326. //
  28327. // * vpc-id - The ID of the VPC for the network interface.
  28328. Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
  28329. // One or more network interface IDs.
  28330. //
  28331. // Default: Describes all your network interfaces.
  28332. NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
  28333. }
  28334. // String returns the string representation
  28335. func (s DescribeNetworkInterfacesInput) String() string {
  28336. return awsutil.Prettify(s)
  28337. }
  28338. // GoString returns the string representation
  28339. func (s DescribeNetworkInterfacesInput) GoString() string {
  28340. return s.String()
  28341. }
  28342. // SetDryRun sets the DryRun field's value.
  28343. func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
  28344. s.DryRun = &v
  28345. return s
  28346. }
  28347. // SetFilters sets the Filters field's value.
  28348. func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
  28349. s.Filters = v
  28350. return s
  28351. }
  28352. // SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
  28353. func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
  28354. s.NetworkInterfaceIds = v
  28355. return s
  28356. }
  28357. // Contains the output of DescribeNetworkInterfaces.
  28358. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacesResult
  28359. type DescribeNetworkInterfacesOutput struct {
  28360. _ struct{} `type:"structure"`
  28361. // Information about one or more network interfaces.
  28362. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  28363. }
  28364. // String returns the string representation
  28365. func (s DescribeNetworkInterfacesOutput) String() string {
  28366. return awsutil.Prettify(s)
  28367. }
  28368. // GoString returns the string representation
  28369. func (s DescribeNetworkInterfacesOutput) GoString() string {
  28370. return s.String()
  28371. }
  28372. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  28373. func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
  28374. s.NetworkInterfaces = v
  28375. return s
  28376. }
  28377. // Contains the parameters for DescribePlacementGroups.
  28378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsRequest
  28379. type DescribePlacementGroupsInput struct {
  28380. _ struct{} `type:"structure"`
  28381. // Checks whether you have the required permissions for the action, without
  28382. // actually making the request, and provides an error response. If you have
  28383. // the required permissions, the error response is DryRunOperation. Otherwise,
  28384. // it is UnauthorizedOperation.
  28385. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28386. // One or more filters.
  28387. //
  28388. // * group-name - The name of the placement group.
  28389. //
  28390. // * state - The state of the placement group (pending | available | deleting
  28391. // | deleted).
  28392. //
  28393. // * strategy - The strategy of the placement group (cluster).
  28394. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28395. // One or more placement group names.
  28396. //
  28397. // Default: Describes all your placement groups, or only those otherwise specified.
  28398. GroupNames []*string `locationName:"groupName" type:"list"`
  28399. }
  28400. // String returns the string representation
  28401. func (s DescribePlacementGroupsInput) String() string {
  28402. return awsutil.Prettify(s)
  28403. }
  28404. // GoString returns the string representation
  28405. func (s DescribePlacementGroupsInput) GoString() string {
  28406. return s.String()
  28407. }
  28408. // SetDryRun sets the DryRun field's value.
  28409. func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
  28410. s.DryRun = &v
  28411. return s
  28412. }
  28413. // SetFilters sets the Filters field's value.
  28414. func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
  28415. s.Filters = v
  28416. return s
  28417. }
  28418. // SetGroupNames sets the GroupNames field's value.
  28419. func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
  28420. s.GroupNames = v
  28421. return s
  28422. }
  28423. // Contains the output of DescribePlacementGroups.
  28424. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroupsResult
  28425. type DescribePlacementGroupsOutput struct {
  28426. _ struct{} `type:"structure"`
  28427. // One or more placement groups.
  28428. PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
  28429. }
  28430. // String returns the string representation
  28431. func (s DescribePlacementGroupsOutput) String() string {
  28432. return awsutil.Prettify(s)
  28433. }
  28434. // GoString returns the string representation
  28435. func (s DescribePlacementGroupsOutput) GoString() string {
  28436. return s.String()
  28437. }
  28438. // SetPlacementGroups sets the PlacementGroups field's value.
  28439. func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
  28440. s.PlacementGroups = v
  28441. return s
  28442. }
  28443. // Contains the parameters for DescribePrefixLists.
  28444. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsRequest
  28445. type DescribePrefixListsInput struct {
  28446. _ struct{} `type:"structure"`
  28447. // Checks whether you have the required permissions for the action, without
  28448. // actually making the request, and provides an error response. If you have
  28449. // the required permissions, the error response is DryRunOperation. Otherwise,
  28450. // it is UnauthorizedOperation.
  28451. DryRun *bool `type:"boolean"`
  28452. // One or more filters.
  28453. //
  28454. // * prefix-list-id: The ID of a prefix list.
  28455. //
  28456. // * prefix-list-name: The name of a prefix list.
  28457. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28458. // The maximum number of items to return for this request. The request returns
  28459. // a token that you can specify in a subsequent call to get the next set of
  28460. // results.
  28461. //
  28462. // Constraint: If the value specified is greater than 1000, we return only 1000
  28463. // items.
  28464. MaxResults *int64 `type:"integer"`
  28465. // The token for the next set of items to return. (You received this token from
  28466. // a prior call.)
  28467. NextToken *string `type:"string"`
  28468. // One or more prefix list IDs.
  28469. PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
  28470. }
  28471. // String returns the string representation
  28472. func (s DescribePrefixListsInput) String() string {
  28473. return awsutil.Prettify(s)
  28474. }
  28475. // GoString returns the string representation
  28476. func (s DescribePrefixListsInput) GoString() string {
  28477. return s.String()
  28478. }
  28479. // SetDryRun sets the DryRun field's value.
  28480. func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
  28481. s.DryRun = &v
  28482. return s
  28483. }
  28484. // SetFilters sets the Filters field's value.
  28485. func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
  28486. s.Filters = v
  28487. return s
  28488. }
  28489. // SetMaxResults sets the MaxResults field's value.
  28490. func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
  28491. s.MaxResults = &v
  28492. return s
  28493. }
  28494. // SetNextToken sets the NextToken field's value.
  28495. func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
  28496. s.NextToken = &v
  28497. return s
  28498. }
  28499. // SetPrefixListIds sets the PrefixListIds field's value.
  28500. func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
  28501. s.PrefixListIds = v
  28502. return s
  28503. }
  28504. // Contains the output of DescribePrefixLists.
  28505. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixListsResult
  28506. type DescribePrefixListsOutput struct {
  28507. _ struct{} `type:"structure"`
  28508. // The token to use when requesting the next set of items. If there are no additional
  28509. // items to return, the string is empty.
  28510. NextToken *string `locationName:"nextToken" type:"string"`
  28511. // All available prefix lists.
  28512. PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
  28513. }
  28514. // String returns the string representation
  28515. func (s DescribePrefixListsOutput) String() string {
  28516. return awsutil.Prettify(s)
  28517. }
  28518. // GoString returns the string representation
  28519. func (s DescribePrefixListsOutput) GoString() string {
  28520. return s.String()
  28521. }
  28522. // SetNextToken sets the NextToken field's value.
  28523. func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
  28524. s.NextToken = &v
  28525. return s
  28526. }
  28527. // SetPrefixLists sets the PrefixLists field's value.
  28528. func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
  28529. s.PrefixLists = v
  28530. return s
  28531. }
  28532. // Contains the parameters for DescribeRegions.
  28533. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsRequest
  28534. type DescribeRegionsInput struct {
  28535. _ struct{} `type:"structure"`
  28536. // Checks whether you have the required permissions for the action, without
  28537. // actually making the request, and provides an error response. If you have
  28538. // the required permissions, the error response is DryRunOperation. Otherwise,
  28539. // it is UnauthorizedOperation.
  28540. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28541. // One or more filters.
  28542. //
  28543. // * endpoint - The endpoint of the region (for example, ec2.us-east-1.amazonaws.com).
  28544. //
  28545. // * region-name - The name of the region (for example, us-east-1).
  28546. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28547. // The names of one or more regions.
  28548. RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
  28549. }
  28550. // String returns the string representation
  28551. func (s DescribeRegionsInput) String() string {
  28552. return awsutil.Prettify(s)
  28553. }
  28554. // GoString returns the string representation
  28555. func (s DescribeRegionsInput) GoString() string {
  28556. return s.String()
  28557. }
  28558. // SetDryRun sets the DryRun field's value.
  28559. func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
  28560. s.DryRun = &v
  28561. return s
  28562. }
  28563. // SetFilters sets the Filters field's value.
  28564. func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
  28565. s.Filters = v
  28566. return s
  28567. }
  28568. // SetRegionNames sets the RegionNames field's value.
  28569. func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
  28570. s.RegionNames = v
  28571. return s
  28572. }
  28573. // Contains the output of DescribeRegions.
  28574. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegionsResult
  28575. type DescribeRegionsOutput struct {
  28576. _ struct{} `type:"structure"`
  28577. // Information about one or more regions.
  28578. Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
  28579. }
  28580. // String returns the string representation
  28581. func (s DescribeRegionsOutput) String() string {
  28582. return awsutil.Prettify(s)
  28583. }
  28584. // GoString returns the string representation
  28585. func (s DescribeRegionsOutput) GoString() string {
  28586. return s.String()
  28587. }
  28588. // SetRegions sets the Regions field's value.
  28589. func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
  28590. s.Regions = v
  28591. return s
  28592. }
  28593. // Contains the parameters for DescribeReservedInstances.
  28594. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesRequest
  28595. type DescribeReservedInstancesInput struct {
  28596. _ struct{} `type:"structure"`
  28597. // Checks whether you have the required permissions for the action, without
  28598. // actually making the request, and provides an error response. If you have
  28599. // the required permissions, the error response is DryRunOperation. Otherwise,
  28600. // it is UnauthorizedOperation.
  28601. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28602. // One or more filters.
  28603. //
  28604. // * availability-zone - The Availability Zone where the Reserved Instance
  28605. // can be used.
  28606. //
  28607. // * duration - The duration of the Reserved Instance (one year or three
  28608. // years), in seconds (31536000 | 94608000).
  28609. //
  28610. // * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
  28611. //
  28612. // * fixed-price - The purchase price of the Reserved Instance (for example,
  28613. // 9800.0).
  28614. //
  28615. // * instance-type - The instance type that is covered by the reservation.
  28616. //
  28617. // * scope - The scope of the Reserved Instance (Region or Availability Zone).
  28618. //
  28619. // * product-description - The Reserved Instance product platform description.
  28620. // Instances that include (Amazon VPC) in the product platform description
  28621. // will only be displayed to EC2-Classic account holders and are for use
  28622. // with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
  28623. // Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
  28624. // (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
  28625. // Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
  28626. // SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
  28627. // SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
  28628. //
  28629. // * reserved-instances-id - The ID of the Reserved Instance.
  28630. //
  28631. // * start - The time at which the Reserved Instance purchase request was
  28632. // placed (for example, 2014-08-07T11:54:42.000Z).
  28633. //
  28634. // * state - The state of the Reserved Instance (payment-pending | active
  28635. // | payment-failed | retired).
  28636. //
  28637. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  28638. // Specify the key of the tag in the filter name and the value of the tag
  28639. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  28640. // for the filter name and X for the filter value.
  28641. //
  28642. // * tag-key - The key of a tag assigned to the resource. This filter is
  28643. // independent of the tag-value filter. For example, if you use both the
  28644. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  28645. // assigned both the tag key Purpose (regardless of what the tag's value
  28646. // is), and the tag value X (regardless of what the tag's key is). If you
  28647. // want to list only resources where Purpose is X, see the tag:key=value
  28648. // filter.
  28649. //
  28650. // * tag-value - The value of a tag assigned to the resource. This filter
  28651. // is independent of the tag-key filter.
  28652. //
  28653. // * usage-price - The usage price of the Reserved Instance, per hour (for
  28654. // example, 0.84).
  28655. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28656. // Describes whether the Reserved Instance is Standard or Convertible.
  28657. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  28658. // The Reserved Instance offering type. If you are using tools that predate
  28659. // the 2011-11-01 API version, you only have access to the Medium Utilization
  28660. // Reserved Instance offering type.
  28661. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  28662. // One or more Reserved Instance IDs.
  28663. //
  28664. // Default: Describes all your Reserved Instances, or only those otherwise specified.
  28665. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
  28666. }
  28667. // String returns the string representation
  28668. func (s DescribeReservedInstancesInput) String() string {
  28669. return awsutil.Prettify(s)
  28670. }
  28671. // GoString returns the string representation
  28672. func (s DescribeReservedInstancesInput) GoString() string {
  28673. return s.String()
  28674. }
  28675. // SetDryRun sets the DryRun field's value.
  28676. func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
  28677. s.DryRun = &v
  28678. return s
  28679. }
  28680. // SetFilters sets the Filters field's value.
  28681. func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
  28682. s.Filters = v
  28683. return s
  28684. }
  28685. // SetOfferingClass sets the OfferingClass field's value.
  28686. func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
  28687. s.OfferingClass = &v
  28688. return s
  28689. }
  28690. // SetOfferingType sets the OfferingType field's value.
  28691. func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
  28692. s.OfferingType = &v
  28693. return s
  28694. }
  28695. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  28696. func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
  28697. s.ReservedInstancesIds = v
  28698. return s
  28699. }
  28700. // Contains the parameters for DescribeReservedInstancesListings.
  28701. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsRequest
  28702. type DescribeReservedInstancesListingsInput struct {
  28703. _ struct{} `type:"structure"`
  28704. // One or more filters.
  28705. //
  28706. // * reserved-instances-id - The ID of the Reserved Instances.
  28707. //
  28708. // * reserved-instances-listing-id - The ID of the Reserved Instances listing.
  28709. //
  28710. // * status - The status of the Reserved Instance listing (pending | active
  28711. // | cancelled | closed).
  28712. //
  28713. // * status-message - The reason for the status.
  28714. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28715. // One or more Reserved Instance IDs.
  28716. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  28717. // One or more Reserved Instance listing IDs.
  28718. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  28719. }
  28720. // String returns the string representation
  28721. func (s DescribeReservedInstancesListingsInput) String() string {
  28722. return awsutil.Prettify(s)
  28723. }
  28724. // GoString returns the string representation
  28725. func (s DescribeReservedInstancesListingsInput) GoString() string {
  28726. return s.String()
  28727. }
  28728. // SetFilters sets the Filters field's value.
  28729. func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
  28730. s.Filters = v
  28731. return s
  28732. }
  28733. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  28734. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
  28735. s.ReservedInstancesId = &v
  28736. return s
  28737. }
  28738. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  28739. func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
  28740. s.ReservedInstancesListingId = &v
  28741. return s
  28742. }
  28743. // Contains the output of DescribeReservedInstancesListings.
  28744. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListingsResult
  28745. type DescribeReservedInstancesListingsOutput struct {
  28746. _ struct{} `type:"structure"`
  28747. // Information about the Reserved Instance listing.
  28748. ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
  28749. }
  28750. // String returns the string representation
  28751. func (s DescribeReservedInstancesListingsOutput) String() string {
  28752. return awsutil.Prettify(s)
  28753. }
  28754. // GoString returns the string representation
  28755. func (s DescribeReservedInstancesListingsOutput) GoString() string {
  28756. return s.String()
  28757. }
  28758. // SetReservedInstancesListings sets the ReservedInstancesListings field's value.
  28759. func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
  28760. s.ReservedInstancesListings = v
  28761. return s
  28762. }
  28763. // Contains the parameters for DescribeReservedInstancesModifications.
  28764. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsRequest
  28765. type DescribeReservedInstancesModificationsInput struct {
  28766. _ struct{} `type:"structure"`
  28767. // One or more filters.
  28768. //
  28769. // * client-token - The idempotency token for the modification request.
  28770. //
  28771. // * create-date - The time when the modification request was created.
  28772. //
  28773. // * effective-date - The time when the modification becomes effective.
  28774. //
  28775. // * modification-result.reserved-instances-id - The ID for the Reserved
  28776. // Instances created as part of the modification request. This ID is only
  28777. // available when the status of the modification is fulfilled.
  28778. //
  28779. // * modification-result.target-configuration.availability-zone - The Availability
  28780. // Zone for the new Reserved Instances.
  28781. //
  28782. // * modification-result.target-configuration.instance-count - The number
  28783. // of new Reserved Instances.
  28784. //
  28785. // * modification-result.target-configuration.instance-type - The instance
  28786. // type of the new Reserved Instances.
  28787. //
  28788. // * modification-result.target-configuration.platform - The network platform
  28789. // of the new Reserved Instances (EC2-Classic | EC2-VPC).
  28790. //
  28791. // * reserved-instances-id - The ID of the Reserved Instances modified.
  28792. //
  28793. // * reserved-instances-modification-id - The ID of the modification request.
  28794. //
  28795. // * status - The status of the Reserved Instances modification request (processing
  28796. // | fulfilled | failed).
  28797. //
  28798. // * status-message - The reason for the status.
  28799. //
  28800. // * update-date - The time when the modification request was last updated.
  28801. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28802. // The token to retrieve the next page of results.
  28803. NextToken *string `locationName:"nextToken" type:"string"`
  28804. // IDs for the submitted modification request.
  28805. ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
  28806. }
  28807. // String returns the string representation
  28808. func (s DescribeReservedInstancesModificationsInput) String() string {
  28809. return awsutil.Prettify(s)
  28810. }
  28811. // GoString returns the string representation
  28812. func (s DescribeReservedInstancesModificationsInput) GoString() string {
  28813. return s.String()
  28814. }
  28815. // SetFilters sets the Filters field's value.
  28816. func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
  28817. s.Filters = v
  28818. return s
  28819. }
  28820. // SetNextToken sets the NextToken field's value.
  28821. func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
  28822. s.NextToken = &v
  28823. return s
  28824. }
  28825. // SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
  28826. func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
  28827. s.ReservedInstancesModificationIds = v
  28828. return s
  28829. }
  28830. // Contains the output of DescribeReservedInstancesModifications.
  28831. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModificationsResult
  28832. type DescribeReservedInstancesModificationsOutput struct {
  28833. _ struct{} `type:"structure"`
  28834. // The token to use to retrieve the next page of results. This value is null
  28835. // when there are no more results to return.
  28836. NextToken *string `locationName:"nextToken" type:"string"`
  28837. // The Reserved Instance modification information.
  28838. ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
  28839. }
  28840. // String returns the string representation
  28841. func (s DescribeReservedInstancesModificationsOutput) String() string {
  28842. return awsutil.Prettify(s)
  28843. }
  28844. // GoString returns the string representation
  28845. func (s DescribeReservedInstancesModificationsOutput) GoString() string {
  28846. return s.String()
  28847. }
  28848. // SetNextToken sets the NextToken field's value.
  28849. func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
  28850. s.NextToken = &v
  28851. return s
  28852. }
  28853. // SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
  28854. func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
  28855. s.ReservedInstancesModifications = v
  28856. return s
  28857. }
  28858. // Contains the parameters for DescribeReservedInstancesOfferings.
  28859. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsRequest
  28860. type DescribeReservedInstancesOfferingsInput struct {
  28861. _ struct{} `type:"structure"`
  28862. // The Availability Zone in which the Reserved Instance can be used.
  28863. AvailabilityZone *string `type:"string"`
  28864. // Checks whether you have the required permissions for the action, without
  28865. // actually making the request, and provides an error response. If you have
  28866. // the required permissions, the error response is DryRunOperation. Otherwise,
  28867. // it is UnauthorizedOperation.
  28868. DryRun *bool `locationName:"dryRun" type:"boolean"`
  28869. // One or more filters.
  28870. //
  28871. // * availability-zone - The Availability Zone where the Reserved Instance
  28872. // can be used.
  28873. //
  28874. // * duration - The duration of the Reserved Instance (for example, one year
  28875. // or three years), in seconds (31536000 | 94608000).
  28876. //
  28877. // * fixed-price - The purchase price of the Reserved Instance (for example,
  28878. // 9800.0).
  28879. //
  28880. // * instance-type - The instance type that is covered by the reservation.
  28881. //
  28882. // * marketplace - Set to true to show only Reserved Instance Marketplace
  28883. // offerings. When this filter is not used, which is the default behavior,
  28884. // all offerings from both AWS and the Reserved Instance Marketplace are
  28885. // listed.
  28886. //
  28887. // * product-description - The Reserved Instance product platform description.
  28888. // Instances that include (Amazon VPC) in the product platform description
  28889. // will only be displayed to EC2-Classic account holders and are for use
  28890. // with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
  28891. // SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
  28892. // Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
  28893. // Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
  28894. // with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
  28895. // with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
  28896. // VPC))
  28897. //
  28898. // * reserved-instances-offering-id - The Reserved Instances offering ID.
  28899. //
  28900. // * scope - The scope of the Reserved Instance (Availability Zone or Region).
  28901. //
  28902. // * usage-price - The usage price of the Reserved Instance, per hour (for
  28903. // example, 0.84).
  28904. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  28905. // Include Reserved Instance Marketplace offerings in the response.
  28906. IncludeMarketplace *bool `type:"boolean"`
  28907. // The tenancy of the instances covered by the reservation. A Reserved Instance
  28908. // with a tenancy of dedicated is applied to instances that run in a VPC on
  28909. // single-tenant hardware (i.e., Dedicated Instances).
  28910. //
  28911. // Important: The host value cannot be used with this parameter. Use the default
  28912. // or dedicated values only.
  28913. //
  28914. // Default: default
  28915. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  28916. // The instance type that the reservation will cover (for example, m1.small).
  28917. // For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  28918. // in the Amazon Elastic Compute Cloud User Guide.
  28919. InstanceType *string `type:"string" enum:"InstanceType"`
  28920. // The maximum duration (in seconds) to filter when searching for offerings.
  28921. //
  28922. // Default: 94608000 (3 years)
  28923. MaxDuration *int64 `type:"long"`
  28924. // The maximum number of instances to filter when searching for offerings.
  28925. //
  28926. // Default: 20
  28927. MaxInstanceCount *int64 `type:"integer"`
  28928. // The maximum number of results to return for the request in a single page.
  28929. // The remaining results of the initial request can be seen by sending another
  28930. // request with the returned NextToken value. The maximum is 100.
  28931. //
  28932. // Default: 100
  28933. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  28934. // The minimum duration (in seconds) to filter when searching for offerings.
  28935. //
  28936. // Default: 2592000 (1 month)
  28937. MinDuration *int64 `type:"long"`
  28938. // The token to retrieve the next page of results.
  28939. NextToken *string `locationName:"nextToken" type:"string"`
  28940. // The offering class of the Reserved Instance. Can be standard or convertible.
  28941. OfferingClass *string `type:"string" enum:"OfferingClassType"`
  28942. // The Reserved Instance offering type. If you are using tools that predate
  28943. // the 2011-11-01 API version, you only have access to the Medium Utilization
  28944. // Reserved Instance offering type.
  28945. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  28946. // The Reserved Instance product platform description. Instances that include
  28947. // (Amazon VPC) in the description are for use with Amazon VPC.
  28948. ProductDescription *string `type:"string" enum:"RIProductDescription"`
  28949. // One or more Reserved Instances offering IDs.
  28950. ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
  28951. }
  28952. // String returns the string representation
  28953. func (s DescribeReservedInstancesOfferingsInput) String() string {
  28954. return awsutil.Prettify(s)
  28955. }
  28956. // GoString returns the string representation
  28957. func (s DescribeReservedInstancesOfferingsInput) GoString() string {
  28958. return s.String()
  28959. }
  28960. // SetAvailabilityZone sets the AvailabilityZone field's value.
  28961. func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
  28962. s.AvailabilityZone = &v
  28963. return s
  28964. }
  28965. // SetDryRun sets the DryRun field's value.
  28966. func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
  28967. s.DryRun = &v
  28968. return s
  28969. }
  28970. // SetFilters sets the Filters field's value.
  28971. func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
  28972. s.Filters = v
  28973. return s
  28974. }
  28975. // SetIncludeMarketplace sets the IncludeMarketplace field's value.
  28976. func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
  28977. s.IncludeMarketplace = &v
  28978. return s
  28979. }
  28980. // SetInstanceTenancy sets the InstanceTenancy field's value.
  28981. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
  28982. s.InstanceTenancy = &v
  28983. return s
  28984. }
  28985. // SetInstanceType sets the InstanceType field's value.
  28986. func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
  28987. s.InstanceType = &v
  28988. return s
  28989. }
  28990. // SetMaxDuration sets the MaxDuration field's value.
  28991. func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  28992. s.MaxDuration = &v
  28993. return s
  28994. }
  28995. // SetMaxInstanceCount sets the MaxInstanceCount field's value.
  28996. func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
  28997. s.MaxInstanceCount = &v
  28998. return s
  28999. }
  29000. // SetMaxResults sets the MaxResults field's value.
  29001. func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
  29002. s.MaxResults = &v
  29003. return s
  29004. }
  29005. // SetMinDuration sets the MinDuration field's value.
  29006. func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
  29007. s.MinDuration = &v
  29008. return s
  29009. }
  29010. // SetNextToken sets the NextToken field's value.
  29011. func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
  29012. s.NextToken = &v
  29013. return s
  29014. }
  29015. // SetOfferingClass sets the OfferingClass field's value.
  29016. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
  29017. s.OfferingClass = &v
  29018. return s
  29019. }
  29020. // SetOfferingType sets the OfferingType field's value.
  29021. func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
  29022. s.OfferingType = &v
  29023. return s
  29024. }
  29025. // SetProductDescription sets the ProductDescription field's value.
  29026. func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
  29027. s.ProductDescription = &v
  29028. return s
  29029. }
  29030. // SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
  29031. func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
  29032. s.ReservedInstancesOfferingIds = v
  29033. return s
  29034. }
  29035. // Contains the output of DescribeReservedInstancesOfferings.
  29036. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferingsResult
  29037. type DescribeReservedInstancesOfferingsOutput struct {
  29038. _ struct{} `type:"structure"`
  29039. // The token to use to retrieve the next page of results. This value is null
  29040. // when there are no more results to return.
  29041. NextToken *string `locationName:"nextToken" type:"string"`
  29042. // A list of Reserved Instances offerings.
  29043. ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
  29044. }
  29045. // String returns the string representation
  29046. func (s DescribeReservedInstancesOfferingsOutput) String() string {
  29047. return awsutil.Prettify(s)
  29048. }
  29049. // GoString returns the string representation
  29050. func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
  29051. return s.String()
  29052. }
  29053. // SetNextToken sets the NextToken field's value.
  29054. func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
  29055. s.NextToken = &v
  29056. return s
  29057. }
  29058. // SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
  29059. func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
  29060. s.ReservedInstancesOfferings = v
  29061. return s
  29062. }
  29063. // Contains the output for DescribeReservedInstances.
  29064. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesResult
  29065. type DescribeReservedInstancesOutput struct {
  29066. _ struct{} `type:"structure"`
  29067. // A list of Reserved Instances.
  29068. ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  29069. }
  29070. // String returns the string representation
  29071. func (s DescribeReservedInstancesOutput) String() string {
  29072. return awsutil.Prettify(s)
  29073. }
  29074. // GoString returns the string representation
  29075. func (s DescribeReservedInstancesOutput) GoString() string {
  29076. return s.String()
  29077. }
  29078. // SetReservedInstances sets the ReservedInstances field's value.
  29079. func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
  29080. s.ReservedInstances = v
  29081. return s
  29082. }
  29083. // Contains the parameters for DescribeRouteTables.
  29084. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesRequest
  29085. type DescribeRouteTablesInput struct {
  29086. _ struct{} `type:"structure"`
  29087. // Checks whether you have the required permissions for the action, without
  29088. // actually making the request, and provides an error response. If you have
  29089. // the required permissions, the error response is DryRunOperation. Otherwise,
  29090. // it is UnauthorizedOperation.
  29091. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29092. // One or more filters.
  29093. //
  29094. // * association.route-table-association-id - The ID of an association ID
  29095. // for the route table.
  29096. //
  29097. // * association.route-table-id - The ID of the route table involved in the
  29098. // association.
  29099. //
  29100. // * association.subnet-id - The ID of the subnet involved in the association.
  29101. //
  29102. // * association.main - Indicates whether the route table is the main route
  29103. // table for the VPC (true | false). Route tables that do not have an association
  29104. // ID are not returned in the response.
  29105. //
  29106. // * route-table-id - The ID of the route table.
  29107. //
  29108. // * route.destination-cidr-block - The IPv4 CIDR range specified in a route
  29109. // in the table.
  29110. //
  29111. // * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
  29112. // a route in the route table.
  29113. //
  29114. // * route.destination-prefix-list-id - The ID (prefix) of the AWS service
  29115. // specified in a route in the table.
  29116. //
  29117. // * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
  29118. // gateway specified in a route in the route table.
  29119. //
  29120. // * route.gateway-id - The ID of a gateway specified in a route in the table.
  29121. //
  29122. // * route.instance-id - The ID of an instance specified in a route in the
  29123. // table.
  29124. //
  29125. // * route.nat-gateway-id - The ID of a NAT gateway.
  29126. //
  29127. // * route.origin - Describes how the route was created. CreateRouteTable
  29128. // indicates that the route was automatically created when the route table
  29129. // was created; CreateRoute indicates that the route was manually added to
  29130. // the route table; EnableVgwRoutePropagation indicates that the route was
  29131. // propagated by route propagation.
  29132. //
  29133. // * route.state - The state of a route in the route table (active | blackhole).
  29134. // The blackhole state indicates that the route's target isn't available
  29135. // (for example, the specified gateway isn't attached to the VPC, the specified
  29136. // NAT instance has been terminated, and so on).
  29137. //
  29138. // * route.vpc-peering-connection-id - The ID of a VPC peering connection
  29139. // specified in a route in the table.
  29140. //
  29141. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29142. // Specify the key of the tag in the filter name and the value of the tag
  29143. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  29144. // for the filter name and X for the filter value.
  29145. //
  29146. // * tag-key - The key of a tag assigned to the resource. This filter is
  29147. // independent of the tag-value filter. For example, if you use both the
  29148. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29149. // assigned both the tag key Purpose (regardless of what the tag's value
  29150. // is), and the tag value X (regardless of what the tag's key is). If you
  29151. // want to list only resources where Purpose is X, see the tag:key=value
  29152. // filter.
  29153. //
  29154. // * tag-value - The value of a tag assigned to the resource. This filter
  29155. // is independent of the tag-key filter.
  29156. //
  29157. // * vpc-id - The ID of the VPC for the route table.
  29158. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29159. // One or more route table IDs.
  29160. //
  29161. // Default: Describes all your route tables.
  29162. RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
  29163. }
  29164. // String returns the string representation
  29165. func (s DescribeRouteTablesInput) String() string {
  29166. return awsutil.Prettify(s)
  29167. }
  29168. // GoString returns the string representation
  29169. func (s DescribeRouteTablesInput) GoString() string {
  29170. return s.String()
  29171. }
  29172. // SetDryRun sets the DryRun field's value.
  29173. func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
  29174. s.DryRun = &v
  29175. return s
  29176. }
  29177. // SetFilters sets the Filters field's value.
  29178. func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
  29179. s.Filters = v
  29180. return s
  29181. }
  29182. // SetRouteTableIds sets the RouteTableIds field's value.
  29183. func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
  29184. s.RouteTableIds = v
  29185. return s
  29186. }
  29187. // Contains the output of DescribeRouteTables.
  29188. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTablesResult
  29189. type DescribeRouteTablesOutput struct {
  29190. _ struct{} `type:"structure"`
  29191. // Information about one or more route tables.
  29192. RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
  29193. }
  29194. // String returns the string representation
  29195. func (s DescribeRouteTablesOutput) String() string {
  29196. return awsutil.Prettify(s)
  29197. }
  29198. // GoString returns the string representation
  29199. func (s DescribeRouteTablesOutput) GoString() string {
  29200. return s.String()
  29201. }
  29202. // SetRouteTables sets the RouteTables field's value.
  29203. func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
  29204. s.RouteTables = v
  29205. return s
  29206. }
  29207. // Contains the parameters for DescribeScheduledInstanceAvailability.
  29208. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityRequest
  29209. type DescribeScheduledInstanceAvailabilityInput struct {
  29210. _ struct{} `type:"structure"`
  29211. // Checks whether you have the required permissions for the action, without
  29212. // actually making the request, and provides an error response. If you have
  29213. // the required permissions, the error response is DryRunOperation. Otherwise,
  29214. // it is UnauthorizedOperation.
  29215. DryRun *bool `type:"boolean"`
  29216. // One or more filters.
  29217. //
  29218. // * availability-zone - The Availability Zone (for example, us-west-2a).
  29219. //
  29220. // * instance-type - The instance type (for example, c4.large).
  29221. //
  29222. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  29223. //
  29224. // * platform - The platform (Linux/UNIX or Windows).
  29225. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29226. // The time period for the first schedule to start.
  29227. //
  29228. // FirstSlotStartTimeRange is a required field
  29229. FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
  29230. // The maximum number of results to return in a single call. This value can
  29231. // be between 5 and 300. The default value is 300. To retrieve the remaining
  29232. // results, make another call with the returned NextToken value.
  29233. MaxResults *int64 `type:"integer"`
  29234. // The maximum available duration, in hours. This value must be greater than
  29235. // MinSlotDurationInHours and less than 1,720.
  29236. MaxSlotDurationInHours *int64 `type:"integer"`
  29237. // The minimum available duration, in hours. The minimum required duration is
  29238. // 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
  29239. // the minimum weekly schedule is 24 hours, and the minimum monthly schedule
  29240. // is 100 hours.
  29241. MinSlotDurationInHours *int64 `type:"integer"`
  29242. // The token for the next set of results.
  29243. NextToken *string `type:"string"`
  29244. // The schedule recurrence.
  29245. //
  29246. // Recurrence is a required field
  29247. Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
  29248. }
  29249. // String returns the string representation
  29250. func (s DescribeScheduledInstanceAvailabilityInput) String() string {
  29251. return awsutil.Prettify(s)
  29252. }
  29253. // GoString returns the string representation
  29254. func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
  29255. return s.String()
  29256. }
  29257. // Validate inspects the fields of the type to determine if they are valid.
  29258. func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
  29259. invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
  29260. if s.FirstSlotStartTimeRange == nil {
  29261. invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
  29262. }
  29263. if s.Recurrence == nil {
  29264. invalidParams.Add(request.NewErrParamRequired("Recurrence"))
  29265. }
  29266. if s.FirstSlotStartTimeRange != nil {
  29267. if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
  29268. invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
  29269. }
  29270. }
  29271. if invalidParams.Len() > 0 {
  29272. return invalidParams
  29273. }
  29274. return nil
  29275. }
  29276. // SetDryRun sets the DryRun field's value.
  29277. func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
  29278. s.DryRun = &v
  29279. return s
  29280. }
  29281. // SetFilters sets the Filters field's value.
  29282. func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
  29283. s.Filters = v
  29284. return s
  29285. }
  29286. // SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
  29287. func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
  29288. s.FirstSlotStartTimeRange = v
  29289. return s
  29290. }
  29291. // SetMaxResults sets the MaxResults field's value.
  29292. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
  29293. s.MaxResults = &v
  29294. return s
  29295. }
  29296. // SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
  29297. func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  29298. s.MaxSlotDurationInHours = &v
  29299. return s
  29300. }
  29301. // SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
  29302. func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
  29303. s.MinSlotDurationInHours = &v
  29304. return s
  29305. }
  29306. // SetNextToken sets the NextToken field's value.
  29307. func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
  29308. s.NextToken = &v
  29309. return s
  29310. }
  29311. // SetRecurrence sets the Recurrence field's value.
  29312. func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
  29313. s.Recurrence = v
  29314. return s
  29315. }
  29316. // Contains the output of DescribeScheduledInstanceAvailability.
  29317. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailabilityResult
  29318. type DescribeScheduledInstanceAvailabilityOutput struct {
  29319. _ struct{} `type:"structure"`
  29320. // The token required to retrieve the next set of results. This value is null
  29321. // when there are no more results to return.
  29322. NextToken *string `locationName:"nextToken" type:"string"`
  29323. // Information about the available Scheduled Instances.
  29324. ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
  29325. }
  29326. // String returns the string representation
  29327. func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
  29328. return awsutil.Prettify(s)
  29329. }
  29330. // GoString returns the string representation
  29331. func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
  29332. return s.String()
  29333. }
  29334. // SetNextToken sets the NextToken field's value.
  29335. func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
  29336. s.NextToken = &v
  29337. return s
  29338. }
  29339. // SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
  29340. func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
  29341. s.ScheduledInstanceAvailabilitySet = v
  29342. return s
  29343. }
  29344. // Contains the parameters for DescribeScheduledInstances.
  29345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesRequest
  29346. type DescribeScheduledInstancesInput struct {
  29347. _ struct{} `type:"structure"`
  29348. // Checks whether you have the required permissions for the action, without
  29349. // actually making the request, and provides an error response. If you have
  29350. // the required permissions, the error response is DryRunOperation. Otherwise,
  29351. // it is UnauthorizedOperation.
  29352. DryRun *bool `type:"boolean"`
  29353. // One or more filters.
  29354. //
  29355. // * availability-zone - The Availability Zone (for example, us-west-2a).
  29356. //
  29357. // * instance-type - The instance type (for example, c4.large).
  29358. //
  29359. // * network-platform - The network platform (EC2-Classic or EC2-VPC).
  29360. //
  29361. // * platform - The platform (Linux/UNIX or Windows).
  29362. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29363. // The maximum number of results to return in a single call. This value can
  29364. // be between 5 and 300. The default value is 100. To retrieve the remaining
  29365. // results, make another call with the returned NextToken value.
  29366. MaxResults *int64 `type:"integer"`
  29367. // The token for the next set of results.
  29368. NextToken *string `type:"string"`
  29369. // One or more Scheduled Instance IDs.
  29370. ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
  29371. // The time period for the first schedule to start.
  29372. SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
  29373. }
  29374. // String returns the string representation
  29375. func (s DescribeScheduledInstancesInput) String() string {
  29376. return awsutil.Prettify(s)
  29377. }
  29378. // GoString returns the string representation
  29379. func (s DescribeScheduledInstancesInput) GoString() string {
  29380. return s.String()
  29381. }
  29382. // SetDryRun sets the DryRun field's value.
  29383. func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
  29384. s.DryRun = &v
  29385. return s
  29386. }
  29387. // SetFilters sets the Filters field's value.
  29388. func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
  29389. s.Filters = v
  29390. return s
  29391. }
  29392. // SetMaxResults sets the MaxResults field's value.
  29393. func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
  29394. s.MaxResults = &v
  29395. return s
  29396. }
  29397. // SetNextToken sets the NextToken field's value.
  29398. func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
  29399. s.NextToken = &v
  29400. return s
  29401. }
  29402. // SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
  29403. func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
  29404. s.ScheduledInstanceIds = v
  29405. return s
  29406. }
  29407. // SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
  29408. func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
  29409. s.SlotStartTimeRange = v
  29410. return s
  29411. }
  29412. // Contains the output of DescribeScheduledInstances.
  29413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstancesResult
  29414. type DescribeScheduledInstancesOutput struct {
  29415. _ struct{} `type:"structure"`
  29416. // The token required to retrieve the next set of results. This value is null
  29417. // when there are no more results to return.
  29418. NextToken *string `locationName:"nextToken" type:"string"`
  29419. // Information about the Scheduled Instances.
  29420. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  29421. }
  29422. // String returns the string representation
  29423. func (s DescribeScheduledInstancesOutput) String() string {
  29424. return awsutil.Prettify(s)
  29425. }
  29426. // GoString returns the string representation
  29427. func (s DescribeScheduledInstancesOutput) GoString() string {
  29428. return s.String()
  29429. }
  29430. // SetNextToken sets the NextToken field's value.
  29431. func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
  29432. s.NextToken = &v
  29433. return s
  29434. }
  29435. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  29436. func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
  29437. s.ScheduledInstanceSet = v
  29438. return s
  29439. }
  29440. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesRequest
  29441. type DescribeSecurityGroupReferencesInput struct {
  29442. _ struct{} `type:"structure"`
  29443. // Checks whether you have the required permissions for the operation, without
  29444. // actually making the request, and provides an error response. If you have
  29445. // the required permissions, the error response is DryRunOperation. Otherwise,
  29446. // it is UnauthorizedOperation.
  29447. DryRun *bool `type:"boolean"`
  29448. // One or more security group IDs in your account.
  29449. //
  29450. // GroupId is a required field
  29451. GroupId []*string `locationNameList:"item" type:"list" required:"true"`
  29452. }
  29453. // String returns the string representation
  29454. func (s DescribeSecurityGroupReferencesInput) String() string {
  29455. return awsutil.Prettify(s)
  29456. }
  29457. // GoString returns the string representation
  29458. func (s DescribeSecurityGroupReferencesInput) GoString() string {
  29459. return s.String()
  29460. }
  29461. // Validate inspects the fields of the type to determine if they are valid.
  29462. func (s *DescribeSecurityGroupReferencesInput) Validate() error {
  29463. invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
  29464. if s.GroupId == nil {
  29465. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  29466. }
  29467. if invalidParams.Len() > 0 {
  29468. return invalidParams
  29469. }
  29470. return nil
  29471. }
  29472. // SetDryRun sets the DryRun field's value.
  29473. func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
  29474. s.DryRun = &v
  29475. return s
  29476. }
  29477. // SetGroupId sets the GroupId field's value.
  29478. func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
  29479. s.GroupId = v
  29480. return s
  29481. }
  29482. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferencesResult
  29483. type DescribeSecurityGroupReferencesOutput struct {
  29484. _ struct{} `type:"structure"`
  29485. // Information about the VPCs with the referencing security groups.
  29486. SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
  29487. }
  29488. // String returns the string representation
  29489. func (s DescribeSecurityGroupReferencesOutput) String() string {
  29490. return awsutil.Prettify(s)
  29491. }
  29492. // GoString returns the string representation
  29493. func (s DescribeSecurityGroupReferencesOutput) GoString() string {
  29494. return s.String()
  29495. }
  29496. // SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
  29497. func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
  29498. s.SecurityGroupReferenceSet = v
  29499. return s
  29500. }
  29501. // Contains the parameters for DescribeSecurityGroups.
  29502. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsRequest
  29503. type DescribeSecurityGroupsInput struct {
  29504. _ struct{} `type:"structure"`
  29505. // Checks whether you have the required permissions for the action, without
  29506. // actually making the request, and provides an error response. If you have
  29507. // the required permissions, the error response is DryRunOperation. Otherwise,
  29508. // it is UnauthorizedOperation.
  29509. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29510. // One or more filters. If using multiple filters for rules, the results include
  29511. // security groups for which any combination of rules - not necessarily a single
  29512. // rule - match all filters.
  29513. //
  29514. // * description - The description of the security group.
  29515. //
  29516. // * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
  29517. // to which the security group allows access.
  29518. //
  29519. // * group-id - The ID of the security group.
  29520. //
  29521. // * group-name - The name of the security group.
  29522. //
  29523. // * ip-permission.cidr - An IPv4 CIDR range that has been granted permission
  29524. // in a security group rule.
  29525. //
  29526. // * ip-permission.from-port - The start of port range for the TCP and UDP
  29527. // protocols, or an ICMP type number.
  29528. //
  29529. // * ip-permission.group-id - The ID of a security group that has been granted
  29530. // permission.
  29531. //
  29532. // * ip-permission.group-name - The name of a security group that has been
  29533. // granted permission.
  29534. //
  29535. // * ip-permission.ipv6-cidr - An IPv6 CIDR range that has been granted permission
  29536. // in a security group rule.
  29537. //
  29538. // * ip-permission.protocol - The IP protocol for the permission (tcp | udp
  29539. // | icmp or a protocol number).
  29540. //
  29541. // * ip-permission.to-port - The end of port range for the TCP and UDP protocols,
  29542. // or an ICMP code.
  29543. //
  29544. // * ip-permission.user-id - The ID of an AWS account that has been granted
  29545. // permission.
  29546. //
  29547. // * owner-id - The AWS account ID of the owner of the security group.
  29548. //
  29549. // * tag-key - The key of a tag assigned to the security group.
  29550. //
  29551. // * tag-value - The value of a tag assigned to the security group.
  29552. //
  29553. // * vpc-id - The ID of the VPC specified when the security group was created.
  29554. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29555. // One or more security group IDs. Required for security groups in a nondefault
  29556. // VPC.
  29557. //
  29558. // Default: Describes all your security groups.
  29559. GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  29560. // [EC2-Classic and default VPC only] One or more security group names. You
  29561. // can specify either the security group name or the security group ID. For
  29562. // security groups in a nondefault VPC, use the group-name filter to describe
  29563. // security groups by name.
  29564. //
  29565. // Default: Describes all your security groups.
  29566. GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
  29567. }
  29568. // String returns the string representation
  29569. func (s DescribeSecurityGroupsInput) String() string {
  29570. return awsutil.Prettify(s)
  29571. }
  29572. // GoString returns the string representation
  29573. func (s DescribeSecurityGroupsInput) GoString() string {
  29574. return s.String()
  29575. }
  29576. // SetDryRun sets the DryRun field's value.
  29577. func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
  29578. s.DryRun = &v
  29579. return s
  29580. }
  29581. // SetFilters sets the Filters field's value.
  29582. func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
  29583. s.Filters = v
  29584. return s
  29585. }
  29586. // SetGroupIds sets the GroupIds field's value.
  29587. func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
  29588. s.GroupIds = v
  29589. return s
  29590. }
  29591. // SetGroupNames sets the GroupNames field's value.
  29592. func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
  29593. s.GroupNames = v
  29594. return s
  29595. }
  29596. // Contains the output of DescribeSecurityGroups.
  29597. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupsResult
  29598. type DescribeSecurityGroupsOutput struct {
  29599. _ struct{} `type:"structure"`
  29600. // Information about one or more security groups.
  29601. SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
  29602. }
  29603. // String returns the string representation
  29604. func (s DescribeSecurityGroupsOutput) String() string {
  29605. return awsutil.Prettify(s)
  29606. }
  29607. // GoString returns the string representation
  29608. func (s DescribeSecurityGroupsOutput) GoString() string {
  29609. return s.String()
  29610. }
  29611. // SetSecurityGroups sets the SecurityGroups field's value.
  29612. func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
  29613. s.SecurityGroups = v
  29614. return s
  29615. }
  29616. // Contains the parameters for DescribeSnapshotAttribute.
  29617. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeRequest
  29618. type DescribeSnapshotAttributeInput struct {
  29619. _ struct{} `type:"structure"`
  29620. // The snapshot attribute you would like to view.
  29621. //
  29622. // Attribute is a required field
  29623. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  29624. // Checks whether you have the required permissions for the action, without
  29625. // actually making the request, and provides an error response. If you have
  29626. // the required permissions, the error response is DryRunOperation. Otherwise,
  29627. // it is UnauthorizedOperation.
  29628. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29629. // The ID of the EBS snapshot.
  29630. //
  29631. // SnapshotId is a required field
  29632. SnapshotId *string `type:"string" required:"true"`
  29633. }
  29634. // String returns the string representation
  29635. func (s DescribeSnapshotAttributeInput) String() string {
  29636. return awsutil.Prettify(s)
  29637. }
  29638. // GoString returns the string representation
  29639. func (s DescribeSnapshotAttributeInput) GoString() string {
  29640. return s.String()
  29641. }
  29642. // Validate inspects the fields of the type to determine if they are valid.
  29643. func (s *DescribeSnapshotAttributeInput) Validate() error {
  29644. invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
  29645. if s.Attribute == nil {
  29646. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  29647. }
  29648. if s.SnapshotId == nil {
  29649. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  29650. }
  29651. if invalidParams.Len() > 0 {
  29652. return invalidParams
  29653. }
  29654. return nil
  29655. }
  29656. // SetAttribute sets the Attribute field's value.
  29657. func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
  29658. s.Attribute = &v
  29659. return s
  29660. }
  29661. // SetDryRun sets the DryRun field's value.
  29662. func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
  29663. s.DryRun = &v
  29664. return s
  29665. }
  29666. // SetSnapshotId sets the SnapshotId field's value.
  29667. func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
  29668. s.SnapshotId = &v
  29669. return s
  29670. }
  29671. // Contains the output of DescribeSnapshotAttribute.
  29672. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttributeResult
  29673. type DescribeSnapshotAttributeOutput struct {
  29674. _ struct{} `type:"structure"`
  29675. // A list of permissions for creating volumes from the snapshot.
  29676. CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
  29677. // A list of product codes.
  29678. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  29679. // The ID of the EBS snapshot.
  29680. SnapshotId *string `locationName:"snapshotId" type:"string"`
  29681. }
  29682. // String returns the string representation
  29683. func (s DescribeSnapshotAttributeOutput) String() string {
  29684. return awsutil.Prettify(s)
  29685. }
  29686. // GoString returns the string representation
  29687. func (s DescribeSnapshotAttributeOutput) GoString() string {
  29688. return s.String()
  29689. }
  29690. // SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
  29691. func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
  29692. s.CreateVolumePermissions = v
  29693. return s
  29694. }
  29695. // SetProductCodes sets the ProductCodes field's value.
  29696. func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
  29697. s.ProductCodes = v
  29698. return s
  29699. }
  29700. // SetSnapshotId sets the SnapshotId field's value.
  29701. func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
  29702. s.SnapshotId = &v
  29703. return s
  29704. }
  29705. // Contains the parameters for DescribeSnapshots.
  29706. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsRequest
  29707. type DescribeSnapshotsInput struct {
  29708. _ struct{} `type:"structure"`
  29709. // Checks whether you have the required permissions for the action, without
  29710. // actually making the request, and provides an error response. If you have
  29711. // the required permissions, the error response is DryRunOperation. Otherwise,
  29712. // it is UnauthorizedOperation.
  29713. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29714. // One or more filters.
  29715. //
  29716. // * description - A description of the snapshot.
  29717. //
  29718. // * owner-alias - Value from an Amazon-maintained list (amazon | aws-marketplace
  29719. // | microsoft) of snapshot owners. Not to be confused with the user-configured
  29720. // AWS account alias, which is set from the IAM consolew.
  29721. //
  29722. // * owner-id - The ID of the AWS account that owns the snapshot.
  29723. //
  29724. // * progress - The progress of the snapshot, as a percentage (for example,
  29725. // 80%).
  29726. //
  29727. // * snapshot-id - The snapshot ID.
  29728. //
  29729. // * start-time - The time stamp when the snapshot was initiated.
  29730. //
  29731. // * status - The status of the snapshot (pending | completed | error).
  29732. //
  29733. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  29734. // Specify the key of the tag in the filter name and the value of the tag
  29735. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  29736. // for the filter name and X for the filter value.
  29737. //
  29738. // * tag-key - The key of a tag assigned to the resource. This filter is
  29739. // independent of the tag-value filter. For example, if you use both the
  29740. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  29741. // assigned both the tag key Purpose (regardless of what the tag's value
  29742. // is), and the tag value X (regardless of what the tag's key is). If you
  29743. // want to list only resources where Purpose is X, see the tag:key=value
  29744. // filter.
  29745. //
  29746. // * tag-value - The value of a tag assigned to the resource. This filter
  29747. // is independent of the tag-key filter.
  29748. //
  29749. // * volume-id - The ID of the volume the snapshot is for.
  29750. //
  29751. // * volume-size - The size of the volume, in GiB.
  29752. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  29753. // The maximum number of snapshot results returned by DescribeSnapshots in paginated
  29754. // output. When this parameter is used, DescribeSnapshots only returns MaxResults
  29755. // results in a single page along with a NextToken response element. The remaining
  29756. // results of the initial request can be seen by sending another DescribeSnapshots
  29757. // request with the returned NextToken value. This value can be between 5 and
  29758. // 1000; if MaxResults is given a value larger than 1000, only 1000 results
  29759. // are returned. If this parameter is not used, then DescribeSnapshots returns
  29760. // all results. You cannot specify this parameter and the snapshot IDs parameter
  29761. // in the same request.
  29762. MaxResults *int64 `type:"integer"`
  29763. // The NextToken value returned from a previous paginated DescribeSnapshots
  29764. // request where MaxResults was used and the results exceeded the value of that
  29765. // parameter. Pagination continues from the end of the previous results that
  29766. // returned the NextToken value. This value is null when there are no more results
  29767. // to return.
  29768. NextToken *string `type:"string"`
  29769. // Returns the snapshots owned by the specified owner. Multiple owners can be
  29770. // specified.
  29771. OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
  29772. // One or more AWS accounts IDs that can create volumes from the snapshot.
  29773. RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
  29774. // One or more snapshot IDs.
  29775. //
  29776. // Default: Describes snapshots for which you have launch permissions.
  29777. SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
  29778. }
  29779. // String returns the string representation
  29780. func (s DescribeSnapshotsInput) String() string {
  29781. return awsutil.Prettify(s)
  29782. }
  29783. // GoString returns the string representation
  29784. func (s DescribeSnapshotsInput) GoString() string {
  29785. return s.String()
  29786. }
  29787. // SetDryRun sets the DryRun field's value.
  29788. func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
  29789. s.DryRun = &v
  29790. return s
  29791. }
  29792. // SetFilters sets the Filters field's value.
  29793. func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
  29794. s.Filters = v
  29795. return s
  29796. }
  29797. // SetMaxResults sets the MaxResults field's value.
  29798. func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
  29799. s.MaxResults = &v
  29800. return s
  29801. }
  29802. // SetNextToken sets the NextToken field's value.
  29803. func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
  29804. s.NextToken = &v
  29805. return s
  29806. }
  29807. // SetOwnerIds sets the OwnerIds field's value.
  29808. func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
  29809. s.OwnerIds = v
  29810. return s
  29811. }
  29812. // SetRestorableByUserIds sets the RestorableByUserIds field's value.
  29813. func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
  29814. s.RestorableByUserIds = v
  29815. return s
  29816. }
  29817. // SetSnapshotIds sets the SnapshotIds field's value.
  29818. func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
  29819. s.SnapshotIds = v
  29820. return s
  29821. }
  29822. // Contains the output of DescribeSnapshots.
  29823. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotsResult
  29824. type DescribeSnapshotsOutput struct {
  29825. _ struct{} `type:"structure"`
  29826. // The NextToken value to include in a future DescribeSnapshots request. When
  29827. // the results of a DescribeSnapshots request exceed MaxResults, this value
  29828. // can be used to retrieve the next page of results. This value is null when
  29829. // there are no more results to return.
  29830. NextToken *string `locationName:"nextToken" type:"string"`
  29831. // Information about the snapshots.
  29832. Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
  29833. }
  29834. // String returns the string representation
  29835. func (s DescribeSnapshotsOutput) String() string {
  29836. return awsutil.Prettify(s)
  29837. }
  29838. // GoString returns the string representation
  29839. func (s DescribeSnapshotsOutput) GoString() string {
  29840. return s.String()
  29841. }
  29842. // SetNextToken sets the NextToken field's value.
  29843. func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
  29844. s.NextToken = &v
  29845. return s
  29846. }
  29847. // SetSnapshots sets the Snapshots field's value.
  29848. func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
  29849. s.Snapshots = v
  29850. return s
  29851. }
  29852. // Contains the parameters for DescribeSpotDatafeedSubscription.
  29853. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionRequest
  29854. type DescribeSpotDatafeedSubscriptionInput struct {
  29855. _ struct{} `type:"structure"`
  29856. // Checks whether you have the required permissions for the action, without
  29857. // actually making the request, and provides an error response. If you have
  29858. // the required permissions, the error response is DryRunOperation. Otherwise,
  29859. // it is UnauthorizedOperation.
  29860. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29861. }
  29862. // String returns the string representation
  29863. func (s DescribeSpotDatafeedSubscriptionInput) String() string {
  29864. return awsutil.Prettify(s)
  29865. }
  29866. // GoString returns the string representation
  29867. func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
  29868. return s.String()
  29869. }
  29870. // SetDryRun sets the DryRun field's value.
  29871. func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
  29872. s.DryRun = &v
  29873. return s
  29874. }
  29875. // Contains the output of DescribeSpotDatafeedSubscription.
  29876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscriptionResult
  29877. type DescribeSpotDatafeedSubscriptionOutput struct {
  29878. _ struct{} `type:"structure"`
  29879. // The Spot instance data feed subscription.
  29880. SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
  29881. }
  29882. // String returns the string representation
  29883. func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
  29884. return awsutil.Prettify(s)
  29885. }
  29886. // GoString returns the string representation
  29887. func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
  29888. return s.String()
  29889. }
  29890. // SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
  29891. func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
  29892. s.SpotDatafeedSubscription = v
  29893. return s
  29894. }
  29895. // Contains the parameters for DescribeSpotFleetInstances.
  29896. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesRequest
  29897. type DescribeSpotFleetInstancesInput struct {
  29898. _ struct{} `type:"structure"`
  29899. // Checks whether you have the required permissions for the action, without
  29900. // actually making the request, and provides an error response. If you have
  29901. // the required permissions, the error response is DryRunOperation. Otherwise,
  29902. // it is UnauthorizedOperation.
  29903. DryRun *bool `locationName:"dryRun" type:"boolean"`
  29904. // The maximum number of results to return in a single call. Specify a value
  29905. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  29906. // results, make another call with the returned NextToken value.
  29907. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  29908. // The token for the next set of results.
  29909. NextToken *string `locationName:"nextToken" type:"string"`
  29910. // The ID of the Spot fleet request.
  29911. //
  29912. // SpotFleetRequestId is a required field
  29913. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29914. }
  29915. // String returns the string representation
  29916. func (s DescribeSpotFleetInstancesInput) String() string {
  29917. return awsutil.Prettify(s)
  29918. }
  29919. // GoString returns the string representation
  29920. func (s DescribeSpotFleetInstancesInput) GoString() string {
  29921. return s.String()
  29922. }
  29923. // Validate inspects the fields of the type to determine if they are valid.
  29924. func (s *DescribeSpotFleetInstancesInput) Validate() error {
  29925. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
  29926. if s.SpotFleetRequestId == nil {
  29927. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  29928. }
  29929. if invalidParams.Len() > 0 {
  29930. return invalidParams
  29931. }
  29932. return nil
  29933. }
  29934. // SetDryRun sets the DryRun field's value.
  29935. func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
  29936. s.DryRun = &v
  29937. return s
  29938. }
  29939. // SetMaxResults sets the MaxResults field's value.
  29940. func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
  29941. s.MaxResults = &v
  29942. return s
  29943. }
  29944. // SetNextToken sets the NextToken field's value.
  29945. func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
  29946. s.NextToken = &v
  29947. return s
  29948. }
  29949. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  29950. func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
  29951. s.SpotFleetRequestId = &v
  29952. return s
  29953. }
  29954. // Contains the output of DescribeSpotFleetInstances.
  29955. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstancesResponse
  29956. type DescribeSpotFleetInstancesOutput struct {
  29957. _ struct{} `type:"structure"`
  29958. // The running instances. Note that this list is refreshed periodically and
  29959. // might be out of date.
  29960. //
  29961. // ActiveInstances is a required field
  29962. ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list" required:"true"`
  29963. // The token required to retrieve the next set of results. This value is null
  29964. // when there are no more results to return.
  29965. NextToken *string `locationName:"nextToken" type:"string"`
  29966. // The ID of the Spot fleet request.
  29967. //
  29968. // SpotFleetRequestId is a required field
  29969. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  29970. }
  29971. // String returns the string representation
  29972. func (s DescribeSpotFleetInstancesOutput) String() string {
  29973. return awsutil.Prettify(s)
  29974. }
  29975. // GoString returns the string representation
  29976. func (s DescribeSpotFleetInstancesOutput) GoString() string {
  29977. return s.String()
  29978. }
  29979. // SetActiveInstances sets the ActiveInstances field's value.
  29980. func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
  29981. s.ActiveInstances = v
  29982. return s
  29983. }
  29984. // SetNextToken sets the NextToken field's value.
  29985. func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
  29986. s.NextToken = &v
  29987. return s
  29988. }
  29989. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  29990. func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
  29991. s.SpotFleetRequestId = &v
  29992. return s
  29993. }
  29994. // Contains the parameters for DescribeSpotFleetRequestHistory.
  29995. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryRequest
  29996. type DescribeSpotFleetRequestHistoryInput struct {
  29997. _ struct{} `type:"structure"`
  29998. // Checks whether you have the required permissions for the action, without
  29999. // actually making the request, and provides an error response. If you have
  30000. // the required permissions, the error response is DryRunOperation. Otherwise,
  30001. // it is UnauthorizedOperation.
  30002. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30003. // The type of events to describe. By default, all events are described.
  30004. EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
  30005. // The maximum number of results to return in a single call. Specify a value
  30006. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  30007. // results, make another call with the returned NextToken value.
  30008. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30009. // The token for the next set of results.
  30010. NextToken *string `locationName:"nextToken" type:"string"`
  30011. // The ID of the Spot fleet request.
  30012. //
  30013. // SpotFleetRequestId is a required field
  30014. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  30015. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30016. //
  30017. // StartTime is a required field
  30018. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  30019. }
  30020. // String returns the string representation
  30021. func (s DescribeSpotFleetRequestHistoryInput) String() string {
  30022. return awsutil.Prettify(s)
  30023. }
  30024. // GoString returns the string representation
  30025. func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
  30026. return s.String()
  30027. }
  30028. // Validate inspects the fields of the type to determine if they are valid.
  30029. func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
  30030. invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
  30031. if s.SpotFleetRequestId == nil {
  30032. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  30033. }
  30034. if s.StartTime == nil {
  30035. invalidParams.Add(request.NewErrParamRequired("StartTime"))
  30036. }
  30037. if invalidParams.Len() > 0 {
  30038. return invalidParams
  30039. }
  30040. return nil
  30041. }
  30042. // SetDryRun sets the DryRun field's value.
  30043. func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
  30044. s.DryRun = &v
  30045. return s
  30046. }
  30047. // SetEventType sets the EventType field's value.
  30048. func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
  30049. s.EventType = &v
  30050. return s
  30051. }
  30052. // SetMaxResults sets the MaxResults field's value.
  30053. func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
  30054. s.MaxResults = &v
  30055. return s
  30056. }
  30057. // SetNextToken sets the NextToken field's value.
  30058. func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
  30059. s.NextToken = &v
  30060. return s
  30061. }
  30062. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  30063. func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
  30064. s.SpotFleetRequestId = &v
  30065. return s
  30066. }
  30067. // SetStartTime sets the StartTime field's value.
  30068. func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
  30069. s.StartTime = &v
  30070. return s
  30071. }
  30072. // Contains the output of DescribeSpotFleetRequestHistory.
  30073. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistoryResponse
  30074. type DescribeSpotFleetRequestHistoryOutput struct {
  30075. _ struct{} `type:"structure"`
  30076. // Information about the events in the history of the Spot fleet request.
  30077. //
  30078. // HistoryRecords is a required field
  30079. HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list" required:"true"`
  30080. // The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30081. // All records up to this time were retrieved.
  30082. //
  30083. // If nextToken indicates that there are more results, this value is not present.
  30084. //
  30085. // LastEvaluatedTime is a required field
  30086. LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  30087. // The token required to retrieve the next set of results. This value is null
  30088. // when there are no more results to return.
  30089. NextToken *string `locationName:"nextToken" type:"string"`
  30090. // The ID of the Spot fleet request.
  30091. //
  30092. // SpotFleetRequestId is a required field
  30093. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  30094. // The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30095. //
  30096. // StartTime is a required field
  30097. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  30098. }
  30099. // String returns the string representation
  30100. func (s DescribeSpotFleetRequestHistoryOutput) String() string {
  30101. return awsutil.Prettify(s)
  30102. }
  30103. // GoString returns the string representation
  30104. func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
  30105. return s.String()
  30106. }
  30107. // SetHistoryRecords sets the HistoryRecords field's value.
  30108. func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
  30109. s.HistoryRecords = v
  30110. return s
  30111. }
  30112. // SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
  30113. func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  30114. s.LastEvaluatedTime = &v
  30115. return s
  30116. }
  30117. // SetNextToken sets the NextToken field's value.
  30118. func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
  30119. s.NextToken = &v
  30120. return s
  30121. }
  30122. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  30123. func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
  30124. s.SpotFleetRequestId = &v
  30125. return s
  30126. }
  30127. // SetStartTime sets the StartTime field's value.
  30128. func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
  30129. s.StartTime = &v
  30130. return s
  30131. }
  30132. // Contains the parameters for DescribeSpotFleetRequests.
  30133. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsRequest
  30134. type DescribeSpotFleetRequestsInput struct {
  30135. _ struct{} `type:"structure"`
  30136. // Checks whether you have the required permissions for the action, without
  30137. // actually making the request, and provides an error response. If you have
  30138. // the required permissions, the error response is DryRunOperation. Otherwise,
  30139. // it is UnauthorizedOperation.
  30140. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30141. // The maximum number of results to return in a single call. Specify a value
  30142. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  30143. // results, make another call with the returned NextToken value.
  30144. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30145. // The token for the next set of results.
  30146. NextToken *string `locationName:"nextToken" type:"string"`
  30147. // The IDs of the Spot fleet requests.
  30148. SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
  30149. }
  30150. // String returns the string representation
  30151. func (s DescribeSpotFleetRequestsInput) String() string {
  30152. return awsutil.Prettify(s)
  30153. }
  30154. // GoString returns the string representation
  30155. func (s DescribeSpotFleetRequestsInput) GoString() string {
  30156. return s.String()
  30157. }
  30158. // SetDryRun sets the DryRun field's value.
  30159. func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
  30160. s.DryRun = &v
  30161. return s
  30162. }
  30163. // SetMaxResults sets the MaxResults field's value.
  30164. func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
  30165. s.MaxResults = &v
  30166. return s
  30167. }
  30168. // SetNextToken sets the NextToken field's value.
  30169. func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
  30170. s.NextToken = &v
  30171. return s
  30172. }
  30173. // SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
  30174. func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
  30175. s.SpotFleetRequestIds = v
  30176. return s
  30177. }
  30178. // Contains the output of DescribeSpotFleetRequests.
  30179. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestsResponse
  30180. type DescribeSpotFleetRequestsOutput struct {
  30181. _ struct{} `type:"structure"`
  30182. // The token required to retrieve the next set of results. This value is null
  30183. // when there are no more results to return.
  30184. NextToken *string `locationName:"nextToken" type:"string"`
  30185. // Information about the configuration of your Spot fleet.
  30186. //
  30187. // SpotFleetRequestConfigs is a required field
  30188. SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list" required:"true"`
  30189. }
  30190. // String returns the string representation
  30191. func (s DescribeSpotFleetRequestsOutput) String() string {
  30192. return awsutil.Prettify(s)
  30193. }
  30194. // GoString returns the string representation
  30195. func (s DescribeSpotFleetRequestsOutput) GoString() string {
  30196. return s.String()
  30197. }
  30198. // SetNextToken sets the NextToken field's value.
  30199. func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
  30200. s.NextToken = &v
  30201. return s
  30202. }
  30203. // SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
  30204. func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
  30205. s.SpotFleetRequestConfigs = v
  30206. return s
  30207. }
  30208. // Contains the parameters for DescribeSpotInstanceRequests.
  30209. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsRequest
  30210. type DescribeSpotInstanceRequestsInput struct {
  30211. _ struct{} `type:"structure"`
  30212. // Checks whether you have the required permissions for the action, without
  30213. // actually making the request, and provides an error response. If you have
  30214. // the required permissions, the error response is DryRunOperation. Otherwise,
  30215. // it is UnauthorizedOperation.
  30216. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30217. // One or more filters.
  30218. //
  30219. // * availability-zone-group - The Availability Zone group.
  30220. //
  30221. // * create-time - The time stamp when the Spot instance request was created.
  30222. //
  30223. // * fault-code - The fault code related to the request.
  30224. //
  30225. // * fault-message - The fault message related to the request.
  30226. //
  30227. // * instance-id - The ID of the instance that fulfilled the request.
  30228. //
  30229. // * launch-group - The Spot instance launch group.
  30230. //
  30231. // * launch.block-device-mapping.delete-on-termination - Indicates whether
  30232. // the Amazon EBS volume is deleted on instance termination.
  30233. //
  30234. // * launch.block-device-mapping.device-name - The device name for the Amazon
  30235. // EBS volume (for example, /dev/sdh).
  30236. //
  30237. // * launch.block-device-mapping.snapshot-id - The ID of the snapshot used
  30238. // for the Amazon EBS volume.
  30239. //
  30240. // * launch.block-device-mapping.volume-size - The size of the Amazon EBS
  30241. // volume, in GiB.
  30242. //
  30243. // * launch.block-device-mapping.volume-type - The type of the Amazon EBS
  30244. // volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1
  30245. // for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
  30246. //
  30247. // * launch.group-id - The security group for the instance.
  30248. //
  30249. // * launch.image-id - The ID of the AMI.
  30250. //
  30251. // * launch.instance-type - The type of instance (for example, m3.medium).
  30252. //
  30253. // * launch.kernel-id - The kernel ID.
  30254. //
  30255. // * launch.key-name - The name of the key pair the instance launched with.
  30256. //
  30257. // * launch.monitoring-enabled - Whether monitoring is enabled for the Spot
  30258. // instance.
  30259. //
  30260. // * launch.ramdisk-id - The RAM disk ID.
  30261. //
  30262. // * network-interface.network-interface-id - The ID of the network interface.
  30263. //
  30264. // * network-interface.device-index - The index of the device for the network
  30265. // interface attachment on the instance.
  30266. //
  30267. // * network-interface.subnet-id - The ID of the subnet for the instance.
  30268. //
  30269. // * network-interface.description - A description of the network interface.
  30270. //
  30271. // * network-interface.private-ip-address - The primary private IP address
  30272. // of the network interface.
  30273. //
  30274. // * network-interface.delete-on-termination - Indicates whether the network
  30275. // interface is deleted when the instance is terminated.
  30276. //
  30277. // * network-interface.group-id - The ID of the security group associated
  30278. // with the network interface.
  30279. //
  30280. // * network-interface.group-name - The name of the security group associated
  30281. // with the network interface.
  30282. //
  30283. // * network-interface.addresses.primary - Indicates whether the IP address
  30284. // is the primary private IP address.
  30285. //
  30286. // * product-description - The product description associated with the instance
  30287. // (Linux/UNIX | Windows).
  30288. //
  30289. // * spot-instance-request-id - The Spot instance request ID.
  30290. //
  30291. // * spot-price - The maximum hourly price for any Spot instance launched
  30292. // to fulfill the request.
  30293. //
  30294. // * state - The state of the Spot instance request (open | active | closed
  30295. // | cancelled | failed). Spot bid status information can help you track
  30296. // your Amazon EC2 Spot instance requests. For more information, see Spot
  30297. // Bid Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  30298. // in the Amazon Elastic Compute Cloud User Guide.
  30299. //
  30300. // * status-code - The short code describing the most recent evaluation of
  30301. // your Spot instance request.
  30302. //
  30303. // * status-message - The message explaining the status of the Spot instance
  30304. // request.
  30305. //
  30306. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30307. // Specify the key of the tag in the filter name and the value of the tag
  30308. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30309. // for the filter name and X for the filter value.
  30310. //
  30311. // * tag-key - The key of a tag assigned to the resource. This filter is
  30312. // independent of the tag-value filter. For example, if you use both the
  30313. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30314. // assigned both the tag key Purpose (regardless of what the tag's value
  30315. // is), and the tag value X (regardless of what the tag's key is). If you
  30316. // want to list only resources where Purpose is X, see the tag:key=value
  30317. // filter.
  30318. //
  30319. // * tag-value - The value of a tag assigned to the resource. This filter
  30320. // is independent of the tag-key filter.
  30321. //
  30322. // * type - The type of Spot instance request (one-time | persistent).
  30323. //
  30324. // * launched-availability-zone - The Availability Zone in which the bid
  30325. // is launched.
  30326. //
  30327. // * valid-from - The start date of the request.
  30328. //
  30329. // * valid-until - The end date of the request.
  30330. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30331. // One or more Spot instance request IDs.
  30332. SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
  30333. }
  30334. // String returns the string representation
  30335. func (s DescribeSpotInstanceRequestsInput) String() string {
  30336. return awsutil.Prettify(s)
  30337. }
  30338. // GoString returns the string representation
  30339. func (s DescribeSpotInstanceRequestsInput) GoString() string {
  30340. return s.String()
  30341. }
  30342. // SetDryRun sets the DryRun field's value.
  30343. func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
  30344. s.DryRun = &v
  30345. return s
  30346. }
  30347. // SetFilters sets the Filters field's value.
  30348. func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
  30349. s.Filters = v
  30350. return s
  30351. }
  30352. // SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
  30353. func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
  30354. s.SpotInstanceRequestIds = v
  30355. return s
  30356. }
  30357. // Contains the output of DescribeSpotInstanceRequests.
  30358. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequestsResult
  30359. type DescribeSpotInstanceRequestsOutput struct {
  30360. _ struct{} `type:"structure"`
  30361. // One or more Spot instance requests.
  30362. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  30363. }
  30364. // String returns the string representation
  30365. func (s DescribeSpotInstanceRequestsOutput) String() string {
  30366. return awsutil.Prettify(s)
  30367. }
  30368. // GoString returns the string representation
  30369. func (s DescribeSpotInstanceRequestsOutput) GoString() string {
  30370. return s.String()
  30371. }
  30372. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  30373. func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
  30374. s.SpotInstanceRequests = v
  30375. return s
  30376. }
  30377. // Contains the parameters for DescribeSpotPriceHistory.
  30378. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryRequest
  30379. type DescribeSpotPriceHistoryInput struct {
  30380. _ struct{} `type:"structure"`
  30381. // Filters the results by the specified Availability Zone.
  30382. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  30383. // Checks whether you have the required permissions for the action, without
  30384. // actually making the request, and provides an error response. If you have
  30385. // the required permissions, the error response is DryRunOperation. Otherwise,
  30386. // it is UnauthorizedOperation.
  30387. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30388. // The date and time, up to the current date, from which to stop retrieving
  30389. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30390. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  30391. // One or more filters.
  30392. //
  30393. // * availability-zone - The Availability Zone for which prices should be
  30394. // returned.
  30395. //
  30396. // * instance-type - The type of instance (for example, m3.medium).
  30397. //
  30398. // * product-description - The product description for the Spot price (Linux/UNIX
  30399. // | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
  30400. // VPC) | Windows (Amazon VPC)).
  30401. //
  30402. // * spot-price - The Spot price. The value must match exactly (or use wildcards;
  30403. // greater than or less than comparison is not supported).
  30404. //
  30405. // * timestamp - The timestamp of the Spot price history, in UTC format (for
  30406. // example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater
  30407. // than or less than comparison is not supported.
  30408. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30409. // Filters the results by the specified instance types. Note that T2 and HS1
  30410. // instance types are not supported.
  30411. InstanceTypes []*string `locationName:"InstanceType" type:"list"`
  30412. // The maximum number of results to return in a single call. Specify a value
  30413. // between 1 and 1000. The default value is 1000. To retrieve the remaining
  30414. // results, make another call with the returned NextToken value.
  30415. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30416. // The token for the next set of results.
  30417. NextToken *string `locationName:"nextToken" type:"string"`
  30418. // Filters the results by the specified basic product descriptions.
  30419. ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
  30420. // The date and time, up to the past 90 days, from which to start retrieving
  30421. // the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  30422. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  30423. }
  30424. // String returns the string representation
  30425. func (s DescribeSpotPriceHistoryInput) String() string {
  30426. return awsutil.Prettify(s)
  30427. }
  30428. // GoString returns the string representation
  30429. func (s DescribeSpotPriceHistoryInput) GoString() string {
  30430. return s.String()
  30431. }
  30432. // SetAvailabilityZone sets the AvailabilityZone field's value.
  30433. func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
  30434. s.AvailabilityZone = &v
  30435. return s
  30436. }
  30437. // SetDryRun sets the DryRun field's value.
  30438. func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
  30439. s.DryRun = &v
  30440. return s
  30441. }
  30442. // SetEndTime sets the EndTime field's value.
  30443. func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
  30444. s.EndTime = &v
  30445. return s
  30446. }
  30447. // SetFilters sets the Filters field's value.
  30448. func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
  30449. s.Filters = v
  30450. return s
  30451. }
  30452. // SetInstanceTypes sets the InstanceTypes field's value.
  30453. func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
  30454. s.InstanceTypes = v
  30455. return s
  30456. }
  30457. // SetMaxResults sets the MaxResults field's value.
  30458. func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
  30459. s.MaxResults = &v
  30460. return s
  30461. }
  30462. // SetNextToken sets the NextToken field's value.
  30463. func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
  30464. s.NextToken = &v
  30465. return s
  30466. }
  30467. // SetProductDescriptions sets the ProductDescriptions field's value.
  30468. func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
  30469. s.ProductDescriptions = v
  30470. return s
  30471. }
  30472. // SetStartTime sets the StartTime field's value.
  30473. func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
  30474. s.StartTime = &v
  30475. return s
  30476. }
  30477. // Contains the output of DescribeSpotPriceHistory.
  30478. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistoryResult
  30479. type DescribeSpotPriceHistoryOutput struct {
  30480. _ struct{} `type:"structure"`
  30481. // The token required to retrieve the next set of results. This value is null
  30482. // when there are no more results to return.
  30483. NextToken *string `locationName:"nextToken" type:"string"`
  30484. // The historical Spot prices.
  30485. SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
  30486. }
  30487. // String returns the string representation
  30488. func (s DescribeSpotPriceHistoryOutput) String() string {
  30489. return awsutil.Prettify(s)
  30490. }
  30491. // GoString returns the string representation
  30492. func (s DescribeSpotPriceHistoryOutput) GoString() string {
  30493. return s.String()
  30494. }
  30495. // SetNextToken sets the NextToken field's value.
  30496. func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
  30497. s.NextToken = &v
  30498. return s
  30499. }
  30500. // SetSpotPriceHistory sets the SpotPriceHistory field's value.
  30501. func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
  30502. s.SpotPriceHistory = v
  30503. return s
  30504. }
  30505. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsRequest
  30506. type DescribeStaleSecurityGroupsInput struct {
  30507. _ struct{} `type:"structure"`
  30508. // Checks whether you have the required permissions for the operation, without
  30509. // actually making the request, and provides an error response. If you have
  30510. // the required permissions, the error response is DryRunOperation. Otherwise,
  30511. // it is UnauthorizedOperation.
  30512. DryRun *bool `type:"boolean"`
  30513. // The maximum number of items to return for this request. The request returns
  30514. // a token that you can specify in a subsequent call to get the next set of
  30515. // results.
  30516. MaxResults *int64 `min:"5" type:"integer"`
  30517. // The token for the next set of items to return. (You received this token from
  30518. // a prior call.)
  30519. NextToken *string `min:"1" type:"string"`
  30520. // The ID of the VPC.
  30521. //
  30522. // VpcId is a required field
  30523. VpcId *string `type:"string" required:"true"`
  30524. }
  30525. // String returns the string representation
  30526. func (s DescribeStaleSecurityGroupsInput) String() string {
  30527. return awsutil.Prettify(s)
  30528. }
  30529. // GoString returns the string representation
  30530. func (s DescribeStaleSecurityGroupsInput) GoString() string {
  30531. return s.String()
  30532. }
  30533. // Validate inspects the fields of the type to determine if they are valid.
  30534. func (s *DescribeStaleSecurityGroupsInput) Validate() error {
  30535. invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
  30536. if s.MaxResults != nil && *s.MaxResults < 5 {
  30537. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  30538. }
  30539. if s.NextToken != nil && len(*s.NextToken) < 1 {
  30540. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  30541. }
  30542. if s.VpcId == nil {
  30543. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  30544. }
  30545. if invalidParams.Len() > 0 {
  30546. return invalidParams
  30547. }
  30548. return nil
  30549. }
  30550. // SetDryRun sets the DryRun field's value.
  30551. func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
  30552. s.DryRun = &v
  30553. return s
  30554. }
  30555. // SetMaxResults sets the MaxResults field's value.
  30556. func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
  30557. s.MaxResults = &v
  30558. return s
  30559. }
  30560. // SetNextToken sets the NextToken field's value.
  30561. func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
  30562. s.NextToken = &v
  30563. return s
  30564. }
  30565. // SetVpcId sets the VpcId field's value.
  30566. func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
  30567. s.VpcId = &v
  30568. return s
  30569. }
  30570. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroupsResult
  30571. type DescribeStaleSecurityGroupsOutput struct {
  30572. _ struct{} `type:"structure"`
  30573. // The token to use when requesting the next set of items. If there are no additional
  30574. // items to return, the string is empty.
  30575. NextToken *string `locationName:"nextToken" type:"string"`
  30576. // Information about the stale security groups.
  30577. StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
  30578. }
  30579. // String returns the string representation
  30580. func (s DescribeStaleSecurityGroupsOutput) String() string {
  30581. return awsutil.Prettify(s)
  30582. }
  30583. // GoString returns the string representation
  30584. func (s DescribeStaleSecurityGroupsOutput) GoString() string {
  30585. return s.String()
  30586. }
  30587. // SetNextToken sets the NextToken field's value.
  30588. func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
  30589. s.NextToken = &v
  30590. return s
  30591. }
  30592. // SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
  30593. func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
  30594. s.StaleSecurityGroupSet = v
  30595. return s
  30596. }
  30597. // Contains the parameters for DescribeSubnets.
  30598. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsRequest
  30599. type DescribeSubnetsInput struct {
  30600. _ struct{} `type:"structure"`
  30601. // Checks whether you have the required permissions for the action, without
  30602. // actually making the request, and provides an error response. If you have
  30603. // the required permissions, the error response is DryRunOperation. Otherwise,
  30604. // it is UnauthorizedOperation.
  30605. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30606. // One or more filters.
  30607. //
  30608. // * availabilityZone - The Availability Zone for the subnet. You can also
  30609. // use availability-zone as the filter name.
  30610. //
  30611. // * available-ip-address-count - The number of IPv4 addresses in the subnet
  30612. // that are available.
  30613. //
  30614. // * cidrBlock - The IPv4 CIDR block of the subnet. The CIDR block you specify
  30615. // must exactly match the subnet's CIDR block for information to be returned
  30616. // for the subnet. You can also use cidr or cidr-block as the filter names.
  30617. //
  30618. // * defaultForAz - Indicates whether this is the default subnet for the
  30619. // Availability Zone. You can also use default-for-az as the filter name.
  30620. //
  30621. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  30622. // with the subnet.
  30623. //
  30624. // * ipv6-cidr-block-association.association-id - An association ID for an
  30625. // IPv6 CIDR block associated with the subnet.
  30626. //
  30627. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  30628. // associated with the subnet.
  30629. //
  30630. // * state - The state of the subnet (pending | available).
  30631. //
  30632. // * subnet-id - The ID of the subnet.
  30633. //
  30634. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  30635. // Specify the key of the tag in the filter name and the value of the tag
  30636. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  30637. // for the filter name and X for the filter value.
  30638. //
  30639. // * tag-key - The key of a tag assigned to the resource. This filter is
  30640. // independent of the tag-value filter. For example, if you use both the
  30641. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  30642. // assigned both the tag key Purpose (regardless of what the tag's value
  30643. // is), and the tag value X (regardless of what the tag's key is). If you
  30644. // want to list only resources where Purpose is X, see the tag:key=value
  30645. // filter.
  30646. //
  30647. // * tag-value - The value of a tag assigned to the resource. This filter
  30648. // is independent of the tag-key filter.
  30649. //
  30650. // * vpc-id - The ID of the VPC for the subnet.
  30651. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30652. // One or more subnet IDs.
  30653. //
  30654. // Default: Describes all your subnets.
  30655. SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
  30656. }
  30657. // String returns the string representation
  30658. func (s DescribeSubnetsInput) String() string {
  30659. return awsutil.Prettify(s)
  30660. }
  30661. // GoString returns the string representation
  30662. func (s DescribeSubnetsInput) GoString() string {
  30663. return s.String()
  30664. }
  30665. // SetDryRun sets the DryRun field's value.
  30666. func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
  30667. s.DryRun = &v
  30668. return s
  30669. }
  30670. // SetFilters sets the Filters field's value.
  30671. func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
  30672. s.Filters = v
  30673. return s
  30674. }
  30675. // SetSubnetIds sets the SubnetIds field's value.
  30676. func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
  30677. s.SubnetIds = v
  30678. return s
  30679. }
  30680. // Contains the output of DescribeSubnets.
  30681. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnetsResult
  30682. type DescribeSubnetsOutput struct {
  30683. _ struct{} `type:"structure"`
  30684. // Information about one or more subnets.
  30685. Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
  30686. }
  30687. // String returns the string representation
  30688. func (s DescribeSubnetsOutput) String() string {
  30689. return awsutil.Prettify(s)
  30690. }
  30691. // GoString returns the string representation
  30692. func (s DescribeSubnetsOutput) GoString() string {
  30693. return s.String()
  30694. }
  30695. // SetSubnets sets the Subnets field's value.
  30696. func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
  30697. s.Subnets = v
  30698. return s
  30699. }
  30700. // Contains the parameters for DescribeTags.
  30701. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsRequest
  30702. type DescribeTagsInput struct {
  30703. _ struct{} `type:"structure"`
  30704. // Checks whether you have the required permissions for the action, without
  30705. // actually making the request, and provides an error response. If you have
  30706. // the required permissions, the error response is DryRunOperation. Otherwise,
  30707. // it is UnauthorizedOperation.
  30708. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30709. // One or more filters.
  30710. //
  30711. // * key - The tag key.
  30712. //
  30713. // * resource-id - The resource ID.
  30714. //
  30715. // * resource-type - The resource type (customer-gateway | dhcp-options |
  30716. // image | instance | internet-gateway | network-acl | network-interface
  30717. // | reserved-instances | route-table | security-group | snapshot | spot-instances-request
  30718. // | subnet | volume | vpc | vpn-connection | vpn-gateway).
  30719. //
  30720. // * value - The tag value.
  30721. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30722. // The maximum number of results to return in a single call. This value can
  30723. // be between 5 and 1000. To retrieve the remaining results, make another call
  30724. // with the returned NextToken value.
  30725. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  30726. // The token to retrieve the next page of results.
  30727. NextToken *string `locationName:"nextToken" type:"string"`
  30728. }
  30729. // String returns the string representation
  30730. func (s DescribeTagsInput) String() string {
  30731. return awsutil.Prettify(s)
  30732. }
  30733. // GoString returns the string representation
  30734. func (s DescribeTagsInput) GoString() string {
  30735. return s.String()
  30736. }
  30737. // SetDryRun sets the DryRun field's value.
  30738. func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
  30739. s.DryRun = &v
  30740. return s
  30741. }
  30742. // SetFilters sets the Filters field's value.
  30743. func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
  30744. s.Filters = v
  30745. return s
  30746. }
  30747. // SetMaxResults sets the MaxResults field's value.
  30748. func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
  30749. s.MaxResults = &v
  30750. return s
  30751. }
  30752. // SetNextToken sets the NextToken field's value.
  30753. func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
  30754. s.NextToken = &v
  30755. return s
  30756. }
  30757. // Contains the output of DescribeTags.
  30758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTagsResult
  30759. type DescribeTagsOutput struct {
  30760. _ struct{} `type:"structure"`
  30761. // The token to use to retrieve the next page of results. This value is null
  30762. // when there are no more results to return..
  30763. NextToken *string `locationName:"nextToken" type:"string"`
  30764. // A list of tags.
  30765. Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
  30766. }
  30767. // String returns the string representation
  30768. func (s DescribeTagsOutput) String() string {
  30769. return awsutil.Prettify(s)
  30770. }
  30771. // GoString returns the string representation
  30772. func (s DescribeTagsOutput) GoString() string {
  30773. return s.String()
  30774. }
  30775. // SetNextToken sets the NextToken field's value.
  30776. func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
  30777. s.NextToken = &v
  30778. return s
  30779. }
  30780. // SetTags sets the Tags field's value.
  30781. func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
  30782. s.Tags = v
  30783. return s
  30784. }
  30785. // Contains the parameters for DescribeVolumeAttribute.
  30786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeRequest
  30787. type DescribeVolumeAttributeInput struct {
  30788. _ struct{} `type:"structure"`
  30789. // The attribute of the volume. This parameter is required.
  30790. Attribute *string `type:"string" enum:"VolumeAttributeName"`
  30791. // Checks whether you have the required permissions for the action, without
  30792. // actually making the request, and provides an error response. If you have
  30793. // the required permissions, the error response is DryRunOperation. Otherwise,
  30794. // it is UnauthorizedOperation.
  30795. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30796. // The ID of the volume.
  30797. //
  30798. // VolumeId is a required field
  30799. VolumeId *string `type:"string" required:"true"`
  30800. }
  30801. // String returns the string representation
  30802. func (s DescribeVolumeAttributeInput) String() string {
  30803. return awsutil.Prettify(s)
  30804. }
  30805. // GoString returns the string representation
  30806. func (s DescribeVolumeAttributeInput) GoString() string {
  30807. return s.String()
  30808. }
  30809. // Validate inspects the fields of the type to determine if they are valid.
  30810. func (s *DescribeVolumeAttributeInput) Validate() error {
  30811. invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
  30812. if s.VolumeId == nil {
  30813. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  30814. }
  30815. if invalidParams.Len() > 0 {
  30816. return invalidParams
  30817. }
  30818. return nil
  30819. }
  30820. // SetAttribute sets the Attribute field's value.
  30821. func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
  30822. s.Attribute = &v
  30823. return s
  30824. }
  30825. // SetDryRun sets the DryRun field's value.
  30826. func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
  30827. s.DryRun = &v
  30828. return s
  30829. }
  30830. // SetVolumeId sets the VolumeId field's value.
  30831. func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
  30832. s.VolumeId = &v
  30833. return s
  30834. }
  30835. // Contains the output of DescribeVolumeAttribute.
  30836. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttributeResult
  30837. type DescribeVolumeAttributeOutput struct {
  30838. _ struct{} `type:"structure"`
  30839. // The state of autoEnableIO attribute.
  30840. AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
  30841. // A list of product codes.
  30842. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  30843. // The ID of the volume.
  30844. VolumeId *string `locationName:"volumeId" type:"string"`
  30845. }
  30846. // String returns the string representation
  30847. func (s DescribeVolumeAttributeOutput) String() string {
  30848. return awsutil.Prettify(s)
  30849. }
  30850. // GoString returns the string representation
  30851. func (s DescribeVolumeAttributeOutput) GoString() string {
  30852. return s.String()
  30853. }
  30854. // SetAutoEnableIO sets the AutoEnableIO field's value.
  30855. func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
  30856. s.AutoEnableIO = v
  30857. return s
  30858. }
  30859. // SetProductCodes sets the ProductCodes field's value.
  30860. func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
  30861. s.ProductCodes = v
  30862. return s
  30863. }
  30864. // SetVolumeId sets the VolumeId field's value.
  30865. func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
  30866. s.VolumeId = &v
  30867. return s
  30868. }
  30869. // Contains the parameters for DescribeVolumeStatus.
  30870. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusRequest
  30871. type DescribeVolumeStatusInput struct {
  30872. _ struct{} `type:"structure"`
  30873. // Checks whether you have the required permissions for the action, without
  30874. // actually making the request, and provides an error response. If you have
  30875. // the required permissions, the error response is DryRunOperation. Otherwise,
  30876. // it is UnauthorizedOperation.
  30877. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30878. // One or more filters.
  30879. //
  30880. // * action.code - The action code for the event (for example, enable-volume-io).
  30881. //
  30882. // * action.description - A description of the action.
  30883. //
  30884. // * action.event-id - The event ID associated with the action.
  30885. //
  30886. // * availability-zone - The Availability Zone of the instance.
  30887. //
  30888. // * event.description - A description of the event.
  30889. //
  30890. // * event.event-id - The event ID.
  30891. //
  30892. // * event.event-type - The event type (for io-enabled: passed | failed;
  30893. // for io-performance: io-performance:degraded | io-performance:severely-degraded
  30894. // | io-performance:stalled).
  30895. //
  30896. // * event.not-after - The latest end time for the event.
  30897. //
  30898. // * event.not-before - The earliest start time for the event.
  30899. //
  30900. // * volume-status.details-name - The cause for volume-status.status (io-enabled
  30901. // | io-performance).
  30902. //
  30903. // * volume-status.details-status - The status of volume-status.details-name
  30904. // (for io-enabled: passed | failed; for io-performance: normal | degraded
  30905. // | severely-degraded | stalled).
  30906. //
  30907. // * volume-status.status - The status of the volume (ok | impaired | warning
  30908. // | insufficient-data).
  30909. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  30910. // The maximum number of volume results returned by DescribeVolumeStatus in
  30911. // paginated output. When this parameter is used, the request only returns MaxResults
  30912. // results in a single page along with a NextToken response element. The remaining
  30913. // results of the initial request can be seen by sending another request with
  30914. // the returned NextToken value. This value can be between 5 and 1000; if MaxResults
  30915. // is given a value larger than 1000, only 1000 results are returned. If this
  30916. // parameter is not used, then DescribeVolumeStatus returns all results. You
  30917. // cannot specify this parameter and the volume IDs parameter in the same request.
  30918. MaxResults *int64 `type:"integer"`
  30919. // The NextToken value to include in a future DescribeVolumeStatus request.
  30920. // When the results of the request exceed MaxResults, this value can be used
  30921. // to retrieve the next page of results. This value is null when there are no
  30922. // more results to return.
  30923. NextToken *string `type:"string"`
  30924. // One or more volume IDs.
  30925. //
  30926. // Default: Describes all your volumes.
  30927. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  30928. }
  30929. // String returns the string representation
  30930. func (s DescribeVolumeStatusInput) String() string {
  30931. return awsutil.Prettify(s)
  30932. }
  30933. // GoString returns the string representation
  30934. func (s DescribeVolumeStatusInput) GoString() string {
  30935. return s.String()
  30936. }
  30937. // SetDryRun sets the DryRun field's value.
  30938. func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
  30939. s.DryRun = &v
  30940. return s
  30941. }
  30942. // SetFilters sets the Filters field's value.
  30943. func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
  30944. s.Filters = v
  30945. return s
  30946. }
  30947. // SetMaxResults sets the MaxResults field's value.
  30948. func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
  30949. s.MaxResults = &v
  30950. return s
  30951. }
  30952. // SetNextToken sets the NextToken field's value.
  30953. func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
  30954. s.NextToken = &v
  30955. return s
  30956. }
  30957. // SetVolumeIds sets the VolumeIds field's value.
  30958. func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
  30959. s.VolumeIds = v
  30960. return s
  30961. }
  30962. // Contains the output of DescribeVolumeStatus.
  30963. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatusResult
  30964. type DescribeVolumeStatusOutput struct {
  30965. _ struct{} `type:"structure"`
  30966. // The token to use to retrieve the next page of results. This value is null
  30967. // when there are no more results to return.
  30968. NextToken *string `locationName:"nextToken" type:"string"`
  30969. // A list of volumes.
  30970. VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
  30971. }
  30972. // String returns the string representation
  30973. func (s DescribeVolumeStatusOutput) String() string {
  30974. return awsutil.Prettify(s)
  30975. }
  30976. // GoString returns the string representation
  30977. func (s DescribeVolumeStatusOutput) GoString() string {
  30978. return s.String()
  30979. }
  30980. // SetNextToken sets the NextToken field's value.
  30981. func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
  30982. s.NextToken = &v
  30983. return s
  30984. }
  30985. // SetVolumeStatuses sets the VolumeStatuses field's value.
  30986. func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
  30987. s.VolumeStatuses = v
  30988. return s
  30989. }
  30990. // Contains the parameters for DescribeVolumes.
  30991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesRequest
  30992. type DescribeVolumesInput struct {
  30993. _ struct{} `type:"structure"`
  30994. // Checks whether you have the required permissions for the action, without
  30995. // actually making the request, and provides an error response. If you have
  30996. // the required permissions, the error response is DryRunOperation. Otherwise,
  30997. // it is UnauthorizedOperation.
  30998. DryRun *bool `locationName:"dryRun" type:"boolean"`
  30999. // One or more filters.
  31000. //
  31001. // * attachment.attach-time - The time stamp when the attachment initiated.
  31002. //
  31003. // * attachment.delete-on-termination - Whether the volume is deleted on
  31004. // instance termination.
  31005. //
  31006. // * attachment.device - The device name that is exposed to the instance
  31007. // (for example, /dev/sda1).
  31008. //
  31009. // * attachment.instance-id - The ID of the instance the volume is attached
  31010. // to.
  31011. //
  31012. // * attachment.status - The attachment state (attaching | attached | detaching
  31013. // | detached).
  31014. //
  31015. // * availability-zone - The Availability Zone in which the volume was created.
  31016. //
  31017. // * create-time - The time stamp when the volume was created.
  31018. //
  31019. // * encrypted - The encryption status of the volume.
  31020. //
  31021. // * size - The size of the volume, in GiB.
  31022. //
  31023. // * snapshot-id - The snapshot from which the volume was created.
  31024. //
  31025. // * status - The status of the volume (creating | available | in-use | deleting
  31026. // | deleted | error).
  31027. //
  31028. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31029. // Specify the key of the tag in the filter name and the value of the tag
  31030. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31031. // for the filter name and X for the filter value.
  31032. //
  31033. // * tag-key - The key of a tag assigned to the resource. This filter is
  31034. // independent of the tag-value filter. For example, if you use both the
  31035. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31036. // assigned both the tag key Purpose (regardless of what the tag's value
  31037. // is), and the tag value X (regardless of what the tag's key is). If you
  31038. // want to list only resources where Purpose is X, see the tag:key=value
  31039. // filter.
  31040. //
  31041. // * tag-value - The value of a tag assigned to the resource. This filter
  31042. // is independent of the tag-key filter.
  31043. //
  31044. // * volume-id - The volume ID.
  31045. //
  31046. // * volume-type - The Amazon EBS volume type. This can be gp2 for General
  31047. // Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
  31048. // HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
  31049. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31050. // The maximum number of volume results returned by DescribeVolumes in paginated
  31051. // output. When this parameter is used, DescribeVolumes only returns MaxResults
  31052. // results in a single page along with a NextToken response element. The remaining
  31053. // results of the initial request can be seen by sending another DescribeVolumes
  31054. // request with the returned NextToken value. This value can be between 5 and
  31055. // 500; if MaxResults is given a value larger than 500, only 500 results are
  31056. // returned. If this parameter is not used, then DescribeVolumes returns all
  31057. // results. You cannot specify this parameter and the volume IDs parameter in
  31058. // the same request.
  31059. MaxResults *int64 `locationName:"maxResults" type:"integer"`
  31060. // The NextToken value returned from a previous paginated DescribeVolumes request
  31061. // where MaxResults was used and the results exceeded the value of that parameter.
  31062. // Pagination continues from the end of the previous results that returned the
  31063. // NextToken value. This value is null when there are no more results to return.
  31064. NextToken *string `locationName:"nextToken" type:"string"`
  31065. // One or more volume IDs.
  31066. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  31067. }
  31068. // String returns the string representation
  31069. func (s DescribeVolumesInput) String() string {
  31070. return awsutil.Prettify(s)
  31071. }
  31072. // GoString returns the string representation
  31073. func (s DescribeVolumesInput) GoString() string {
  31074. return s.String()
  31075. }
  31076. // SetDryRun sets the DryRun field's value.
  31077. func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
  31078. s.DryRun = &v
  31079. return s
  31080. }
  31081. // SetFilters sets the Filters field's value.
  31082. func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
  31083. s.Filters = v
  31084. return s
  31085. }
  31086. // SetMaxResults sets the MaxResults field's value.
  31087. func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
  31088. s.MaxResults = &v
  31089. return s
  31090. }
  31091. // SetNextToken sets the NextToken field's value.
  31092. func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
  31093. s.NextToken = &v
  31094. return s
  31095. }
  31096. // SetVolumeIds sets the VolumeIds field's value.
  31097. func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
  31098. s.VolumeIds = v
  31099. return s
  31100. }
  31101. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsRequest
  31102. type DescribeVolumesModificationsInput struct {
  31103. _ struct{} `type:"structure"`
  31104. // Checks whether you have the required permissions for the action, without
  31105. // actually making the request, and provides an error response. If you have
  31106. // the required permissions, the error response is DryRunOperation. Otherwise,
  31107. // it is UnauthorizedOperation.
  31108. DryRun *bool `type:"boolean"`
  31109. // One or more filters. Supported filters: volume-id, modification-state, target-size,
  31110. // target-iops, target-volume-type, original-size, original-iops, original-volume-type,
  31111. // start-time.
  31112. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31113. // The maximum number of results (up to a limit of 500) to be returned in a
  31114. // paginated request.
  31115. MaxResults *int64 `type:"integer"`
  31116. // The nextToken value returned by a previous paginated request.
  31117. NextToken *string `type:"string"`
  31118. // One or more volume IDs for which in-progress modifications will be described.
  31119. VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
  31120. }
  31121. // String returns the string representation
  31122. func (s DescribeVolumesModificationsInput) String() string {
  31123. return awsutil.Prettify(s)
  31124. }
  31125. // GoString returns the string representation
  31126. func (s DescribeVolumesModificationsInput) GoString() string {
  31127. return s.String()
  31128. }
  31129. // SetDryRun sets the DryRun field's value.
  31130. func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
  31131. s.DryRun = &v
  31132. return s
  31133. }
  31134. // SetFilters sets the Filters field's value.
  31135. func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
  31136. s.Filters = v
  31137. return s
  31138. }
  31139. // SetMaxResults sets the MaxResults field's value.
  31140. func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
  31141. s.MaxResults = &v
  31142. return s
  31143. }
  31144. // SetNextToken sets the NextToken field's value.
  31145. func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
  31146. s.NextToken = &v
  31147. return s
  31148. }
  31149. // SetVolumeIds sets the VolumeIds field's value.
  31150. func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
  31151. s.VolumeIds = v
  31152. return s
  31153. }
  31154. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModificationsResult
  31155. type DescribeVolumesModificationsOutput struct {
  31156. _ struct{} `type:"structure"`
  31157. // Token for pagination, null if there are no more results
  31158. NextToken *string `locationName:"nextToken" type:"string"`
  31159. // A list of returned VolumeModification objects.
  31160. VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
  31161. }
  31162. // String returns the string representation
  31163. func (s DescribeVolumesModificationsOutput) String() string {
  31164. return awsutil.Prettify(s)
  31165. }
  31166. // GoString returns the string representation
  31167. func (s DescribeVolumesModificationsOutput) GoString() string {
  31168. return s.String()
  31169. }
  31170. // SetNextToken sets the NextToken field's value.
  31171. func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
  31172. s.NextToken = &v
  31173. return s
  31174. }
  31175. // SetVolumesModifications sets the VolumesModifications field's value.
  31176. func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
  31177. s.VolumesModifications = v
  31178. return s
  31179. }
  31180. // Contains the output of DescribeVolumes.
  31181. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesResult
  31182. type DescribeVolumesOutput struct {
  31183. _ struct{} `type:"structure"`
  31184. // The NextToken value to include in a future DescribeVolumes request. When
  31185. // the results of a DescribeVolumes request exceed MaxResults, this value can
  31186. // be used to retrieve the next page of results. This value is null when there
  31187. // are no more results to return.
  31188. NextToken *string `locationName:"nextToken" type:"string"`
  31189. // Information about the volumes.
  31190. Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
  31191. }
  31192. // String returns the string representation
  31193. func (s DescribeVolumesOutput) String() string {
  31194. return awsutil.Prettify(s)
  31195. }
  31196. // GoString returns the string representation
  31197. func (s DescribeVolumesOutput) GoString() string {
  31198. return s.String()
  31199. }
  31200. // SetNextToken sets the NextToken field's value.
  31201. func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
  31202. s.NextToken = &v
  31203. return s
  31204. }
  31205. // SetVolumes sets the Volumes field's value.
  31206. func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
  31207. s.Volumes = v
  31208. return s
  31209. }
  31210. // Contains the parameters for DescribeVpcAttribute.
  31211. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeRequest
  31212. type DescribeVpcAttributeInput struct {
  31213. _ struct{} `type:"structure"`
  31214. // The VPC attribute.
  31215. //
  31216. // Attribute is a required field
  31217. Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
  31218. // Checks whether you have the required permissions for the action, without
  31219. // actually making the request, and provides an error response. If you have
  31220. // the required permissions, the error response is DryRunOperation. Otherwise,
  31221. // it is UnauthorizedOperation.
  31222. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31223. // The ID of the VPC.
  31224. //
  31225. // VpcId is a required field
  31226. VpcId *string `type:"string" required:"true"`
  31227. }
  31228. // String returns the string representation
  31229. func (s DescribeVpcAttributeInput) String() string {
  31230. return awsutil.Prettify(s)
  31231. }
  31232. // GoString returns the string representation
  31233. func (s DescribeVpcAttributeInput) GoString() string {
  31234. return s.String()
  31235. }
  31236. // Validate inspects the fields of the type to determine if they are valid.
  31237. func (s *DescribeVpcAttributeInput) Validate() error {
  31238. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
  31239. if s.Attribute == nil {
  31240. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  31241. }
  31242. if s.VpcId == nil {
  31243. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  31244. }
  31245. if invalidParams.Len() > 0 {
  31246. return invalidParams
  31247. }
  31248. return nil
  31249. }
  31250. // SetAttribute sets the Attribute field's value.
  31251. func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
  31252. s.Attribute = &v
  31253. return s
  31254. }
  31255. // SetDryRun sets the DryRun field's value.
  31256. func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
  31257. s.DryRun = &v
  31258. return s
  31259. }
  31260. // SetVpcId sets the VpcId field's value.
  31261. func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
  31262. s.VpcId = &v
  31263. return s
  31264. }
  31265. // Contains the output of DescribeVpcAttribute.
  31266. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttributeResult
  31267. type DescribeVpcAttributeOutput struct {
  31268. _ struct{} `type:"structure"`
  31269. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  31270. // this attribute is true, instances in the VPC get DNS hostnames; otherwise,
  31271. // they do not.
  31272. EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
  31273. // Indicates whether DNS resolution is enabled for the VPC. If this attribute
  31274. // is true, the Amazon DNS server resolves DNS hostnames for your instances
  31275. // to their corresponding IP addresses; otherwise, it does not.
  31276. EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
  31277. // The ID of the VPC.
  31278. VpcId *string `locationName:"vpcId" type:"string"`
  31279. }
  31280. // String returns the string representation
  31281. func (s DescribeVpcAttributeOutput) String() string {
  31282. return awsutil.Prettify(s)
  31283. }
  31284. // GoString returns the string representation
  31285. func (s DescribeVpcAttributeOutput) GoString() string {
  31286. return s.String()
  31287. }
  31288. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  31289. func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  31290. s.EnableDnsHostnames = v
  31291. return s
  31292. }
  31293. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  31294. func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
  31295. s.EnableDnsSupport = v
  31296. return s
  31297. }
  31298. // SetVpcId sets the VpcId field's value.
  31299. func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
  31300. s.VpcId = &v
  31301. return s
  31302. }
  31303. // Contains the parameters for DescribeVpcClassicLinkDnsSupport.
  31304. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportRequest
  31305. type DescribeVpcClassicLinkDnsSupportInput struct {
  31306. _ struct{} `type:"structure"`
  31307. // The maximum number of items to return for this request. The request returns
  31308. // a token that you can specify in a subsequent call to get the next set of
  31309. // results.
  31310. MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
  31311. // The token for the next set of items to return. (You received this token from
  31312. // a prior call.)
  31313. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  31314. // One or more VPC IDs.
  31315. VpcIds []*string `locationNameList:"VpcId" type:"list"`
  31316. }
  31317. // String returns the string representation
  31318. func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
  31319. return awsutil.Prettify(s)
  31320. }
  31321. // GoString returns the string representation
  31322. func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
  31323. return s.String()
  31324. }
  31325. // Validate inspects the fields of the type to determine if they are valid.
  31326. func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
  31327. invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
  31328. if s.MaxResults != nil && *s.MaxResults < 5 {
  31329. invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
  31330. }
  31331. if s.NextToken != nil && len(*s.NextToken) < 1 {
  31332. invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  31333. }
  31334. if invalidParams.Len() > 0 {
  31335. return invalidParams
  31336. }
  31337. return nil
  31338. }
  31339. // SetMaxResults sets the MaxResults field's value.
  31340. func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
  31341. s.MaxResults = &v
  31342. return s
  31343. }
  31344. // SetNextToken sets the NextToken field's value.
  31345. func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
  31346. s.NextToken = &v
  31347. return s
  31348. }
  31349. // SetVpcIds sets the VpcIds field's value.
  31350. func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
  31351. s.VpcIds = v
  31352. return s
  31353. }
  31354. // Contains the output of DescribeVpcClassicLinkDnsSupport.
  31355. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupportResult
  31356. type DescribeVpcClassicLinkDnsSupportOutput struct {
  31357. _ struct{} `type:"structure"`
  31358. // The token to use when requesting the next set of items.
  31359. NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  31360. // Information about the ClassicLink DNS support status of the VPCs.
  31361. Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
  31362. }
  31363. // String returns the string representation
  31364. func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
  31365. return awsutil.Prettify(s)
  31366. }
  31367. // GoString returns the string representation
  31368. func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
  31369. return s.String()
  31370. }
  31371. // SetNextToken sets the NextToken field's value.
  31372. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
  31373. s.NextToken = &v
  31374. return s
  31375. }
  31376. // SetVpcs sets the Vpcs field's value.
  31377. func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
  31378. s.Vpcs = v
  31379. return s
  31380. }
  31381. // Contains the parameters for DescribeVpcClassicLink.
  31382. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkRequest
  31383. type DescribeVpcClassicLinkInput struct {
  31384. _ struct{} `type:"structure"`
  31385. // Checks whether you have the required permissions for the action, without
  31386. // actually making the request, and provides an error response. If you have
  31387. // the required permissions, the error response is DryRunOperation. Otherwise,
  31388. // it is UnauthorizedOperation.
  31389. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31390. // One or more filters.
  31391. //
  31392. // * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
  31393. // (true | false).
  31394. //
  31395. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31396. // Specify the key of the tag in the filter name and the value of the tag
  31397. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31398. // for the filter name and X for the filter value.
  31399. //
  31400. // * tag-key - The key of a tag assigned to the resource. This filter is
  31401. // independent of the tag-value filter. For example, if you use both the
  31402. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31403. // assigned both the tag key Purpose (regardless of what the tag's value
  31404. // is), and the tag value X (regardless of what the tag's key is). If you
  31405. // want to list only resources where Purpose is X, see the tag:key=value
  31406. // filter.
  31407. //
  31408. // * tag-value - The value of a tag assigned to the resource. This filter
  31409. // is independent of the tag-key filter.
  31410. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31411. // One or more VPCs for which you want to describe the ClassicLink status.
  31412. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  31413. }
  31414. // String returns the string representation
  31415. func (s DescribeVpcClassicLinkInput) String() string {
  31416. return awsutil.Prettify(s)
  31417. }
  31418. // GoString returns the string representation
  31419. func (s DescribeVpcClassicLinkInput) GoString() string {
  31420. return s.String()
  31421. }
  31422. // SetDryRun sets the DryRun field's value.
  31423. func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
  31424. s.DryRun = &v
  31425. return s
  31426. }
  31427. // SetFilters sets the Filters field's value.
  31428. func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
  31429. s.Filters = v
  31430. return s
  31431. }
  31432. // SetVpcIds sets the VpcIds field's value.
  31433. func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
  31434. s.VpcIds = v
  31435. return s
  31436. }
  31437. // Contains the output of DescribeVpcClassicLink.
  31438. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkResult
  31439. type DescribeVpcClassicLinkOutput struct {
  31440. _ struct{} `type:"structure"`
  31441. // The ClassicLink status of one or more VPCs.
  31442. Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
  31443. }
  31444. // String returns the string representation
  31445. func (s DescribeVpcClassicLinkOutput) String() string {
  31446. return awsutil.Prettify(s)
  31447. }
  31448. // GoString returns the string representation
  31449. func (s DescribeVpcClassicLinkOutput) GoString() string {
  31450. return s.String()
  31451. }
  31452. // SetVpcs sets the Vpcs field's value.
  31453. func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
  31454. s.Vpcs = v
  31455. return s
  31456. }
  31457. // Contains the parameters for DescribeVpcEndpointServices.
  31458. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesRequest
  31459. type DescribeVpcEndpointServicesInput struct {
  31460. _ struct{} `type:"structure"`
  31461. // Checks whether you have the required permissions for the action, without
  31462. // actually making the request, and provides an error response. If you have
  31463. // the required permissions, the error response is DryRunOperation. Otherwise,
  31464. // it is UnauthorizedOperation.
  31465. DryRun *bool `type:"boolean"`
  31466. // The maximum number of items to return for this request. The request returns
  31467. // a token that you can specify in a subsequent call to get the next set of
  31468. // results.
  31469. //
  31470. // Constraint: If the value is greater than 1000, we return only 1000 items.
  31471. MaxResults *int64 `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 `type:"string"`
  31475. }
  31476. // String returns the string representation
  31477. func (s DescribeVpcEndpointServicesInput) String() string {
  31478. return awsutil.Prettify(s)
  31479. }
  31480. // GoString returns the string representation
  31481. func (s DescribeVpcEndpointServicesInput) GoString() string {
  31482. return s.String()
  31483. }
  31484. // SetDryRun sets the DryRun field's value.
  31485. func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
  31486. s.DryRun = &v
  31487. return s
  31488. }
  31489. // SetMaxResults sets the MaxResults field's value.
  31490. func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
  31491. s.MaxResults = &v
  31492. return s
  31493. }
  31494. // SetNextToken sets the NextToken field's value.
  31495. func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
  31496. s.NextToken = &v
  31497. return s
  31498. }
  31499. // Contains the output of DescribeVpcEndpointServices.
  31500. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesResult
  31501. type DescribeVpcEndpointServicesOutput struct {
  31502. _ struct{} `type:"structure"`
  31503. // The token to use when requesting the next set of items. If there are no additional
  31504. // items to return, the string is empty.
  31505. NextToken *string `locationName:"nextToken" type:"string"`
  31506. // A list of supported AWS services.
  31507. ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
  31508. }
  31509. // String returns the string representation
  31510. func (s DescribeVpcEndpointServicesOutput) String() string {
  31511. return awsutil.Prettify(s)
  31512. }
  31513. // GoString returns the string representation
  31514. func (s DescribeVpcEndpointServicesOutput) GoString() string {
  31515. return s.String()
  31516. }
  31517. // SetNextToken sets the NextToken field's value.
  31518. func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
  31519. s.NextToken = &v
  31520. return s
  31521. }
  31522. // SetServiceNames sets the ServiceNames field's value.
  31523. func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
  31524. s.ServiceNames = v
  31525. return s
  31526. }
  31527. // Contains the parameters for DescribeVpcEndpoints.
  31528. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsRequest
  31529. type DescribeVpcEndpointsInput struct {
  31530. _ struct{} `type:"structure"`
  31531. // Checks whether you have the required permissions for the action, without
  31532. // actually making the request, and provides an error response. If you have
  31533. // the required permissions, the error response is DryRunOperation. Otherwise,
  31534. // it is UnauthorizedOperation.
  31535. DryRun *bool `type:"boolean"`
  31536. // One or more filters.
  31537. //
  31538. // * service-name: The name of the AWS service.
  31539. //
  31540. // * vpc-id: The ID of the VPC in which the endpoint resides.
  31541. //
  31542. // * vpc-endpoint-id: The ID of the endpoint.
  31543. //
  31544. // * vpc-endpoint-state: The state of the endpoint. (pending | available
  31545. // | deleting | deleted)
  31546. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31547. // The maximum number of items to return for this request. The request returns
  31548. // a token that you can specify in a subsequent call to get the next set of
  31549. // results.
  31550. //
  31551. // Constraint: If the value is greater than 1000, we return only 1000 items.
  31552. MaxResults *int64 `type:"integer"`
  31553. // The token for the next set of items to return. (You received this token from
  31554. // a prior call.)
  31555. NextToken *string `type:"string"`
  31556. // One or more endpoint IDs.
  31557. VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
  31558. }
  31559. // String returns the string representation
  31560. func (s DescribeVpcEndpointsInput) String() string {
  31561. return awsutil.Prettify(s)
  31562. }
  31563. // GoString returns the string representation
  31564. func (s DescribeVpcEndpointsInput) GoString() string {
  31565. return s.String()
  31566. }
  31567. // SetDryRun sets the DryRun field's value.
  31568. func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
  31569. s.DryRun = &v
  31570. return s
  31571. }
  31572. // SetFilters sets the Filters field's value.
  31573. func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
  31574. s.Filters = v
  31575. return s
  31576. }
  31577. // SetMaxResults sets the MaxResults field's value.
  31578. func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
  31579. s.MaxResults = &v
  31580. return s
  31581. }
  31582. // SetNextToken sets the NextToken field's value.
  31583. func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
  31584. s.NextToken = &v
  31585. return s
  31586. }
  31587. // SetVpcEndpointIds sets the VpcEndpointIds field's value.
  31588. func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
  31589. s.VpcEndpointIds = v
  31590. return s
  31591. }
  31592. // Contains the output of DescribeVpcEndpoints.
  31593. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsResult
  31594. type DescribeVpcEndpointsOutput struct {
  31595. _ struct{} `type:"structure"`
  31596. // The token to use when requesting the next set of items. If there are no additional
  31597. // items to return, the string is empty.
  31598. NextToken *string `locationName:"nextToken" type:"string"`
  31599. // Information about the endpoints.
  31600. VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
  31601. }
  31602. // String returns the string representation
  31603. func (s DescribeVpcEndpointsOutput) String() string {
  31604. return awsutil.Prettify(s)
  31605. }
  31606. // GoString returns the string representation
  31607. func (s DescribeVpcEndpointsOutput) GoString() string {
  31608. return s.String()
  31609. }
  31610. // SetNextToken sets the NextToken field's value.
  31611. func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
  31612. s.NextToken = &v
  31613. return s
  31614. }
  31615. // SetVpcEndpoints sets the VpcEndpoints field's value.
  31616. func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
  31617. s.VpcEndpoints = v
  31618. return s
  31619. }
  31620. // Contains the parameters for DescribeVpcPeeringConnections.
  31621. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsRequest
  31622. type DescribeVpcPeeringConnectionsInput struct {
  31623. _ struct{} `type:"structure"`
  31624. // Checks whether you have the required permissions for the action, without
  31625. // actually making the request, and provides an error response. If you have
  31626. // the required permissions, the error response is DryRunOperation. Otherwise,
  31627. // it is UnauthorizedOperation.
  31628. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31629. // One or more filters.
  31630. //
  31631. // * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the peer VPC.
  31632. //
  31633. // * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
  31634. // peer VPC.
  31635. //
  31636. // * accepter-vpc-info.vpc-id - The ID of the peer VPC.
  31637. //
  31638. // * expiration-time - The expiration date and time for the VPC peering connection.
  31639. //
  31640. // * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
  31641. // VPC.
  31642. //
  31643. // * requester-vpc-info.owner-id - The AWS account ID of the owner of the
  31644. // requester VPC.
  31645. //
  31646. // * requester-vpc-info.vpc-id - The ID of the requester VPC.
  31647. //
  31648. // * status-code - The status of the VPC peering connection (pending-acceptance
  31649. // | failed | expired | provisioning | active | deleted | rejected).
  31650. //
  31651. // * status-message - A message that provides more information about the
  31652. // status of the VPC peering connection, if applicable.
  31653. //
  31654. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31655. // Specify the key of the tag in the filter name and the value of the tag
  31656. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31657. // for the filter name and X for the filter value.
  31658. //
  31659. // * tag-key - The key of a tag assigned to the resource. This filter is
  31660. // independent of the tag-value filter. For example, if you use both the
  31661. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31662. // assigned both the tag key Purpose (regardless of what the tag's value
  31663. // is), and the tag value X (regardless of what the tag's key is). If you
  31664. // want to list only resources where Purpose is X, see the tag:key=value
  31665. // filter.
  31666. //
  31667. // * tag-value - The value of a tag assigned to the resource. This filter
  31668. // is independent of the tag-key filter.
  31669. //
  31670. // * vpc-peering-connection-id - The ID of the VPC peering connection.
  31671. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31672. // One or more VPC peering connection IDs.
  31673. //
  31674. // Default: Describes all your VPC peering connections.
  31675. VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
  31676. }
  31677. // String returns the string representation
  31678. func (s DescribeVpcPeeringConnectionsInput) String() string {
  31679. return awsutil.Prettify(s)
  31680. }
  31681. // GoString returns the string representation
  31682. func (s DescribeVpcPeeringConnectionsInput) GoString() string {
  31683. return s.String()
  31684. }
  31685. // SetDryRun sets the DryRun field's value.
  31686. func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
  31687. s.DryRun = &v
  31688. return s
  31689. }
  31690. // SetFilters sets the Filters field's value.
  31691. func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
  31692. s.Filters = v
  31693. return s
  31694. }
  31695. // SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
  31696. func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
  31697. s.VpcPeeringConnectionIds = v
  31698. return s
  31699. }
  31700. // Contains the output of DescribeVpcPeeringConnections.
  31701. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnectionsResult
  31702. type DescribeVpcPeeringConnectionsOutput struct {
  31703. _ struct{} `type:"structure"`
  31704. // Information about the VPC peering connections.
  31705. VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
  31706. }
  31707. // String returns the string representation
  31708. func (s DescribeVpcPeeringConnectionsOutput) String() string {
  31709. return awsutil.Prettify(s)
  31710. }
  31711. // GoString returns the string representation
  31712. func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
  31713. return s.String()
  31714. }
  31715. // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
  31716. func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
  31717. s.VpcPeeringConnections = v
  31718. return s
  31719. }
  31720. // Contains the parameters for DescribeVpcs.
  31721. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsRequest
  31722. type DescribeVpcsInput struct {
  31723. _ struct{} `type:"structure"`
  31724. // Checks whether you have the required permissions for the action, without
  31725. // actually making the request, and provides an error response. If you have
  31726. // the required permissions, the error response is DryRunOperation. Otherwise,
  31727. // it is UnauthorizedOperation.
  31728. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31729. // One or more filters.
  31730. //
  31731. // * cidr - The IPv4 CIDR block of the VPC. The CIDR block you specify must
  31732. // exactly match the VPC's CIDR block for information to be returned for
  31733. // the VPC. Must contain the slash followed by one or two digits (for example,
  31734. // /28).
  31735. //
  31736. // * dhcp-options-id - The ID of a set of DHCP options.
  31737. //
  31738. // * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
  31739. // with the VPC.
  31740. //
  31741. // * ipv6-cidr-block-association.association-id - The association ID for
  31742. // an IPv6 CIDR block associated with the VPC.
  31743. //
  31744. // * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
  31745. // associated with the VPC.
  31746. //
  31747. // * isDefault - Indicates whether the VPC is the default VPC.
  31748. //
  31749. // * state - The state of the VPC (pending | available).
  31750. //
  31751. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31752. // Specify the key of the tag in the filter name and the value of the tag
  31753. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31754. // for the filter name and X for the filter value.
  31755. //
  31756. // * tag-key - The key of a tag assigned to the resource. This filter is
  31757. // independent of the tag-value filter. For example, if you use both the
  31758. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31759. // assigned both the tag key Purpose (regardless of what the tag's value
  31760. // is), and the tag value X (regardless of what the tag's key is). If you
  31761. // want to list only resources where Purpose is X, see the tag:key=value
  31762. // filter.
  31763. //
  31764. // * tag-value - The value of a tag assigned to the resource. This filter
  31765. // is independent of the tag-key filter.
  31766. //
  31767. // * vpc-id - The ID of the VPC.
  31768. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31769. // One or more VPC IDs.
  31770. //
  31771. // Default: Describes all your VPCs.
  31772. VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
  31773. }
  31774. // String returns the string representation
  31775. func (s DescribeVpcsInput) String() string {
  31776. return awsutil.Prettify(s)
  31777. }
  31778. // GoString returns the string representation
  31779. func (s DescribeVpcsInput) GoString() string {
  31780. return s.String()
  31781. }
  31782. // SetDryRun sets the DryRun field's value.
  31783. func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
  31784. s.DryRun = &v
  31785. return s
  31786. }
  31787. // SetFilters sets the Filters field's value.
  31788. func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
  31789. s.Filters = v
  31790. return s
  31791. }
  31792. // SetVpcIds sets the VpcIds field's value.
  31793. func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
  31794. s.VpcIds = v
  31795. return s
  31796. }
  31797. // Contains the output of DescribeVpcs.
  31798. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcsResult
  31799. type DescribeVpcsOutput struct {
  31800. _ struct{} `type:"structure"`
  31801. // Information about one or more VPCs.
  31802. Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
  31803. }
  31804. // String returns the string representation
  31805. func (s DescribeVpcsOutput) String() string {
  31806. return awsutil.Prettify(s)
  31807. }
  31808. // GoString returns the string representation
  31809. func (s DescribeVpcsOutput) GoString() string {
  31810. return s.String()
  31811. }
  31812. // SetVpcs sets the Vpcs field's value.
  31813. func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
  31814. s.Vpcs = v
  31815. return s
  31816. }
  31817. // Contains the parameters for DescribeVpnConnections.
  31818. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsRequest
  31819. type DescribeVpnConnectionsInput struct {
  31820. _ struct{} `type:"structure"`
  31821. // Checks whether you have the required permissions for the action, without
  31822. // actually making the request, and provides an error response. If you have
  31823. // the required permissions, the error response is DryRunOperation. Otherwise,
  31824. // it is UnauthorizedOperation.
  31825. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31826. // One or more filters.
  31827. //
  31828. // * customer-gateway-configuration - The configuration information for the
  31829. // customer gateway.
  31830. //
  31831. // * customer-gateway-id - The ID of a customer gateway associated with the
  31832. // VPN connection.
  31833. //
  31834. // * state - The state of the VPN connection (pending | available | deleting
  31835. // | deleted).
  31836. //
  31837. // * option.static-routes-only - Indicates whether the connection has static
  31838. // routes only. Used for devices that do not support Border Gateway Protocol
  31839. // (BGP).
  31840. //
  31841. // * route.destination-cidr-block - The destination CIDR block. This corresponds
  31842. // to the subnet used in a customer data center.
  31843. //
  31844. // * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
  31845. // device.
  31846. //
  31847. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31848. // Specify the key of the tag in the filter name and the value of the tag
  31849. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31850. // for the filter name and X for the filter value.
  31851. //
  31852. // * tag-key - The key of a tag assigned to the resource. This filter is
  31853. // independent of the tag-value filter. For example, if you use both the
  31854. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31855. // assigned both the tag key Purpose (regardless of what the tag's value
  31856. // is), and the tag value X (regardless of what the tag's key is). If you
  31857. // want to list only resources where Purpose is X, see the tag:key=value
  31858. // filter.
  31859. //
  31860. // * tag-value - The value of a tag assigned to the resource. This filter
  31861. // is independent of the tag-key filter.
  31862. //
  31863. // * type - The type of VPN connection. Currently the only supported type
  31864. // is ipsec.1.
  31865. //
  31866. // * vpn-connection-id - The ID of the VPN connection.
  31867. //
  31868. // * vpn-gateway-id - The ID of a virtual private gateway associated with
  31869. // the VPN connection.
  31870. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31871. // One or more VPN connection IDs.
  31872. //
  31873. // Default: Describes your VPN connections.
  31874. VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
  31875. }
  31876. // String returns the string representation
  31877. func (s DescribeVpnConnectionsInput) String() string {
  31878. return awsutil.Prettify(s)
  31879. }
  31880. // GoString returns the string representation
  31881. func (s DescribeVpnConnectionsInput) GoString() string {
  31882. return s.String()
  31883. }
  31884. // SetDryRun sets the DryRun field's value.
  31885. func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
  31886. s.DryRun = &v
  31887. return s
  31888. }
  31889. // SetFilters sets the Filters field's value.
  31890. func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
  31891. s.Filters = v
  31892. return s
  31893. }
  31894. // SetVpnConnectionIds sets the VpnConnectionIds field's value.
  31895. func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
  31896. s.VpnConnectionIds = v
  31897. return s
  31898. }
  31899. // Contains the output of DescribeVpnConnections.
  31900. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnectionsResult
  31901. type DescribeVpnConnectionsOutput struct {
  31902. _ struct{} `type:"structure"`
  31903. // Information about one or more VPN connections.
  31904. VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
  31905. }
  31906. // String returns the string representation
  31907. func (s DescribeVpnConnectionsOutput) String() string {
  31908. return awsutil.Prettify(s)
  31909. }
  31910. // GoString returns the string representation
  31911. func (s DescribeVpnConnectionsOutput) GoString() string {
  31912. return s.String()
  31913. }
  31914. // SetVpnConnections sets the VpnConnections field's value.
  31915. func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
  31916. s.VpnConnections = v
  31917. return s
  31918. }
  31919. // Contains the parameters for DescribeVpnGateways.
  31920. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysRequest
  31921. type DescribeVpnGatewaysInput struct {
  31922. _ struct{} `type:"structure"`
  31923. // Checks whether you have the required permissions for the action, without
  31924. // actually making the request, and provides an error response. If you have
  31925. // the required permissions, the error response is DryRunOperation. Otherwise,
  31926. // it is UnauthorizedOperation.
  31927. DryRun *bool `locationName:"dryRun" type:"boolean"`
  31928. // One or more filters.
  31929. //
  31930. // * attachment.state - The current state of the attachment between the gateway
  31931. // and the VPC (attaching | attached | detaching | detached).
  31932. //
  31933. // * attachment.vpc-id - The ID of an attached VPC.
  31934. //
  31935. // * availability-zone - The Availability Zone for the virtual private gateway
  31936. // (if applicable).
  31937. //
  31938. // * state - The state of the virtual private gateway (pending | available
  31939. // | deleting | deleted).
  31940. //
  31941. // * tag:key=value - The key/value combination of a tag assigned to the resource.
  31942. // Specify the key of the tag in the filter name and the value of the tag
  31943. // in the filter value. For example, for the tag Purpose=X, specify tag:Purpose
  31944. // for the filter name and X for the filter value.
  31945. //
  31946. // * tag-key - The key of a tag assigned to the resource. This filter is
  31947. // independent of the tag-value filter. For example, if you use both the
  31948. // filter "tag-key=Purpose" and the filter "tag-value=X", you get any resources
  31949. // assigned both the tag key Purpose (regardless of what the tag's value
  31950. // is), and the tag value X (regardless of what the tag's key is). If you
  31951. // want to list only resources where Purpose is X, see the tag:key=value
  31952. // filter.
  31953. //
  31954. // * tag-value - The value of a tag assigned to the resource. This filter
  31955. // is independent of the tag-key filter.
  31956. //
  31957. // * type - The type of virtual private gateway. Currently the only supported
  31958. // type is ipsec.1.
  31959. //
  31960. // * vpn-gateway-id - The ID of the virtual private gateway.
  31961. Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
  31962. // One or more virtual private gateway IDs.
  31963. //
  31964. // Default: Describes all your virtual private gateways.
  31965. VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
  31966. }
  31967. // String returns the string representation
  31968. func (s DescribeVpnGatewaysInput) String() string {
  31969. return awsutil.Prettify(s)
  31970. }
  31971. // GoString returns the string representation
  31972. func (s DescribeVpnGatewaysInput) GoString() string {
  31973. return s.String()
  31974. }
  31975. // SetDryRun sets the DryRun field's value.
  31976. func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
  31977. s.DryRun = &v
  31978. return s
  31979. }
  31980. // SetFilters sets the Filters field's value.
  31981. func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
  31982. s.Filters = v
  31983. return s
  31984. }
  31985. // SetVpnGatewayIds sets the VpnGatewayIds field's value.
  31986. func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
  31987. s.VpnGatewayIds = v
  31988. return s
  31989. }
  31990. // Contains the output of DescribeVpnGateways.
  31991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGatewaysResult
  31992. type DescribeVpnGatewaysOutput struct {
  31993. _ struct{} `type:"structure"`
  31994. // Information about one or more virtual private gateways.
  31995. VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
  31996. }
  31997. // String returns the string representation
  31998. func (s DescribeVpnGatewaysOutput) String() string {
  31999. return awsutil.Prettify(s)
  32000. }
  32001. // GoString returns the string representation
  32002. func (s DescribeVpnGatewaysOutput) GoString() string {
  32003. return s.String()
  32004. }
  32005. // SetVpnGateways sets the VpnGateways field's value.
  32006. func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
  32007. s.VpnGateways = v
  32008. return s
  32009. }
  32010. // Contains the parameters for DetachClassicLinkVpc.
  32011. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcRequest
  32012. type DetachClassicLinkVpcInput struct {
  32013. _ struct{} `type:"structure"`
  32014. // Checks whether you have the required permissions for the action, without
  32015. // actually making the request, and provides an error response. If you have
  32016. // the required permissions, the error response is DryRunOperation. Otherwise,
  32017. // it is UnauthorizedOperation.
  32018. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32019. // The ID of the instance to unlink from the VPC.
  32020. //
  32021. // InstanceId is a required field
  32022. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  32023. // The ID of the VPC to which the instance is linked.
  32024. //
  32025. // VpcId is a required field
  32026. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32027. }
  32028. // String returns the string representation
  32029. func (s DetachClassicLinkVpcInput) String() string {
  32030. return awsutil.Prettify(s)
  32031. }
  32032. // GoString returns the string representation
  32033. func (s DetachClassicLinkVpcInput) GoString() string {
  32034. return s.String()
  32035. }
  32036. // Validate inspects the fields of the type to determine if they are valid.
  32037. func (s *DetachClassicLinkVpcInput) Validate() error {
  32038. invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
  32039. if s.InstanceId == nil {
  32040. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  32041. }
  32042. if s.VpcId == nil {
  32043. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32044. }
  32045. if invalidParams.Len() > 0 {
  32046. return invalidParams
  32047. }
  32048. return nil
  32049. }
  32050. // SetDryRun sets the DryRun field's value.
  32051. func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
  32052. s.DryRun = &v
  32053. return s
  32054. }
  32055. // SetInstanceId sets the InstanceId field's value.
  32056. func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
  32057. s.InstanceId = &v
  32058. return s
  32059. }
  32060. // SetVpcId sets the VpcId field's value.
  32061. func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
  32062. s.VpcId = &v
  32063. return s
  32064. }
  32065. // Contains the output of DetachClassicLinkVpc.
  32066. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpcResult
  32067. type DetachClassicLinkVpcOutput struct {
  32068. _ struct{} `type:"structure"`
  32069. // Returns true if the request succeeds; otherwise, it returns an error.
  32070. Return *bool `locationName:"return" type:"boolean"`
  32071. }
  32072. // String returns the string representation
  32073. func (s DetachClassicLinkVpcOutput) String() string {
  32074. return awsutil.Prettify(s)
  32075. }
  32076. // GoString returns the string representation
  32077. func (s DetachClassicLinkVpcOutput) GoString() string {
  32078. return s.String()
  32079. }
  32080. // SetReturn sets the Return field's value.
  32081. func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
  32082. s.Return = &v
  32083. return s
  32084. }
  32085. // Contains the parameters for DetachInternetGateway.
  32086. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayRequest
  32087. type DetachInternetGatewayInput struct {
  32088. _ struct{} `type:"structure"`
  32089. // Checks whether you have the required permissions for the action, without
  32090. // actually making the request, and provides an error response. If you have
  32091. // the required permissions, the error response is DryRunOperation. Otherwise,
  32092. // it is UnauthorizedOperation.
  32093. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32094. // The ID of the Internet gateway.
  32095. //
  32096. // InternetGatewayId is a required field
  32097. InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
  32098. // The ID of the VPC.
  32099. //
  32100. // VpcId is a required field
  32101. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32102. }
  32103. // String returns the string representation
  32104. func (s DetachInternetGatewayInput) String() string {
  32105. return awsutil.Prettify(s)
  32106. }
  32107. // GoString returns the string representation
  32108. func (s DetachInternetGatewayInput) GoString() string {
  32109. return s.String()
  32110. }
  32111. // Validate inspects the fields of the type to determine if they are valid.
  32112. func (s *DetachInternetGatewayInput) Validate() error {
  32113. invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
  32114. if s.InternetGatewayId == nil {
  32115. invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
  32116. }
  32117. if s.VpcId == nil {
  32118. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32119. }
  32120. if invalidParams.Len() > 0 {
  32121. return invalidParams
  32122. }
  32123. return nil
  32124. }
  32125. // SetDryRun sets the DryRun field's value.
  32126. func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
  32127. s.DryRun = &v
  32128. return s
  32129. }
  32130. // SetInternetGatewayId sets the InternetGatewayId field's value.
  32131. func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
  32132. s.InternetGatewayId = &v
  32133. return s
  32134. }
  32135. // SetVpcId sets the VpcId field's value.
  32136. func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
  32137. s.VpcId = &v
  32138. return s
  32139. }
  32140. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGatewayOutput
  32141. type DetachInternetGatewayOutput struct {
  32142. _ struct{} `type:"structure"`
  32143. }
  32144. // String returns the string representation
  32145. func (s DetachInternetGatewayOutput) String() string {
  32146. return awsutil.Prettify(s)
  32147. }
  32148. // GoString returns the string representation
  32149. func (s DetachInternetGatewayOutput) GoString() string {
  32150. return s.String()
  32151. }
  32152. // Contains the parameters for DetachNetworkInterface.
  32153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceRequest
  32154. type DetachNetworkInterfaceInput struct {
  32155. _ struct{} `type:"structure"`
  32156. // The ID of the attachment.
  32157. //
  32158. // AttachmentId is a required field
  32159. AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
  32160. // Checks whether you have the required permissions for the action, without
  32161. // actually making the request, and provides an error response. If you have
  32162. // the required permissions, the error response is DryRunOperation. Otherwise,
  32163. // it is UnauthorizedOperation.
  32164. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32165. // Specifies whether to force a detachment.
  32166. Force *bool `locationName:"force" type:"boolean"`
  32167. }
  32168. // String returns the string representation
  32169. func (s DetachNetworkInterfaceInput) String() string {
  32170. return awsutil.Prettify(s)
  32171. }
  32172. // GoString returns the string representation
  32173. func (s DetachNetworkInterfaceInput) GoString() string {
  32174. return s.String()
  32175. }
  32176. // Validate inspects the fields of the type to determine if they are valid.
  32177. func (s *DetachNetworkInterfaceInput) Validate() error {
  32178. invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
  32179. if s.AttachmentId == nil {
  32180. invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
  32181. }
  32182. if invalidParams.Len() > 0 {
  32183. return invalidParams
  32184. }
  32185. return nil
  32186. }
  32187. // SetAttachmentId sets the AttachmentId field's value.
  32188. func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
  32189. s.AttachmentId = &v
  32190. return s
  32191. }
  32192. // SetDryRun sets the DryRun field's value.
  32193. func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
  32194. s.DryRun = &v
  32195. return s
  32196. }
  32197. // SetForce sets the Force field's value.
  32198. func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
  32199. s.Force = &v
  32200. return s
  32201. }
  32202. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterfaceOutput
  32203. type DetachNetworkInterfaceOutput struct {
  32204. _ struct{} `type:"structure"`
  32205. }
  32206. // String returns the string representation
  32207. func (s DetachNetworkInterfaceOutput) String() string {
  32208. return awsutil.Prettify(s)
  32209. }
  32210. // GoString returns the string representation
  32211. func (s DetachNetworkInterfaceOutput) GoString() string {
  32212. return s.String()
  32213. }
  32214. // Contains the parameters for DetachVolume.
  32215. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolumeRequest
  32216. type DetachVolumeInput struct {
  32217. _ struct{} `type:"structure"`
  32218. // The device name.
  32219. Device *string `type:"string"`
  32220. // Checks whether you have the required permissions for the action, without
  32221. // actually making the request, and provides an error response. If you have
  32222. // the required permissions, the error response is DryRunOperation. Otherwise,
  32223. // it is UnauthorizedOperation.
  32224. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32225. // Forces detachment if the previous detachment attempt did not occur cleanly
  32226. // (for example, logging into an instance, unmounting the volume, and detaching
  32227. // normally). This option can lead to data loss or a corrupted file system.
  32228. // Use this option only as a last resort to detach a volume from a failed instance.
  32229. // The instance won't have an opportunity to flush file system caches or file
  32230. // system metadata. If you use this option, you must perform file system check
  32231. // and repair procedures.
  32232. Force *bool `type:"boolean"`
  32233. // The ID of the instance.
  32234. InstanceId *string `type:"string"`
  32235. // The ID of the volume.
  32236. //
  32237. // VolumeId is a required field
  32238. VolumeId *string `type:"string" required:"true"`
  32239. }
  32240. // String returns the string representation
  32241. func (s DetachVolumeInput) String() string {
  32242. return awsutil.Prettify(s)
  32243. }
  32244. // GoString returns the string representation
  32245. func (s DetachVolumeInput) GoString() string {
  32246. return s.String()
  32247. }
  32248. // Validate inspects the fields of the type to determine if they are valid.
  32249. func (s *DetachVolumeInput) Validate() error {
  32250. invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
  32251. if s.VolumeId == nil {
  32252. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  32253. }
  32254. if invalidParams.Len() > 0 {
  32255. return invalidParams
  32256. }
  32257. return nil
  32258. }
  32259. // SetDevice sets the Device field's value.
  32260. func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
  32261. s.Device = &v
  32262. return s
  32263. }
  32264. // SetDryRun sets the DryRun field's value.
  32265. func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
  32266. s.DryRun = &v
  32267. return s
  32268. }
  32269. // SetForce sets the Force field's value.
  32270. func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
  32271. s.Force = &v
  32272. return s
  32273. }
  32274. // SetInstanceId sets the InstanceId field's value.
  32275. func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
  32276. s.InstanceId = &v
  32277. return s
  32278. }
  32279. // SetVolumeId sets the VolumeId field's value.
  32280. func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
  32281. s.VolumeId = &v
  32282. return s
  32283. }
  32284. // Contains the parameters for DetachVpnGateway.
  32285. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayRequest
  32286. type DetachVpnGatewayInput struct {
  32287. _ struct{} `type:"structure"`
  32288. // Checks whether you have the required permissions for the action, without
  32289. // actually making the request, and provides an error response. If you have
  32290. // the required permissions, the error response is DryRunOperation. Otherwise,
  32291. // it is UnauthorizedOperation.
  32292. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32293. // The ID of the VPC.
  32294. //
  32295. // VpcId is a required field
  32296. VpcId *string `type:"string" required:"true"`
  32297. // The ID of the virtual private gateway.
  32298. //
  32299. // VpnGatewayId is a required field
  32300. VpnGatewayId *string `type:"string" required:"true"`
  32301. }
  32302. // String returns the string representation
  32303. func (s DetachVpnGatewayInput) String() string {
  32304. return awsutil.Prettify(s)
  32305. }
  32306. // GoString returns the string representation
  32307. func (s DetachVpnGatewayInput) GoString() string {
  32308. return s.String()
  32309. }
  32310. // Validate inspects the fields of the type to determine if they are valid.
  32311. func (s *DetachVpnGatewayInput) Validate() error {
  32312. invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
  32313. if s.VpcId == nil {
  32314. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32315. }
  32316. if s.VpnGatewayId == nil {
  32317. invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
  32318. }
  32319. if invalidParams.Len() > 0 {
  32320. return invalidParams
  32321. }
  32322. return nil
  32323. }
  32324. // SetDryRun sets the DryRun field's value.
  32325. func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
  32326. s.DryRun = &v
  32327. return s
  32328. }
  32329. // SetVpcId sets the VpcId field's value.
  32330. func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
  32331. s.VpcId = &v
  32332. return s
  32333. }
  32334. // SetVpnGatewayId sets the VpnGatewayId field's value.
  32335. func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
  32336. s.VpnGatewayId = &v
  32337. return s
  32338. }
  32339. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGatewayOutput
  32340. type DetachVpnGatewayOutput struct {
  32341. _ struct{} `type:"structure"`
  32342. }
  32343. // String returns the string representation
  32344. func (s DetachVpnGatewayOutput) String() string {
  32345. return awsutil.Prettify(s)
  32346. }
  32347. // GoString returns the string representation
  32348. func (s DetachVpnGatewayOutput) GoString() string {
  32349. return s.String()
  32350. }
  32351. // Describes a DHCP configuration option.
  32352. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpConfiguration
  32353. type DhcpConfiguration struct {
  32354. _ struct{} `type:"structure"`
  32355. // The name of a DHCP option.
  32356. Key *string `locationName:"key" type:"string"`
  32357. // One or more values for the DHCP option.
  32358. Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
  32359. }
  32360. // String returns the string representation
  32361. func (s DhcpConfiguration) String() string {
  32362. return awsutil.Prettify(s)
  32363. }
  32364. // GoString returns the string representation
  32365. func (s DhcpConfiguration) GoString() string {
  32366. return s.String()
  32367. }
  32368. // SetKey sets the Key field's value.
  32369. func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
  32370. s.Key = &v
  32371. return s
  32372. }
  32373. // SetValues sets the Values field's value.
  32374. func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
  32375. s.Values = v
  32376. return s
  32377. }
  32378. // Describes a set of DHCP options.
  32379. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DhcpOptions
  32380. type DhcpOptions struct {
  32381. _ struct{} `type:"structure"`
  32382. // One or more DHCP options in the set.
  32383. DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
  32384. // The ID of the set of DHCP options.
  32385. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  32386. // Any tags assigned to the DHCP options set.
  32387. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  32388. }
  32389. // String returns the string representation
  32390. func (s DhcpOptions) String() string {
  32391. return awsutil.Prettify(s)
  32392. }
  32393. // GoString returns the string representation
  32394. func (s DhcpOptions) GoString() string {
  32395. return s.String()
  32396. }
  32397. // SetDhcpConfigurations sets the DhcpConfigurations field's value.
  32398. func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
  32399. s.DhcpConfigurations = v
  32400. return s
  32401. }
  32402. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  32403. func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
  32404. s.DhcpOptionsId = &v
  32405. return s
  32406. }
  32407. // SetTags sets the Tags field's value.
  32408. func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
  32409. s.Tags = v
  32410. return s
  32411. }
  32412. // Contains the parameters for DisableVgwRoutePropagation.
  32413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationRequest
  32414. type DisableVgwRoutePropagationInput struct {
  32415. _ struct{} `type:"structure"`
  32416. // The ID of the virtual private gateway.
  32417. //
  32418. // GatewayId is a required field
  32419. GatewayId *string `type:"string" required:"true"`
  32420. // The ID of the route table.
  32421. //
  32422. // RouteTableId is a required field
  32423. RouteTableId *string `type:"string" required:"true"`
  32424. }
  32425. // String returns the string representation
  32426. func (s DisableVgwRoutePropagationInput) String() string {
  32427. return awsutil.Prettify(s)
  32428. }
  32429. // GoString returns the string representation
  32430. func (s DisableVgwRoutePropagationInput) GoString() string {
  32431. return s.String()
  32432. }
  32433. // Validate inspects the fields of the type to determine if they are valid.
  32434. func (s *DisableVgwRoutePropagationInput) Validate() error {
  32435. invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
  32436. if s.GatewayId == nil {
  32437. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  32438. }
  32439. if s.RouteTableId == nil {
  32440. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  32441. }
  32442. if invalidParams.Len() > 0 {
  32443. return invalidParams
  32444. }
  32445. return nil
  32446. }
  32447. // SetGatewayId sets the GatewayId field's value.
  32448. func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
  32449. s.GatewayId = &v
  32450. return s
  32451. }
  32452. // SetRouteTableId sets the RouteTableId field's value.
  32453. func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
  32454. s.RouteTableId = &v
  32455. return s
  32456. }
  32457. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagationOutput
  32458. type DisableVgwRoutePropagationOutput struct {
  32459. _ struct{} `type:"structure"`
  32460. }
  32461. // String returns the string representation
  32462. func (s DisableVgwRoutePropagationOutput) String() string {
  32463. return awsutil.Prettify(s)
  32464. }
  32465. // GoString returns the string representation
  32466. func (s DisableVgwRoutePropagationOutput) GoString() string {
  32467. return s.String()
  32468. }
  32469. // Contains the parameters for DisableVpcClassicLinkDnsSupport.
  32470. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportRequest
  32471. type DisableVpcClassicLinkDnsSupportInput struct {
  32472. _ struct{} `type:"structure"`
  32473. // The ID of the VPC.
  32474. VpcId *string `type:"string"`
  32475. }
  32476. // String returns the string representation
  32477. func (s DisableVpcClassicLinkDnsSupportInput) String() string {
  32478. return awsutil.Prettify(s)
  32479. }
  32480. // GoString returns the string representation
  32481. func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
  32482. return s.String()
  32483. }
  32484. // SetVpcId sets the VpcId field's value.
  32485. func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
  32486. s.VpcId = &v
  32487. return s
  32488. }
  32489. // Contains the output of DisableVpcClassicLinkDnsSupport.
  32490. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupportResult
  32491. type DisableVpcClassicLinkDnsSupportOutput struct {
  32492. _ struct{} `type:"structure"`
  32493. // Returns true if the request succeeds; otherwise, it returns an error.
  32494. Return *bool `locationName:"return" type:"boolean"`
  32495. }
  32496. // String returns the string representation
  32497. func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
  32498. return awsutil.Prettify(s)
  32499. }
  32500. // GoString returns the string representation
  32501. func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
  32502. return s.String()
  32503. }
  32504. // SetReturn sets the Return field's value.
  32505. func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
  32506. s.Return = &v
  32507. return s
  32508. }
  32509. // Contains the parameters for DisableVpcClassicLink.
  32510. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkRequest
  32511. type DisableVpcClassicLinkInput struct {
  32512. _ struct{} `type:"structure"`
  32513. // Checks whether you have the required permissions for the action, without
  32514. // actually making the request, and provides an error response. If you have
  32515. // the required permissions, the error response is DryRunOperation. Otherwise,
  32516. // it is UnauthorizedOperation.
  32517. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32518. // The ID of the VPC.
  32519. //
  32520. // VpcId is a required field
  32521. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  32522. }
  32523. // String returns the string representation
  32524. func (s DisableVpcClassicLinkInput) String() string {
  32525. return awsutil.Prettify(s)
  32526. }
  32527. // GoString returns the string representation
  32528. func (s DisableVpcClassicLinkInput) GoString() string {
  32529. return s.String()
  32530. }
  32531. // Validate inspects the fields of the type to determine if they are valid.
  32532. func (s *DisableVpcClassicLinkInput) Validate() error {
  32533. invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
  32534. if s.VpcId == nil {
  32535. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  32536. }
  32537. if invalidParams.Len() > 0 {
  32538. return invalidParams
  32539. }
  32540. return nil
  32541. }
  32542. // SetDryRun sets the DryRun field's value.
  32543. func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
  32544. s.DryRun = &v
  32545. return s
  32546. }
  32547. // SetVpcId sets the VpcId field's value.
  32548. func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
  32549. s.VpcId = &v
  32550. return s
  32551. }
  32552. // Contains the output of DisableVpcClassicLink.
  32553. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkResult
  32554. type DisableVpcClassicLinkOutput struct {
  32555. _ struct{} `type:"structure"`
  32556. // Returns true if the request succeeds; otherwise, it returns an error.
  32557. Return *bool `locationName:"return" type:"boolean"`
  32558. }
  32559. // String returns the string representation
  32560. func (s DisableVpcClassicLinkOutput) String() string {
  32561. return awsutil.Prettify(s)
  32562. }
  32563. // GoString returns the string representation
  32564. func (s DisableVpcClassicLinkOutput) GoString() string {
  32565. return s.String()
  32566. }
  32567. // SetReturn sets the Return field's value.
  32568. func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
  32569. s.Return = &v
  32570. return s
  32571. }
  32572. // Contains the parameters for DisassociateAddress.
  32573. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressRequest
  32574. type DisassociateAddressInput struct {
  32575. _ struct{} `type:"structure"`
  32576. // [EC2-VPC] The association ID. Required for EC2-VPC.
  32577. AssociationId *string `type:"string"`
  32578. // Checks whether you have the required permissions for the action, without
  32579. // actually making the request, and provides an error response. If you have
  32580. // the required permissions, the error response is DryRunOperation. Otherwise,
  32581. // it is UnauthorizedOperation.
  32582. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32583. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  32584. PublicIp *string `type:"string"`
  32585. }
  32586. // String returns the string representation
  32587. func (s DisassociateAddressInput) String() string {
  32588. return awsutil.Prettify(s)
  32589. }
  32590. // GoString returns the string representation
  32591. func (s DisassociateAddressInput) GoString() string {
  32592. return s.String()
  32593. }
  32594. // SetAssociationId sets the AssociationId field's value.
  32595. func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
  32596. s.AssociationId = &v
  32597. return s
  32598. }
  32599. // SetDryRun sets the DryRun field's value.
  32600. func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
  32601. s.DryRun = &v
  32602. return s
  32603. }
  32604. // SetPublicIp sets the PublicIp field's value.
  32605. func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
  32606. s.PublicIp = &v
  32607. return s
  32608. }
  32609. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddressOutput
  32610. type DisassociateAddressOutput struct {
  32611. _ struct{} `type:"structure"`
  32612. }
  32613. // String returns the string representation
  32614. func (s DisassociateAddressOutput) String() string {
  32615. return awsutil.Prettify(s)
  32616. }
  32617. // GoString returns the string representation
  32618. func (s DisassociateAddressOutput) GoString() string {
  32619. return s.String()
  32620. }
  32621. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileRequest
  32622. type DisassociateIamInstanceProfileInput struct {
  32623. _ struct{} `type:"structure"`
  32624. // The ID of the IAM instance profile association.
  32625. //
  32626. // AssociationId is a required field
  32627. AssociationId *string `type:"string" required:"true"`
  32628. }
  32629. // String returns the string representation
  32630. func (s DisassociateIamInstanceProfileInput) String() string {
  32631. return awsutil.Prettify(s)
  32632. }
  32633. // GoString returns the string representation
  32634. func (s DisassociateIamInstanceProfileInput) GoString() string {
  32635. return s.String()
  32636. }
  32637. // Validate inspects the fields of the type to determine if they are valid.
  32638. func (s *DisassociateIamInstanceProfileInput) Validate() error {
  32639. invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
  32640. if s.AssociationId == nil {
  32641. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32642. }
  32643. if invalidParams.Len() > 0 {
  32644. return invalidParams
  32645. }
  32646. return nil
  32647. }
  32648. // SetAssociationId sets the AssociationId field's value.
  32649. func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
  32650. s.AssociationId = &v
  32651. return s
  32652. }
  32653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfileResult
  32654. type DisassociateIamInstanceProfileOutput struct {
  32655. _ struct{} `type:"structure"`
  32656. // Information about the IAM instance profile association.
  32657. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  32658. }
  32659. // String returns the string representation
  32660. func (s DisassociateIamInstanceProfileOutput) String() string {
  32661. return awsutil.Prettify(s)
  32662. }
  32663. // GoString returns the string representation
  32664. func (s DisassociateIamInstanceProfileOutput) GoString() string {
  32665. return s.String()
  32666. }
  32667. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  32668. func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
  32669. s.IamInstanceProfileAssociation = v
  32670. return s
  32671. }
  32672. // Contains the parameters for DisassociateRouteTable.
  32673. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableRequest
  32674. type DisassociateRouteTableInput struct {
  32675. _ struct{} `type:"structure"`
  32676. // The association ID representing the current association between the route
  32677. // table and subnet.
  32678. //
  32679. // AssociationId is a required field
  32680. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  32681. // Checks whether you have the required permissions for the action, without
  32682. // actually making the request, and provides an error response. If you have
  32683. // the required permissions, the error response is DryRunOperation. Otherwise,
  32684. // it is UnauthorizedOperation.
  32685. DryRun *bool `locationName:"dryRun" type:"boolean"`
  32686. }
  32687. // String returns the string representation
  32688. func (s DisassociateRouteTableInput) String() string {
  32689. return awsutil.Prettify(s)
  32690. }
  32691. // GoString returns the string representation
  32692. func (s DisassociateRouteTableInput) GoString() string {
  32693. return s.String()
  32694. }
  32695. // Validate inspects the fields of the type to determine if they are valid.
  32696. func (s *DisassociateRouteTableInput) Validate() error {
  32697. invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
  32698. if s.AssociationId == nil {
  32699. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32700. }
  32701. if invalidParams.Len() > 0 {
  32702. return invalidParams
  32703. }
  32704. return nil
  32705. }
  32706. // SetAssociationId sets the AssociationId field's value.
  32707. func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
  32708. s.AssociationId = &v
  32709. return s
  32710. }
  32711. // SetDryRun sets the DryRun field's value.
  32712. func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
  32713. s.DryRun = &v
  32714. return s
  32715. }
  32716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTableOutput
  32717. type DisassociateRouteTableOutput struct {
  32718. _ struct{} `type:"structure"`
  32719. }
  32720. // String returns the string representation
  32721. func (s DisassociateRouteTableOutput) String() string {
  32722. return awsutil.Prettify(s)
  32723. }
  32724. // GoString returns the string representation
  32725. func (s DisassociateRouteTableOutput) GoString() string {
  32726. return s.String()
  32727. }
  32728. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockRequest
  32729. type DisassociateSubnetCidrBlockInput struct {
  32730. _ struct{} `type:"structure"`
  32731. // The association ID for the CIDR block.
  32732. //
  32733. // AssociationId is a required field
  32734. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  32735. }
  32736. // String returns the string representation
  32737. func (s DisassociateSubnetCidrBlockInput) String() string {
  32738. return awsutil.Prettify(s)
  32739. }
  32740. // GoString returns the string representation
  32741. func (s DisassociateSubnetCidrBlockInput) GoString() string {
  32742. return s.String()
  32743. }
  32744. // Validate inspects the fields of the type to determine if they are valid.
  32745. func (s *DisassociateSubnetCidrBlockInput) Validate() error {
  32746. invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
  32747. if s.AssociationId == nil {
  32748. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32749. }
  32750. if invalidParams.Len() > 0 {
  32751. return invalidParams
  32752. }
  32753. return nil
  32754. }
  32755. // SetAssociationId sets the AssociationId field's value.
  32756. func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
  32757. s.AssociationId = &v
  32758. return s
  32759. }
  32760. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlockResult
  32761. type DisassociateSubnetCidrBlockOutput struct {
  32762. _ struct{} `type:"structure"`
  32763. // Information about the IPv6 CIDR block association.
  32764. Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  32765. // The ID of the subnet.
  32766. SubnetId *string `locationName:"subnetId" type:"string"`
  32767. }
  32768. // String returns the string representation
  32769. func (s DisassociateSubnetCidrBlockOutput) String() string {
  32770. return awsutil.Prettify(s)
  32771. }
  32772. // GoString returns the string representation
  32773. func (s DisassociateSubnetCidrBlockOutput) GoString() string {
  32774. return s.String()
  32775. }
  32776. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  32777. func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
  32778. s.Ipv6CidrBlockAssociation = v
  32779. return s
  32780. }
  32781. // SetSubnetId sets the SubnetId field's value.
  32782. func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
  32783. s.SubnetId = &v
  32784. return s
  32785. }
  32786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockRequest
  32787. type DisassociateVpcCidrBlockInput struct {
  32788. _ struct{} `type:"structure"`
  32789. // The association ID for the CIDR block.
  32790. //
  32791. // AssociationId is a required field
  32792. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  32793. }
  32794. // String returns the string representation
  32795. func (s DisassociateVpcCidrBlockInput) String() string {
  32796. return awsutil.Prettify(s)
  32797. }
  32798. // GoString returns the string representation
  32799. func (s DisassociateVpcCidrBlockInput) GoString() string {
  32800. return s.String()
  32801. }
  32802. // Validate inspects the fields of the type to determine if they are valid.
  32803. func (s *DisassociateVpcCidrBlockInput) Validate() error {
  32804. invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
  32805. if s.AssociationId == nil {
  32806. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  32807. }
  32808. if invalidParams.Len() > 0 {
  32809. return invalidParams
  32810. }
  32811. return nil
  32812. }
  32813. // SetAssociationId sets the AssociationId field's value.
  32814. func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
  32815. s.AssociationId = &v
  32816. return s
  32817. }
  32818. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlockResult
  32819. type DisassociateVpcCidrBlockOutput struct {
  32820. _ struct{} `type:"structure"`
  32821. // Information about the IPv6 CIDR block association.
  32822. Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
  32823. // The ID of the VPC.
  32824. VpcId *string `locationName:"vpcId" type:"string"`
  32825. }
  32826. // String returns the string representation
  32827. func (s DisassociateVpcCidrBlockOutput) String() string {
  32828. return awsutil.Prettify(s)
  32829. }
  32830. // GoString returns the string representation
  32831. func (s DisassociateVpcCidrBlockOutput) GoString() string {
  32832. return s.String()
  32833. }
  32834. // SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
  32835. func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
  32836. s.Ipv6CidrBlockAssociation = v
  32837. return s
  32838. }
  32839. // SetVpcId sets the VpcId field's value.
  32840. func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
  32841. s.VpcId = &v
  32842. return s
  32843. }
  32844. // Describes a disk image.
  32845. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImage
  32846. type DiskImage struct {
  32847. _ struct{} `type:"structure"`
  32848. // A description of the disk image.
  32849. Description *string `type:"string"`
  32850. // Information about the disk image.
  32851. Image *DiskImageDetail `type:"structure"`
  32852. // Information about the volume.
  32853. Volume *VolumeDetail `type:"structure"`
  32854. }
  32855. // String returns the string representation
  32856. func (s DiskImage) String() string {
  32857. return awsutil.Prettify(s)
  32858. }
  32859. // GoString returns the string representation
  32860. func (s DiskImage) GoString() string {
  32861. return s.String()
  32862. }
  32863. // Validate inspects the fields of the type to determine if they are valid.
  32864. func (s *DiskImage) Validate() error {
  32865. invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
  32866. if s.Image != nil {
  32867. if err := s.Image.Validate(); err != nil {
  32868. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  32869. }
  32870. }
  32871. if s.Volume != nil {
  32872. if err := s.Volume.Validate(); err != nil {
  32873. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  32874. }
  32875. }
  32876. if invalidParams.Len() > 0 {
  32877. return invalidParams
  32878. }
  32879. return nil
  32880. }
  32881. // SetDescription sets the Description field's value.
  32882. func (s *DiskImage) SetDescription(v string) *DiskImage {
  32883. s.Description = &v
  32884. return s
  32885. }
  32886. // SetImage sets the Image field's value.
  32887. func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
  32888. s.Image = v
  32889. return s
  32890. }
  32891. // SetVolume sets the Volume field's value.
  32892. func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
  32893. s.Volume = v
  32894. return s
  32895. }
  32896. // Describes a disk image.
  32897. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDescription
  32898. type DiskImageDescription struct {
  32899. _ struct{} `type:"structure"`
  32900. // The checksum computed for the disk image.
  32901. Checksum *string `locationName:"checksum" type:"string"`
  32902. // The disk image format.
  32903. //
  32904. // Format is a required field
  32905. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  32906. // A presigned URL for the import manifest stored in Amazon S3. For information
  32907. // about creating a presigned URL for an Amazon S3 object, read the "Query String
  32908. // Request Authentication Alternative" section of the Authenticating REST Requests
  32909. // (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  32910. // topic in the Amazon Simple Storage Service Developer Guide.
  32911. //
  32912. // For information about the import manifest referenced by this API action,
  32913. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  32914. //
  32915. // ImportManifestUrl is a required field
  32916. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  32917. // The size of the disk image, in GiB.
  32918. //
  32919. // Size is a required field
  32920. Size *int64 `locationName:"size" type:"long" required:"true"`
  32921. }
  32922. // String returns the string representation
  32923. func (s DiskImageDescription) String() string {
  32924. return awsutil.Prettify(s)
  32925. }
  32926. // GoString returns the string representation
  32927. func (s DiskImageDescription) GoString() string {
  32928. return s.String()
  32929. }
  32930. // SetChecksum sets the Checksum field's value.
  32931. func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
  32932. s.Checksum = &v
  32933. return s
  32934. }
  32935. // SetFormat sets the Format field's value.
  32936. func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
  32937. s.Format = &v
  32938. return s
  32939. }
  32940. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  32941. func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
  32942. s.ImportManifestUrl = &v
  32943. return s
  32944. }
  32945. // SetSize sets the Size field's value.
  32946. func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
  32947. s.Size = &v
  32948. return s
  32949. }
  32950. // Describes a disk image.
  32951. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageDetail
  32952. type DiskImageDetail struct {
  32953. _ struct{} `type:"structure"`
  32954. // The size of the disk image, in GiB.
  32955. //
  32956. // Bytes is a required field
  32957. Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
  32958. // The disk image format.
  32959. //
  32960. // Format is a required field
  32961. Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
  32962. // A presigned URL for the import manifest stored in Amazon S3 and presented
  32963. // here as an Amazon S3 presigned URL. For information about creating a presigned
  32964. // URL for an Amazon S3 object, read the "Query String Request Authentication
  32965. // Alternative" section of the Authenticating REST Requests (http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
  32966. // topic in the Amazon Simple Storage Service Developer Guide.
  32967. //
  32968. // For information about the import manifest referenced by this API action,
  32969. // see VM Import Manifest (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
  32970. //
  32971. // ImportManifestUrl is a required field
  32972. ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
  32973. }
  32974. // String returns the string representation
  32975. func (s DiskImageDetail) String() string {
  32976. return awsutil.Prettify(s)
  32977. }
  32978. // GoString returns the string representation
  32979. func (s DiskImageDetail) GoString() string {
  32980. return s.String()
  32981. }
  32982. // Validate inspects the fields of the type to determine if they are valid.
  32983. func (s *DiskImageDetail) Validate() error {
  32984. invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
  32985. if s.Bytes == nil {
  32986. invalidParams.Add(request.NewErrParamRequired("Bytes"))
  32987. }
  32988. if s.Format == nil {
  32989. invalidParams.Add(request.NewErrParamRequired("Format"))
  32990. }
  32991. if s.ImportManifestUrl == nil {
  32992. invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
  32993. }
  32994. if invalidParams.Len() > 0 {
  32995. return invalidParams
  32996. }
  32997. return nil
  32998. }
  32999. // SetBytes sets the Bytes field's value.
  33000. func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
  33001. s.Bytes = &v
  33002. return s
  33003. }
  33004. // SetFormat sets the Format field's value.
  33005. func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
  33006. s.Format = &v
  33007. return s
  33008. }
  33009. // SetImportManifestUrl sets the ImportManifestUrl field's value.
  33010. func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
  33011. s.ImportManifestUrl = &v
  33012. return s
  33013. }
  33014. // Describes a disk image volume.
  33015. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DiskImageVolumeDescription
  33016. type DiskImageVolumeDescription struct {
  33017. _ struct{} `type:"structure"`
  33018. // The volume identifier.
  33019. //
  33020. // Id is a required field
  33021. Id *string `locationName:"id" type:"string" required:"true"`
  33022. // The size of the volume, in GiB.
  33023. Size *int64 `locationName:"size" type:"long"`
  33024. }
  33025. // String returns the string representation
  33026. func (s DiskImageVolumeDescription) String() string {
  33027. return awsutil.Prettify(s)
  33028. }
  33029. // GoString returns the string representation
  33030. func (s DiskImageVolumeDescription) GoString() string {
  33031. return s.String()
  33032. }
  33033. // SetId sets the Id field's value.
  33034. func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
  33035. s.Id = &v
  33036. return s
  33037. }
  33038. // SetSize sets the Size field's value.
  33039. func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
  33040. s.Size = &v
  33041. return s
  33042. }
  33043. // Describes a block device for an EBS volume.
  33044. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice
  33045. type EbsBlockDevice struct {
  33046. _ struct{} `type:"structure"`
  33047. // Indicates whether the EBS volume is deleted on instance termination.
  33048. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  33049. // Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes
  33050. // may only be attached to instances that support Amazon EBS encryption.
  33051. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  33052. // The number of I/O operations per second (IOPS) that the volume supports.
  33053. // For io1, this represents the number of IOPS that are provisioned for the
  33054. // volume. For gp2, this represents the baseline performance of the volume and
  33055. // the rate at which the volume accumulates I/O credits for bursting. For more
  33056. // information about General Purpose SSD baseline performance, I/O credits,
  33057. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  33058. // in the Amazon Elastic Compute Cloud User Guide.
  33059. //
  33060. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  33061. // gp2 volumes.
  33062. //
  33063. // Condition: This parameter is required for requests to create io1 volumes;
  33064. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  33065. Iops *int64 `locationName:"iops" type:"integer"`
  33066. // The ID of the snapshot.
  33067. SnapshotId *string `locationName:"snapshotId" type:"string"`
  33068. // The size of the volume, in GiB.
  33069. //
  33070. // Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
  33071. // IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
  33072. // Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
  33073. // a snapshot, the volume size must be equal to or larger than the snapshot
  33074. // size.
  33075. //
  33076. // Default: If you're creating the volume from a snapshot and don't specify
  33077. // a volume size, the default is the snapshot size.
  33078. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  33079. // The volume type: gp2, io1, st1, sc1, or standard.
  33080. //
  33081. // Default: standard
  33082. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  33083. }
  33084. // String returns the string representation
  33085. func (s EbsBlockDevice) String() string {
  33086. return awsutil.Prettify(s)
  33087. }
  33088. // GoString returns the string representation
  33089. func (s EbsBlockDevice) GoString() string {
  33090. return s.String()
  33091. }
  33092. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  33093. func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
  33094. s.DeleteOnTermination = &v
  33095. return s
  33096. }
  33097. // SetEncrypted sets the Encrypted field's value.
  33098. func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
  33099. s.Encrypted = &v
  33100. return s
  33101. }
  33102. // SetIops sets the Iops field's value.
  33103. func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
  33104. s.Iops = &v
  33105. return s
  33106. }
  33107. // SetSnapshotId sets the SnapshotId field's value.
  33108. func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
  33109. s.SnapshotId = &v
  33110. return s
  33111. }
  33112. // SetVolumeSize sets the VolumeSize field's value.
  33113. func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
  33114. s.VolumeSize = &v
  33115. return s
  33116. }
  33117. // SetVolumeType sets the VolumeType field's value.
  33118. func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
  33119. s.VolumeType = &v
  33120. return s
  33121. }
  33122. // Describes a parameter used to set up an EBS volume in a block device mapping.
  33123. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDevice
  33124. type EbsInstanceBlockDevice struct {
  33125. _ struct{} `type:"structure"`
  33126. // The time stamp when the attachment initiated.
  33127. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  33128. // Indicates whether the volume is deleted on instance termination.
  33129. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  33130. // The attachment state.
  33131. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  33132. // The ID of the EBS volume.
  33133. VolumeId *string `locationName:"volumeId" type:"string"`
  33134. }
  33135. // String returns the string representation
  33136. func (s EbsInstanceBlockDevice) String() string {
  33137. return awsutil.Prettify(s)
  33138. }
  33139. // GoString returns the string representation
  33140. func (s EbsInstanceBlockDevice) GoString() string {
  33141. return s.String()
  33142. }
  33143. // SetAttachTime sets the AttachTime field's value.
  33144. func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
  33145. s.AttachTime = &v
  33146. return s
  33147. }
  33148. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  33149. func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
  33150. s.DeleteOnTermination = &v
  33151. return s
  33152. }
  33153. // SetStatus sets the Status field's value.
  33154. func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
  33155. s.Status = &v
  33156. return s
  33157. }
  33158. // SetVolumeId sets the VolumeId field's value.
  33159. func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
  33160. s.VolumeId = &v
  33161. return s
  33162. }
  33163. // Describes information used to set up an EBS volume specified in a block device
  33164. // mapping.
  33165. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsInstanceBlockDeviceSpecification
  33166. type EbsInstanceBlockDeviceSpecification struct {
  33167. _ struct{} `type:"structure"`
  33168. // Indicates whether the volume is deleted on instance termination.
  33169. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  33170. // The ID of the EBS volume.
  33171. VolumeId *string `locationName:"volumeId" type:"string"`
  33172. }
  33173. // String returns the string representation
  33174. func (s EbsInstanceBlockDeviceSpecification) String() string {
  33175. return awsutil.Prettify(s)
  33176. }
  33177. // GoString returns the string representation
  33178. func (s EbsInstanceBlockDeviceSpecification) GoString() string {
  33179. return s.String()
  33180. }
  33181. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  33182. func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
  33183. s.DeleteOnTermination = &v
  33184. return s
  33185. }
  33186. // SetVolumeId sets the VolumeId field's value.
  33187. func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
  33188. s.VolumeId = &v
  33189. return s
  33190. }
  33191. // Describes an egress-only Internet gateway.
  33192. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EgressOnlyInternetGateway
  33193. type EgressOnlyInternetGateway struct {
  33194. _ struct{} `type:"structure"`
  33195. // Information about the attachment of the egress-only Internet gateway.
  33196. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  33197. // The ID of the egress-only Internet gateway.
  33198. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  33199. }
  33200. // String returns the string representation
  33201. func (s EgressOnlyInternetGateway) String() string {
  33202. return awsutil.Prettify(s)
  33203. }
  33204. // GoString returns the string representation
  33205. func (s EgressOnlyInternetGateway) GoString() string {
  33206. return s.String()
  33207. }
  33208. // SetAttachments sets the Attachments field's value.
  33209. func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
  33210. s.Attachments = v
  33211. return s
  33212. }
  33213. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  33214. func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
  33215. s.EgressOnlyInternetGatewayId = &v
  33216. return s
  33217. }
  33218. // Contains the parameters for EnableVgwRoutePropagation.
  33219. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationRequest
  33220. type EnableVgwRoutePropagationInput struct {
  33221. _ struct{} `type:"structure"`
  33222. // The ID of the virtual private gateway.
  33223. //
  33224. // GatewayId is a required field
  33225. GatewayId *string `type:"string" required:"true"`
  33226. // The ID of the route table.
  33227. //
  33228. // RouteTableId is a required field
  33229. RouteTableId *string `type:"string" required:"true"`
  33230. }
  33231. // String returns the string representation
  33232. func (s EnableVgwRoutePropagationInput) String() string {
  33233. return awsutil.Prettify(s)
  33234. }
  33235. // GoString returns the string representation
  33236. func (s EnableVgwRoutePropagationInput) GoString() string {
  33237. return s.String()
  33238. }
  33239. // Validate inspects the fields of the type to determine if they are valid.
  33240. func (s *EnableVgwRoutePropagationInput) Validate() error {
  33241. invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
  33242. if s.GatewayId == nil {
  33243. invalidParams.Add(request.NewErrParamRequired("GatewayId"))
  33244. }
  33245. if s.RouteTableId == nil {
  33246. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  33247. }
  33248. if invalidParams.Len() > 0 {
  33249. return invalidParams
  33250. }
  33251. return nil
  33252. }
  33253. // SetGatewayId sets the GatewayId field's value.
  33254. func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
  33255. s.GatewayId = &v
  33256. return s
  33257. }
  33258. // SetRouteTableId sets the RouteTableId field's value.
  33259. func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
  33260. s.RouteTableId = &v
  33261. return s
  33262. }
  33263. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagationOutput
  33264. type EnableVgwRoutePropagationOutput struct {
  33265. _ struct{} `type:"structure"`
  33266. }
  33267. // String returns the string representation
  33268. func (s EnableVgwRoutePropagationOutput) String() string {
  33269. return awsutil.Prettify(s)
  33270. }
  33271. // GoString returns the string representation
  33272. func (s EnableVgwRoutePropagationOutput) GoString() string {
  33273. return s.String()
  33274. }
  33275. // Contains the parameters for EnableVolumeIO.
  33276. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIORequest
  33277. type EnableVolumeIOInput struct {
  33278. _ struct{} `type:"structure"`
  33279. // Checks whether you have the required permissions for the action, without
  33280. // actually making the request, and provides an error response. If you have
  33281. // the required permissions, the error response is DryRunOperation. Otherwise,
  33282. // it is UnauthorizedOperation.
  33283. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33284. // The ID of the volume.
  33285. //
  33286. // VolumeId is a required field
  33287. VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
  33288. }
  33289. // String returns the string representation
  33290. func (s EnableVolumeIOInput) String() string {
  33291. return awsutil.Prettify(s)
  33292. }
  33293. // GoString returns the string representation
  33294. func (s EnableVolumeIOInput) GoString() string {
  33295. return s.String()
  33296. }
  33297. // Validate inspects the fields of the type to determine if they are valid.
  33298. func (s *EnableVolumeIOInput) Validate() error {
  33299. invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
  33300. if s.VolumeId == nil {
  33301. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  33302. }
  33303. if invalidParams.Len() > 0 {
  33304. return invalidParams
  33305. }
  33306. return nil
  33307. }
  33308. // SetDryRun sets the DryRun field's value.
  33309. func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
  33310. s.DryRun = &v
  33311. return s
  33312. }
  33313. // SetVolumeId sets the VolumeId field's value.
  33314. func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
  33315. s.VolumeId = &v
  33316. return s
  33317. }
  33318. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIOOutput
  33319. type EnableVolumeIOOutput struct {
  33320. _ struct{} `type:"structure"`
  33321. }
  33322. // String returns the string representation
  33323. func (s EnableVolumeIOOutput) String() string {
  33324. return awsutil.Prettify(s)
  33325. }
  33326. // GoString returns the string representation
  33327. func (s EnableVolumeIOOutput) GoString() string {
  33328. return s.String()
  33329. }
  33330. // Contains the parameters for EnableVpcClassicLinkDnsSupport.
  33331. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportRequest
  33332. type EnableVpcClassicLinkDnsSupportInput struct {
  33333. _ struct{} `type:"structure"`
  33334. // The ID of the VPC.
  33335. VpcId *string `type:"string"`
  33336. }
  33337. // String returns the string representation
  33338. func (s EnableVpcClassicLinkDnsSupportInput) String() string {
  33339. return awsutil.Prettify(s)
  33340. }
  33341. // GoString returns the string representation
  33342. func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
  33343. return s.String()
  33344. }
  33345. // SetVpcId sets the VpcId field's value.
  33346. func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
  33347. s.VpcId = &v
  33348. return s
  33349. }
  33350. // Contains the output of EnableVpcClassicLinkDnsSupport.
  33351. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupportResult
  33352. type EnableVpcClassicLinkDnsSupportOutput struct {
  33353. _ struct{} `type:"structure"`
  33354. // Returns true if the request succeeds; otherwise, it returns an error.
  33355. Return *bool `locationName:"return" type:"boolean"`
  33356. }
  33357. // String returns the string representation
  33358. func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
  33359. return awsutil.Prettify(s)
  33360. }
  33361. // GoString returns the string representation
  33362. func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
  33363. return s.String()
  33364. }
  33365. // SetReturn sets the Return field's value.
  33366. func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
  33367. s.Return = &v
  33368. return s
  33369. }
  33370. // Contains the parameters for EnableVpcClassicLink.
  33371. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkRequest
  33372. type EnableVpcClassicLinkInput struct {
  33373. _ struct{} `type:"structure"`
  33374. // Checks whether you have the required permissions for the action, without
  33375. // actually making the request, and provides an error response. If you have
  33376. // the required permissions, the error response is DryRunOperation. Otherwise,
  33377. // it is UnauthorizedOperation.
  33378. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33379. // The ID of the VPC.
  33380. //
  33381. // VpcId is a required field
  33382. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  33383. }
  33384. // String returns the string representation
  33385. func (s EnableVpcClassicLinkInput) String() string {
  33386. return awsutil.Prettify(s)
  33387. }
  33388. // GoString returns the string representation
  33389. func (s EnableVpcClassicLinkInput) GoString() string {
  33390. return s.String()
  33391. }
  33392. // Validate inspects the fields of the type to determine if they are valid.
  33393. func (s *EnableVpcClassicLinkInput) Validate() error {
  33394. invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
  33395. if s.VpcId == nil {
  33396. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  33397. }
  33398. if invalidParams.Len() > 0 {
  33399. return invalidParams
  33400. }
  33401. return nil
  33402. }
  33403. // SetDryRun sets the DryRun field's value.
  33404. func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
  33405. s.DryRun = &v
  33406. return s
  33407. }
  33408. // SetVpcId sets the VpcId field's value.
  33409. func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
  33410. s.VpcId = &v
  33411. return s
  33412. }
  33413. // Contains the output of EnableVpcClassicLink.
  33414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkResult
  33415. type EnableVpcClassicLinkOutput struct {
  33416. _ struct{} `type:"structure"`
  33417. // Returns true if the request succeeds; otherwise, it returns an error.
  33418. Return *bool `locationName:"return" type:"boolean"`
  33419. }
  33420. // String returns the string representation
  33421. func (s EnableVpcClassicLinkOutput) String() string {
  33422. return awsutil.Prettify(s)
  33423. }
  33424. // GoString returns the string representation
  33425. func (s EnableVpcClassicLinkOutput) GoString() string {
  33426. return s.String()
  33427. }
  33428. // SetReturn sets the Return field's value.
  33429. func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
  33430. s.Return = &v
  33431. return s
  33432. }
  33433. // Describes a Spot fleet event.
  33434. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EventInformation
  33435. type EventInformation struct {
  33436. _ struct{} `type:"structure"`
  33437. // The description of the event.
  33438. EventDescription *string `locationName:"eventDescription" type:"string"`
  33439. // The event.
  33440. //
  33441. // The following are the error events.
  33442. //
  33443. // * iamFleetRoleInvalid - The Spot fleet did not have the required permissions
  33444. // either to launch or terminate an instance.
  33445. //
  33446. // * launchSpecTemporarilyBlacklisted - The configuration is not valid and
  33447. // several attempts to launch instances have failed. For more information,
  33448. // see the description of the event.
  33449. //
  33450. // * spotFleetRequestConfigurationInvalid - The configuration is not valid.
  33451. // For more information, see the description of the event.
  33452. //
  33453. // * spotInstanceCountLimitExceeded - You've reached the limit on the number
  33454. // of Spot instances that you can launch.
  33455. //
  33456. // The following are the fleetRequestChange events.
  33457. //
  33458. // * active - The Spot fleet has been validated and Amazon EC2 is attempting
  33459. // to maintain the target number of running Spot instances.
  33460. //
  33461. // * cancelled - The Spot fleet is canceled and has no running Spot instances.
  33462. // The Spot fleet will be deleted two days after its instances were terminated.
  33463. //
  33464. // * cancelled_running - The Spot fleet is canceled and will not launch additional
  33465. // Spot instances, but its existing Spot instances continue to run until
  33466. // they are interrupted or terminated.
  33467. //
  33468. // * cancelled_terminating - The Spot fleet is canceled and its Spot instances
  33469. // are terminating.
  33470. //
  33471. // * expired - The Spot fleet request has expired. A subsequent event indicates
  33472. // that the instances were terminated, if the request was created with TerminateInstancesWithExpiration
  33473. // set.
  33474. //
  33475. // * modify_in_progress - A request to modify the Spot fleet request was
  33476. // accepted and is in progress.
  33477. //
  33478. // * modify_successful - The Spot fleet request was modified.
  33479. //
  33480. // * price_update - The bid price for a launch configuration was adjusted
  33481. // because it was too high. This change is permanent.
  33482. //
  33483. // * submitted - The Spot fleet request is being evaluated and Amazon EC2
  33484. // is preparing to launch the target number of Spot instances.
  33485. //
  33486. // The following are the instanceChange events.
  33487. //
  33488. // * launched - A bid was fulfilled and a new instance was launched.
  33489. //
  33490. // * terminated - An instance was terminated by the user.
  33491. EventSubType *string `locationName:"eventSubType" type:"string"`
  33492. // The ID of the instance. This information is available only for instanceChange
  33493. // events.
  33494. InstanceId *string `locationName:"instanceId" type:"string"`
  33495. }
  33496. // String returns the string representation
  33497. func (s EventInformation) String() string {
  33498. return awsutil.Prettify(s)
  33499. }
  33500. // GoString returns the string representation
  33501. func (s EventInformation) GoString() string {
  33502. return s.String()
  33503. }
  33504. // SetEventDescription sets the EventDescription field's value.
  33505. func (s *EventInformation) SetEventDescription(v string) *EventInformation {
  33506. s.EventDescription = &v
  33507. return s
  33508. }
  33509. // SetEventSubType sets the EventSubType field's value.
  33510. func (s *EventInformation) SetEventSubType(v string) *EventInformation {
  33511. s.EventSubType = &v
  33512. return s
  33513. }
  33514. // SetInstanceId sets the InstanceId field's value.
  33515. func (s *EventInformation) SetInstanceId(v string) *EventInformation {
  33516. s.InstanceId = &v
  33517. return s
  33518. }
  33519. // Describes an instance export task.
  33520. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTask
  33521. type ExportTask struct {
  33522. _ struct{} `type:"structure"`
  33523. // A description of the resource being exported.
  33524. Description *string `locationName:"description" type:"string"`
  33525. // The ID of the export task.
  33526. ExportTaskId *string `locationName:"exportTaskId" type:"string"`
  33527. // Information about the export task.
  33528. ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
  33529. // Information about the instance to export.
  33530. InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
  33531. // The state of the export task.
  33532. State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
  33533. // The status message related to the export task.
  33534. StatusMessage *string `locationName:"statusMessage" type:"string"`
  33535. }
  33536. // String returns the string representation
  33537. func (s ExportTask) String() string {
  33538. return awsutil.Prettify(s)
  33539. }
  33540. // GoString returns the string representation
  33541. func (s ExportTask) GoString() string {
  33542. return s.String()
  33543. }
  33544. // SetDescription sets the Description field's value.
  33545. func (s *ExportTask) SetDescription(v string) *ExportTask {
  33546. s.Description = &v
  33547. return s
  33548. }
  33549. // SetExportTaskId sets the ExportTaskId field's value.
  33550. func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
  33551. s.ExportTaskId = &v
  33552. return s
  33553. }
  33554. // SetExportToS3Task sets the ExportToS3Task field's value.
  33555. func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
  33556. s.ExportToS3Task = v
  33557. return s
  33558. }
  33559. // SetInstanceExportDetails sets the InstanceExportDetails field's value.
  33560. func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
  33561. s.InstanceExportDetails = v
  33562. return s
  33563. }
  33564. // SetState sets the State field's value.
  33565. func (s *ExportTask) SetState(v string) *ExportTask {
  33566. s.State = &v
  33567. return s
  33568. }
  33569. // SetStatusMessage sets the StatusMessage field's value.
  33570. func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
  33571. s.StatusMessage = &v
  33572. return s
  33573. }
  33574. // Describes the format and location for an instance export task.
  33575. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3Task
  33576. type ExportToS3Task struct {
  33577. _ struct{} `type:"structure"`
  33578. // The container format used to combine disk images with metadata (such as OVF).
  33579. // If absent, only the disk image is exported.
  33580. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  33581. // The format for the exported image.
  33582. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  33583. // The S3 bucket for the destination image. The destination bucket must exist
  33584. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  33585. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  33586. // The encryption key for your S3 bucket.
  33587. S3Key *string `locationName:"s3Key" type:"string"`
  33588. }
  33589. // String returns the string representation
  33590. func (s ExportToS3Task) String() string {
  33591. return awsutil.Prettify(s)
  33592. }
  33593. // GoString returns the string representation
  33594. func (s ExportToS3Task) GoString() string {
  33595. return s.String()
  33596. }
  33597. // SetContainerFormat sets the ContainerFormat field's value.
  33598. func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
  33599. s.ContainerFormat = &v
  33600. return s
  33601. }
  33602. // SetDiskImageFormat sets the DiskImageFormat field's value.
  33603. func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
  33604. s.DiskImageFormat = &v
  33605. return s
  33606. }
  33607. // SetS3Bucket sets the S3Bucket field's value.
  33608. func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
  33609. s.S3Bucket = &v
  33610. return s
  33611. }
  33612. // SetS3Key sets the S3Key field's value.
  33613. func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
  33614. s.S3Key = &v
  33615. return s
  33616. }
  33617. // Describes an instance export task.
  33618. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportToS3TaskSpecification
  33619. type ExportToS3TaskSpecification struct {
  33620. _ struct{} `type:"structure"`
  33621. // The container format used to combine disk images with metadata (such as OVF).
  33622. // If absent, only the disk image is exported.
  33623. ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
  33624. // The format for the exported image.
  33625. DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
  33626. // The S3 bucket for the destination image. The destination bucket must exist
  33627. // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
  33628. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  33629. // The image is written to a single object in the S3 bucket at the S3 key s3prefix
  33630. // + exportTaskId + '.' + diskImageFormat.
  33631. S3Prefix *string `locationName:"s3Prefix" type:"string"`
  33632. }
  33633. // String returns the string representation
  33634. func (s ExportToS3TaskSpecification) String() string {
  33635. return awsutil.Prettify(s)
  33636. }
  33637. // GoString returns the string representation
  33638. func (s ExportToS3TaskSpecification) GoString() string {
  33639. return s.String()
  33640. }
  33641. // SetContainerFormat sets the ContainerFormat field's value.
  33642. func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
  33643. s.ContainerFormat = &v
  33644. return s
  33645. }
  33646. // SetDiskImageFormat sets the DiskImageFormat field's value.
  33647. func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
  33648. s.DiskImageFormat = &v
  33649. return s
  33650. }
  33651. // SetS3Bucket sets the S3Bucket field's value.
  33652. func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
  33653. s.S3Bucket = &v
  33654. return s
  33655. }
  33656. // SetS3Prefix sets the S3Prefix field's value.
  33657. func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
  33658. s.S3Prefix = &v
  33659. return s
  33660. }
  33661. // A filter name and value pair that is used to return a more specific list
  33662. // of results. Filters can be used to match a set of resources by various criteria,
  33663. // such as tags, attributes, or IDs.
  33664. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Filter
  33665. type Filter struct {
  33666. _ struct{} `type:"structure"`
  33667. // The name of the filter. Filter names are case-sensitive.
  33668. Name *string `type:"string"`
  33669. // One or more filter values. Filter values are case-sensitive.
  33670. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  33671. }
  33672. // String returns the string representation
  33673. func (s Filter) String() string {
  33674. return awsutil.Prettify(s)
  33675. }
  33676. // GoString returns the string representation
  33677. func (s Filter) GoString() string {
  33678. return s.String()
  33679. }
  33680. // SetName sets the Name field's value.
  33681. func (s *Filter) SetName(v string) *Filter {
  33682. s.Name = &v
  33683. return s
  33684. }
  33685. // SetValues sets the Values field's value.
  33686. func (s *Filter) SetValues(v []*string) *Filter {
  33687. s.Values = v
  33688. return s
  33689. }
  33690. // Describes a flow log.
  33691. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/FlowLog
  33692. type FlowLog struct {
  33693. _ struct{} `type:"structure"`
  33694. // The date and time the flow log was created.
  33695. CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"`
  33696. // Information about the error that occurred. Rate limited indicates that CloudWatch
  33697. // logs throttling has been applied for one or more network interfaces, or that
  33698. // you've reached the limit on the number of CloudWatch Logs log groups that
  33699. // you can create. Access error indicates that the IAM role associated with
  33700. // the flow log does not have sufficient permissions to publish to CloudWatch
  33701. // Logs. Unknown error indicates an internal error.
  33702. DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
  33703. // The ARN of the IAM role that posts logs to CloudWatch Logs.
  33704. DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
  33705. // The status of the logs delivery (SUCCESS | FAILED).
  33706. DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
  33707. // The flow log ID.
  33708. FlowLogId *string `locationName:"flowLogId" type:"string"`
  33709. // The status of the flow log (ACTIVE).
  33710. FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
  33711. // The name of the flow log group.
  33712. LogGroupName *string `locationName:"logGroupName" type:"string"`
  33713. // The ID of the resource on which the flow log was created.
  33714. ResourceId *string `locationName:"resourceId" type:"string"`
  33715. // The type of traffic captured for the flow log.
  33716. TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
  33717. }
  33718. // String returns the string representation
  33719. func (s FlowLog) String() string {
  33720. return awsutil.Prettify(s)
  33721. }
  33722. // GoString returns the string representation
  33723. func (s FlowLog) GoString() string {
  33724. return s.String()
  33725. }
  33726. // SetCreationTime sets the CreationTime field's value.
  33727. func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
  33728. s.CreationTime = &v
  33729. return s
  33730. }
  33731. // SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
  33732. func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
  33733. s.DeliverLogsErrorMessage = &v
  33734. return s
  33735. }
  33736. // SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
  33737. func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
  33738. s.DeliverLogsPermissionArn = &v
  33739. return s
  33740. }
  33741. // SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
  33742. func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
  33743. s.DeliverLogsStatus = &v
  33744. return s
  33745. }
  33746. // SetFlowLogId sets the FlowLogId field's value.
  33747. func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
  33748. s.FlowLogId = &v
  33749. return s
  33750. }
  33751. // SetFlowLogStatus sets the FlowLogStatus field's value.
  33752. func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
  33753. s.FlowLogStatus = &v
  33754. return s
  33755. }
  33756. // SetLogGroupName sets the LogGroupName field's value.
  33757. func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
  33758. s.LogGroupName = &v
  33759. return s
  33760. }
  33761. // SetResourceId sets the ResourceId field's value.
  33762. func (s *FlowLog) SetResourceId(v string) *FlowLog {
  33763. s.ResourceId = &v
  33764. return s
  33765. }
  33766. // SetTrafficType sets the TrafficType field's value.
  33767. func (s *FlowLog) SetTrafficType(v string) *FlowLog {
  33768. s.TrafficType = &v
  33769. return s
  33770. }
  33771. // Contains the parameters for GetConsoleOutput.
  33772. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputRequest
  33773. type GetConsoleOutputInput struct {
  33774. _ struct{} `type:"structure"`
  33775. // Checks whether you have the required permissions for the action, without
  33776. // actually making the request, and provides an error response. If you have
  33777. // the required permissions, the error response is DryRunOperation. Otherwise,
  33778. // it is UnauthorizedOperation.
  33779. DryRun *bool `locationName:"dryRun" type:"boolean"`
  33780. // The ID of the instance.
  33781. //
  33782. // InstanceId is a required field
  33783. InstanceId *string `type:"string" required:"true"`
  33784. }
  33785. // String returns the string representation
  33786. func (s GetConsoleOutputInput) String() string {
  33787. return awsutil.Prettify(s)
  33788. }
  33789. // GoString returns the string representation
  33790. func (s GetConsoleOutputInput) GoString() string {
  33791. return s.String()
  33792. }
  33793. // Validate inspects the fields of the type to determine if they are valid.
  33794. func (s *GetConsoleOutputInput) Validate() error {
  33795. invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
  33796. if s.InstanceId == nil {
  33797. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  33798. }
  33799. if invalidParams.Len() > 0 {
  33800. return invalidParams
  33801. }
  33802. return nil
  33803. }
  33804. // SetDryRun sets the DryRun field's value.
  33805. func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
  33806. s.DryRun = &v
  33807. return s
  33808. }
  33809. // SetInstanceId sets the InstanceId field's value.
  33810. func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
  33811. s.InstanceId = &v
  33812. return s
  33813. }
  33814. // Contains the output of GetConsoleOutput.
  33815. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutputResult
  33816. type GetConsoleOutputOutput struct {
  33817. _ struct{} `type:"structure"`
  33818. // The ID of the instance.
  33819. InstanceId *string `locationName:"instanceId" type:"string"`
  33820. // The console output, Base64-encoded. If using a command line tool, the tool
  33821. // decodes the output for you.
  33822. Output *string `locationName:"output" type:"string"`
  33823. // The time the output was last updated.
  33824. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  33825. }
  33826. // String returns the string representation
  33827. func (s GetConsoleOutputOutput) String() string {
  33828. return awsutil.Prettify(s)
  33829. }
  33830. // GoString returns the string representation
  33831. func (s GetConsoleOutputOutput) GoString() string {
  33832. return s.String()
  33833. }
  33834. // SetInstanceId sets the InstanceId field's value.
  33835. func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
  33836. s.InstanceId = &v
  33837. return s
  33838. }
  33839. // SetOutput sets the Output field's value.
  33840. func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
  33841. s.Output = &v
  33842. return s
  33843. }
  33844. // SetTimestamp sets the Timestamp field's value.
  33845. func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
  33846. s.Timestamp = &v
  33847. return s
  33848. }
  33849. // Contains the parameters for the request.
  33850. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotRequest
  33851. type GetConsoleScreenshotInput struct {
  33852. _ struct{} `type:"structure"`
  33853. // Checks whether you have the required permissions for the action, without
  33854. // actually making the request, and provides an error response. If you have
  33855. // the required permissions, the error response is DryRunOperation. Otherwise,
  33856. // it is UnauthorizedOperation.
  33857. DryRun *bool `type:"boolean"`
  33858. // The ID of the instance.
  33859. //
  33860. // InstanceId is a required field
  33861. InstanceId *string `type:"string" required:"true"`
  33862. // When set to true, acts as keystroke input and wakes up an instance that's
  33863. // in standby or "sleep" mode.
  33864. WakeUp *bool `type:"boolean"`
  33865. }
  33866. // String returns the string representation
  33867. func (s GetConsoleScreenshotInput) String() string {
  33868. return awsutil.Prettify(s)
  33869. }
  33870. // GoString returns the string representation
  33871. func (s GetConsoleScreenshotInput) GoString() string {
  33872. return s.String()
  33873. }
  33874. // Validate inspects the fields of the type to determine if they are valid.
  33875. func (s *GetConsoleScreenshotInput) Validate() error {
  33876. invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
  33877. if s.InstanceId == nil {
  33878. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  33879. }
  33880. if invalidParams.Len() > 0 {
  33881. return invalidParams
  33882. }
  33883. return nil
  33884. }
  33885. // SetDryRun sets the DryRun field's value.
  33886. func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
  33887. s.DryRun = &v
  33888. return s
  33889. }
  33890. // SetInstanceId sets the InstanceId field's value.
  33891. func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
  33892. s.InstanceId = &v
  33893. return s
  33894. }
  33895. // SetWakeUp sets the WakeUp field's value.
  33896. func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
  33897. s.WakeUp = &v
  33898. return s
  33899. }
  33900. // Contains the output of the request.
  33901. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshotResult
  33902. type GetConsoleScreenshotOutput struct {
  33903. _ struct{} `type:"structure"`
  33904. // The data that comprises the image.
  33905. ImageData *string `locationName:"imageData" type:"string"`
  33906. // The ID of the instance.
  33907. InstanceId *string `locationName:"instanceId" type:"string"`
  33908. }
  33909. // String returns the string representation
  33910. func (s GetConsoleScreenshotOutput) String() string {
  33911. return awsutil.Prettify(s)
  33912. }
  33913. // GoString returns the string representation
  33914. func (s GetConsoleScreenshotOutput) GoString() string {
  33915. return s.String()
  33916. }
  33917. // SetImageData sets the ImageData field's value.
  33918. func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
  33919. s.ImageData = &v
  33920. return s
  33921. }
  33922. // SetInstanceId sets the InstanceId field's value.
  33923. func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
  33924. s.InstanceId = &v
  33925. return s
  33926. }
  33927. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewRequest
  33928. type GetHostReservationPurchasePreviewInput struct {
  33929. _ struct{} `type:"structure"`
  33930. // The ID/s of the Dedicated Host/s that the reservation will be associated
  33931. // with.
  33932. //
  33933. // HostIdSet is a required field
  33934. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  33935. // The offering ID of the reservation.
  33936. //
  33937. // OfferingId is a required field
  33938. OfferingId *string `type:"string" required:"true"`
  33939. }
  33940. // String returns the string representation
  33941. func (s GetHostReservationPurchasePreviewInput) String() string {
  33942. return awsutil.Prettify(s)
  33943. }
  33944. // GoString returns the string representation
  33945. func (s GetHostReservationPurchasePreviewInput) GoString() string {
  33946. return s.String()
  33947. }
  33948. // Validate inspects the fields of the type to determine if they are valid.
  33949. func (s *GetHostReservationPurchasePreviewInput) Validate() error {
  33950. invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
  33951. if s.HostIdSet == nil {
  33952. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  33953. }
  33954. if s.OfferingId == nil {
  33955. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  33956. }
  33957. if invalidParams.Len() > 0 {
  33958. return invalidParams
  33959. }
  33960. return nil
  33961. }
  33962. // SetHostIdSet sets the HostIdSet field's value.
  33963. func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
  33964. s.HostIdSet = v
  33965. return s
  33966. }
  33967. // SetOfferingId sets the OfferingId field's value.
  33968. func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
  33969. s.OfferingId = &v
  33970. return s
  33971. }
  33972. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreviewResult
  33973. type GetHostReservationPurchasePreviewOutput struct {
  33974. _ struct{} `type:"structure"`
  33975. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  33976. // are specified. At this time, the only supported currency is USD.
  33977. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  33978. // The purchase information of the Dedicated Host Reservation and the Dedicated
  33979. // Hosts associated with it.
  33980. Purchase []*Purchase `locationName:"purchase" type:"list"`
  33981. // The potential total hourly price of the reservation per hour.
  33982. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  33983. // The potential total upfront price. This is billed immediately.
  33984. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  33985. }
  33986. // String returns the string representation
  33987. func (s GetHostReservationPurchasePreviewOutput) String() string {
  33988. return awsutil.Prettify(s)
  33989. }
  33990. // GoString returns the string representation
  33991. func (s GetHostReservationPurchasePreviewOutput) GoString() string {
  33992. return s.String()
  33993. }
  33994. // SetCurrencyCode sets the CurrencyCode field's value.
  33995. func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
  33996. s.CurrencyCode = &v
  33997. return s
  33998. }
  33999. // SetPurchase sets the Purchase field's value.
  34000. func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
  34001. s.Purchase = v
  34002. return s
  34003. }
  34004. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  34005. func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
  34006. s.TotalHourlyPrice = &v
  34007. return s
  34008. }
  34009. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  34010. func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
  34011. s.TotalUpfrontPrice = &v
  34012. return s
  34013. }
  34014. // Contains the parameters for GetPasswordData.
  34015. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataRequest
  34016. type GetPasswordDataInput struct {
  34017. _ struct{} `type:"structure"`
  34018. // Checks whether you have the required permissions for the action, without
  34019. // actually making the request, and provides an error response. If you have
  34020. // the required permissions, the error response is DryRunOperation. Otherwise,
  34021. // it is UnauthorizedOperation.
  34022. DryRun *bool `locationName:"dryRun" type:"boolean"`
  34023. // The ID of the Windows instance.
  34024. //
  34025. // InstanceId is a required field
  34026. InstanceId *string `type:"string" required:"true"`
  34027. }
  34028. // String returns the string representation
  34029. func (s GetPasswordDataInput) String() string {
  34030. return awsutil.Prettify(s)
  34031. }
  34032. // GoString returns the string representation
  34033. func (s GetPasswordDataInput) GoString() string {
  34034. return s.String()
  34035. }
  34036. // Validate inspects the fields of the type to determine if they are valid.
  34037. func (s *GetPasswordDataInput) Validate() error {
  34038. invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
  34039. if s.InstanceId == nil {
  34040. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  34041. }
  34042. if invalidParams.Len() > 0 {
  34043. return invalidParams
  34044. }
  34045. return nil
  34046. }
  34047. // SetDryRun sets the DryRun field's value.
  34048. func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
  34049. s.DryRun = &v
  34050. return s
  34051. }
  34052. // SetInstanceId sets the InstanceId field's value.
  34053. func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
  34054. s.InstanceId = &v
  34055. return s
  34056. }
  34057. // Contains the output of GetPasswordData.
  34058. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordDataResult
  34059. type GetPasswordDataOutput struct {
  34060. _ struct{} `type:"structure"`
  34061. // The ID of the Windows instance.
  34062. InstanceId *string `locationName:"instanceId" type:"string"`
  34063. // The password of the instance.
  34064. PasswordData *string `locationName:"passwordData" type:"string"`
  34065. // The time the data was last updated.
  34066. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  34067. }
  34068. // String returns the string representation
  34069. func (s GetPasswordDataOutput) String() string {
  34070. return awsutil.Prettify(s)
  34071. }
  34072. // GoString returns the string representation
  34073. func (s GetPasswordDataOutput) GoString() string {
  34074. return s.String()
  34075. }
  34076. // SetInstanceId sets the InstanceId field's value.
  34077. func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
  34078. s.InstanceId = &v
  34079. return s
  34080. }
  34081. // SetPasswordData sets the PasswordData field's value.
  34082. func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
  34083. s.PasswordData = &v
  34084. return s
  34085. }
  34086. // SetTimestamp sets the Timestamp field's value.
  34087. func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
  34088. s.Timestamp = &v
  34089. return s
  34090. }
  34091. // Contains the parameters for GetReservedInstanceExchangeQuote.
  34092. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteRequest
  34093. type GetReservedInstancesExchangeQuoteInput struct {
  34094. _ struct{} `type:"structure"`
  34095. // Checks whether you have the required permissions for the action, without
  34096. // actually making the request, and provides an error response. If you have
  34097. // the required permissions, the error response is DryRunOperation. Otherwise,
  34098. // it is UnauthorizedOperation.
  34099. DryRun *bool `type:"boolean"`
  34100. // The IDs of the Convertible Reserved Instances to exchange.
  34101. //
  34102. // ReservedInstanceIds is a required field
  34103. ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
  34104. // The configuration requirements of the Convertible Reserved Instances to exchange
  34105. // for your current Convertible Reserved Instances.
  34106. TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
  34107. }
  34108. // String returns the string representation
  34109. func (s GetReservedInstancesExchangeQuoteInput) String() string {
  34110. return awsutil.Prettify(s)
  34111. }
  34112. // GoString returns the string representation
  34113. func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
  34114. return s.String()
  34115. }
  34116. // Validate inspects the fields of the type to determine if they are valid.
  34117. func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
  34118. invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
  34119. if s.ReservedInstanceIds == nil {
  34120. invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
  34121. }
  34122. if s.TargetConfigurations != nil {
  34123. for i, v := range s.TargetConfigurations {
  34124. if v == nil {
  34125. continue
  34126. }
  34127. if err := v.Validate(); err != nil {
  34128. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
  34129. }
  34130. }
  34131. }
  34132. if invalidParams.Len() > 0 {
  34133. return invalidParams
  34134. }
  34135. return nil
  34136. }
  34137. // SetDryRun sets the DryRun field's value.
  34138. func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
  34139. s.DryRun = &v
  34140. return s
  34141. }
  34142. // SetReservedInstanceIds sets the ReservedInstanceIds field's value.
  34143. func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
  34144. s.ReservedInstanceIds = v
  34145. return s
  34146. }
  34147. // SetTargetConfigurations sets the TargetConfigurations field's value.
  34148. func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
  34149. s.TargetConfigurations = v
  34150. return s
  34151. }
  34152. // Contains the output of GetReservedInstancesExchangeQuote.
  34153. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuoteResult
  34154. type GetReservedInstancesExchangeQuoteOutput struct {
  34155. _ struct{} `type:"structure"`
  34156. // The currency of the transaction.
  34157. CurrencyCode *string `locationName:"currencyCode" type:"string"`
  34158. // If true, the exchange is valid. If false, the exchange cannot be completed.
  34159. IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
  34160. // The new end date of the reservation term.
  34161. OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp" timestampFormat:"iso8601"`
  34162. // The total true upfront charge for the exchange.
  34163. PaymentDue *string `locationName:"paymentDue" type:"string"`
  34164. // The cost associated with the Reserved Instance.
  34165. ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
  34166. // The configuration of your Convertible Reserved Instances.
  34167. ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
  34168. // The cost associated with the Reserved Instance.
  34169. TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
  34170. // The values of the target Convertible Reserved Instances.
  34171. TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
  34172. // Describes the reason why the exchange cannot be completed.
  34173. ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
  34174. }
  34175. // String returns the string representation
  34176. func (s GetReservedInstancesExchangeQuoteOutput) String() string {
  34177. return awsutil.Prettify(s)
  34178. }
  34179. // GoString returns the string representation
  34180. func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
  34181. return s.String()
  34182. }
  34183. // SetCurrencyCode sets the CurrencyCode field's value.
  34184. func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
  34185. s.CurrencyCode = &v
  34186. return s
  34187. }
  34188. // SetIsValidExchange sets the IsValidExchange field's value.
  34189. func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
  34190. s.IsValidExchange = &v
  34191. return s
  34192. }
  34193. // SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
  34194. func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
  34195. s.OutputReservedInstancesWillExpireAt = &v
  34196. return s
  34197. }
  34198. // SetPaymentDue sets the PaymentDue field's value.
  34199. func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
  34200. s.PaymentDue = &v
  34201. return s
  34202. }
  34203. // SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
  34204. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34205. s.ReservedInstanceValueRollup = v
  34206. return s
  34207. }
  34208. // SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
  34209. func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34210. s.ReservedInstanceValueSet = v
  34211. return s
  34212. }
  34213. // SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
  34214. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34215. s.TargetConfigurationValueRollup = v
  34216. return s
  34217. }
  34218. // SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
  34219. func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
  34220. s.TargetConfigurationValueSet = v
  34221. return s
  34222. }
  34223. // SetValidationFailureReason sets the ValidationFailureReason field's value.
  34224. func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
  34225. s.ValidationFailureReason = &v
  34226. return s
  34227. }
  34228. // Describes a security group.
  34229. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GroupIdentifier
  34230. type GroupIdentifier struct {
  34231. _ struct{} `type:"structure"`
  34232. // The ID of the security group.
  34233. GroupId *string `locationName:"groupId" type:"string"`
  34234. // The name of the security group.
  34235. GroupName *string `locationName:"groupName" type:"string"`
  34236. }
  34237. // String returns the string representation
  34238. func (s GroupIdentifier) String() string {
  34239. return awsutil.Prettify(s)
  34240. }
  34241. // GoString returns the string representation
  34242. func (s GroupIdentifier) GoString() string {
  34243. return s.String()
  34244. }
  34245. // SetGroupId sets the GroupId field's value.
  34246. func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
  34247. s.GroupId = &v
  34248. return s
  34249. }
  34250. // SetGroupName sets the GroupName field's value.
  34251. func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
  34252. s.GroupName = &v
  34253. return s
  34254. }
  34255. // Describes an event in the history of the Spot fleet request.
  34256. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HistoryRecord
  34257. type HistoryRecord struct {
  34258. _ struct{} `type:"structure"`
  34259. // Information about the event.
  34260. //
  34261. // EventInformation is a required field
  34262. EventInformation *EventInformation `locationName:"eventInformation" type:"structure" required:"true"`
  34263. // The event type.
  34264. //
  34265. // * error - Indicates an error with the Spot fleet request.
  34266. //
  34267. // * fleetRequestChange - Indicates a change in the status or configuration
  34268. // of the Spot fleet request.
  34269. //
  34270. // * instanceChange - Indicates that an instance was launched or terminated.
  34271. //
  34272. // EventType is a required field
  34273. EventType *string `locationName:"eventType" type:"string" required:"true" enum:"EventType"`
  34274. // The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  34275. //
  34276. // Timestamp is a required field
  34277. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  34278. }
  34279. // String returns the string representation
  34280. func (s HistoryRecord) String() string {
  34281. return awsutil.Prettify(s)
  34282. }
  34283. // GoString returns the string representation
  34284. func (s HistoryRecord) GoString() string {
  34285. return s.String()
  34286. }
  34287. // SetEventInformation sets the EventInformation field's value.
  34288. func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
  34289. s.EventInformation = v
  34290. return s
  34291. }
  34292. // SetEventType sets the EventType field's value.
  34293. func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
  34294. s.EventType = &v
  34295. return s
  34296. }
  34297. // SetTimestamp sets the Timestamp field's value.
  34298. func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
  34299. s.Timestamp = &v
  34300. return s
  34301. }
  34302. // Describes the properties of the Dedicated Host.
  34303. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Host
  34304. type Host struct {
  34305. _ struct{} `type:"structure"`
  34306. // Whether auto-placement is on or off.
  34307. AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
  34308. // The Availability Zone of the Dedicated Host.
  34309. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  34310. // The number of new instances that can be launched onto the Dedicated Host.
  34311. AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
  34312. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  34313. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  34314. // in the Amazon Elastic Compute Cloud User Guide.
  34315. ClientToken *string `locationName:"clientToken" type:"string"`
  34316. // The ID of the Dedicated Host.
  34317. HostId *string `locationName:"hostId" type:"string"`
  34318. // The hardware specifications of the Dedicated Host.
  34319. HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
  34320. // The reservation ID of the Dedicated Host. This returns a null response if
  34321. // the Dedicated Host doesn't have an associated reservation.
  34322. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  34323. // The IDs and instance type that are currently running on the Dedicated Host.
  34324. Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
  34325. // The Dedicated Host's state.
  34326. State *string `locationName:"state" type:"string" enum:"AllocationState"`
  34327. }
  34328. // String returns the string representation
  34329. func (s Host) String() string {
  34330. return awsutil.Prettify(s)
  34331. }
  34332. // GoString returns the string representation
  34333. func (s Host) GoString() string {
  34334. return s.String()
  34335. }
  34336. // SetAutoPlacement sets the AutoPlacement field's value.
  34337. func (s *Host) SetAutoPlacement(v string) *Host {
  34338. s.AutoPlacement = &v
  34339. return s
  34340. }
  34341. // SetAvailabilityZone sets the AvailabilityZone field's value.
  34342. func (s *Host) SetAvailabilityZone(v string) *Host {
  34343. s.AvailabilityZone = &v
  34344. return s
  34345. }
  34346. // SetAvailableCapacity sets the AvailableCapacity field's value.
  34347. func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
  34348. s.AvailableCapacity = v
  34349. return s
  34350. }
  34351. // SetClientToken sets the ClientToken field's value.
  34352. func (s *Host) SetClientToken(v string) *Host {
  34353. s.ClientToken = &v
  34354. return s
  34355. }
  34356. // SetHostId sets the HostId field's value.
  34357. func (s *Host) SetHostId(v string) *Host {
  34358. s.HostId = &v
  34359. return s
  34360. }
  34361. // SetHostProperties sets the HostProperties field's value.
  34362. func (s *Host) SetHostProperties(v *HostProperties) *Host {
  34363. s.HostProperties = v
  34364. return s
  34365. }
  34366. // SetHostReservationId sets the HostReservationId field's value.
  34367. func (s *Host) SetHostReservationId(v string) *Host {
  34368. s.HostReservationId = &v
  34369. return s
  34370. }
  34371. // SetInstances sets the Instances field's value.
  34372. func (s *Host) SetInstances(v []*HostInstance) *Host {
  34373. s.Instances = v
  34374. return s
  34375. }
  34376. // SetState sets the State field's value.
  34377. func (s *Host) SetState(v string) *Host {
  34378. s.State = &v
  34379. return s
  34380. }
  34381. // Describes an instance running on a Dedicated Host.
  34382. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostInstance
  34383. type HostInstance struct {
  34384. _ struct{} `type:"structure"`
  34385. // the IDs of instances that are running on the Dedicated Host.
  34386. InstanceId *string `locationName:"instanceId" type:"string"`
  34387. // The instance type size (for example, m3.medium) of the running instance.
  34388. InstanceType *string `locationName:"instanceType" type:"string"`
  34389. }
  34390. // String returns the string representation
  34391. func (s HostInstance) String() string {
  34392. return awsutil.Prettify(s)
  34393. }
  34394. // GoString returns the string representation
  34395. func (s HostInstance) GoString() string {
  34396. return s.String()
  34397. }
  34398. // SetInstanceId sets the InstanceId field's value.
  34399. func (s *HostInstance) SetInstanceId(v string) *HostInstance {
  34400. s.InstanceId = &v
  34401. return s
  34402. }
  34403. // SetInstanceType sets the InstanceType field's value.
  34404. func (s *HostInstance) SetInstanceType(v string) *HostInstance {
  34405. s.InstanceType = &v
  34406. return s
  34407. }
  34408. // Details about the Dedicated Host Reservation offering.
  34409. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostOffering
  34410. type HostOffering struct {
  34411. _ struct{} `type:"structure"`
  34412. // The currency of the offering.
  34413. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  34414. // The duration of the offering (in seconds).
  34415. Duration *int64 `locationName:"duration" type:"integer"`
  34416. // The hourly price of the offering.
  34417. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  34418. // The instance family of the offering.
  34419. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  34420. // The ID of the offering.
  34421. OfferingId *string `locationName:"offeringId" type:"string"`
  34422. // The available payment option.
  34423. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  34424. // The upfront price of the offering. Does not apply to No Upfront offerings.
  34425. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  34426. }
  34427. // String returns the string representation
  34428. func (s HostOffering) String() string {
  34429. return awsutil.Prettify(s)
  34430. }
  34431. // GoString returns the string representation
  34432. func (s HostOffering) GoString() string {
  34433. return s.String()
  34434. }
  34435. // SetCurrencyCode sets the CurrencyCode field's value.
  34436. func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
  34437. s.CurrencyCode = &v
  34438. return s
  34439. }
  34440. // SetDuration sets the Duration field's value.
  34441. func (s *HostOffering) SetDuration(v int64) *HostOffering {
  34442. s.Duration = &v
  34443. return s
  34444. }
  34445. // SetHourlyPrice sets the HourlyPrice field's value.
  34446. func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
  34447. s.HourlyPrice = &v
  34448. return s
  34449. }
  34450. // SetInstanceFamily sets the InstanceFamily field's value.
  34451. func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
  34452. s.InstanceFamily = &v
  34453. return s
  34454. }
  34455. // SetOfferingId sets the OfferingId field's value.
  34456. func (s *HostOffering) SetOfferingId(v string) *HostOffering {
  34457. s.OfferingId = &v
  34458. return s
  34459. }
  34460. // SetPaymentOption sets the PaymentOption field's value.
  34461. func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
  34462. s.PaymentOption = &v
  34463. return s
  34464. }
  34465. // SetUpfrontPrice sets the UpfrontPrice field's value.
  34466. func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
  34467. s.UpfrontPrice = &v
  34468. return s
  34469. }
  34470. // Describes properties of a Dedicated Host.
  34471. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostProperties
  34472. type HostProperties struct {
  34473. _ struct{} `type:"structure"`
  34474. // The number of cores on the Dedicated Host.
  34475. Cores *int64 `locationName:"cores" type:"integer"`
  34476. // The instance type size that the Dedicated Host supports (for example, m3.medium).
  34477. InstanceType *string `locationName:"instanceType" type:"string"`
  34478. // The number of sockets on the Dedicated Host.
  34479. Sockets *int64 `locationName:"sockets" type:"integer"`
  34480. // The number of vCPUs on the Dedicated Host.
  34481. TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
  34482. }
  34483. // String returns the string representation
  34484. func (s HostProperties) String() string {
  34485. return awsutil.Prettify(s)
  34486. }
  34487. // GoString returns the string representation
  34488. func (s HostProperties) GoString() string {
  34489. return s.String()
  34490. }
  34491. // SetCores sets the Cores field's value.
  34492. func (s *HostProperties) SetCores(v int64) *HostProperties {
  34493. s.Cores = &v
  34494. return s
  34495. }
  34496. // SetInstanceType sets the InstanceType field's value.
  34497. func (s *HostProperties) SetInstanceType(v string) *HostProperties {
  34498. s.InstanceType = &v
  34499. return s
  34500. }
  34501. // SetSockets sets the Sockets field's value.
  34502. func (s *HostProperties) SetSockets(v int64) *HostProperties {
  34503. s.Sockets = &v
  34504. return s
  34505. }
  34506. // SetTotalVCpus sets the TotalVCpus field's value.
  34507. func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
  34508. s.TotalVCpus = &v
  34509. return s
  34510. }
  34511. // Details about the Dedicated Host Reservation and associated Dedicated Hosts.
  34512. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/HostReservation
  34513. type HostReservation struct {
  34514. _ struct{} `type:"structure"`
  34515. // The number of Dedicated Hosts the reservation is associated with.
  34516. Count *int64 `locationName:"count" type:"integer"`
  34517. // The currency in which the upfrontPrice and hourlyPrice amounts are specified.
  34518. // At this time, the only supported currency is USD.
  34519. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  34520. // The length of the reservation's term, specified in seconds. Can be 31536000
  34521. // (1 year) | 94608000 (3 years).
  34522. Duration *int64 `locationName:"duration" type:"integer"`
  34523. // The date and time that the reservation ends.
  34524. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  34525. // The IDs of the Dedicated Hosts associated with the reservation.
  34526. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  34527. // The ID of the reservation that specifies the associated Dedicated Hosts.
  34528. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  34529. // The hourly price of the reservation.
  34530. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  34531. // The instance family of the Dedicated Host Reservation. The instance family
  34532. // on the Dedicated Host must be the same in order for it to benefit from the
  34533. // reservation.
  34534. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  34535. // The ID of the reservation. This remains the same regardless of which Dedicated
  34536. // Hosts are associated with it.
  34537. OfferingId *string `locationName:"offeringId" type:"string"`
  34538. // The payment option selected for this reservation.
  34539. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  34540. // The date and time that the reservation started.
  34541. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  34542. // The state of the reservation.
  34543. State *string `locationName:"state" type:"string" enum:"ReservationState"`
  34544. // The upfront price of the reservation.
  34545. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  34546. }
  34547. // String returns the string representation
  34548. func (s HostReservation) String() string {
  34549. return awsutil.Prettify(s)
  34550. }
  34551. // GoString returns the string representation
  34552. func (s HostReservation) GoString() string {
  34553. return s.String()
  34554. }
  34555. // SetCount sets the Count field's value.
  34556. func (s *HostReservation) SetCount(v int64) *HostReservation {
  34557. s.Count = &v
  34558. return s
  34559. }
  34560. // SetCurrencyCode sets the CurrencyCode field's value.
  34561. func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
  34562. s.CurrencyCode = &v
  34563. return s
  34564. }
  34565. // SetDuration sets the Duration field's value.
  34566. func (s *HostReservation) SetDuration(v int64) *HostReservation {
  34567. s.Duration = &v
  34568. return s
  34569. }
  34570. // SetEnd sets the End field's value.
  34571. func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
  34572. s.End = &v
  34573. return s
  34574. }
  34575. // SetHostIdSet sets the HostIdSet field's value.
  34576. func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
  34577. s.HostIdSet = v
  34578. return s
  34579. }
  34580. // SetHostReservationId sets the HostReservationId field's value.
  34581. func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
  34582. s.HostReservationId = &v
  34583. return s
  34584. }
  34585. // SetHourlyPrice sets the HourlyPrice field's value.
  34586. func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
  34587. s.HourlyPrice = &v
  34588. return s
  34589. }
  34590. // SetInstanceFamily sets the InstanceFamily field's value.
  34591. func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
  34592. s.InstanceFamily = &v
  34593. return s
  34594. }
  34595. // SetOfferingId sets the OfferingId field's value.
  34596. func (s *HostReservation) SetOfferingId(v string) *HostReservation {
  34597. s.OfferingId = &v
  34598. return s
  34599. }
  34600. // SetPaymentOption sets the PaymentOption field's value.
  34601. func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
  34602. s.PaymentOption = &v
  34603. return s
  34604. }
  34605. // SetStart sets the Start field's value.
  34606. func (s *HostReservation) SetStart(v time.Time) *HostReservation {
  34607. s.Start = &v
  34608. return s
  34609. }
  34610. // SetState sets the State field's value.
  34611. func (s *HostReservation) SetState(v string) *HostReservation {
  34612. s.State = &v
  34613. return s
  34614. }
  34615. // SetUpfrontPrice sets the UpfrontPrice field's value.
  34616. func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
  34617. s.UpfrontPrice = &v
  34618. return s
  34619. }
  34620. // Describes an IAM instance profile.
  34621. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfile
  34622. type IamInstanceProfile struct {
  34623. _ struct{} `type:"structure"`
  34624. // The Amazon Resource Name (ARN) of the instance profile.
  34625. Arn *string `locationName:"arn" type:"string"`
  34626. // The ID of the instance profile.
  34627. Id *string `locationName:"id" type:"string"`
  34628. }
  34629. // String returns the string representation
  34630. func (s IamInstanceProfile) String() string {
  34631. return awsutil.Prettify(s)
  34632. }
  34633. // GoString returns the string representation
  34634. func (s IamInstanceProfile) GoString() string {
  34635. return s.String()
  34636. }
  34637. // SetArn sets the Arn field's value.
  34638. func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
  34639. s.Arn = &v
  34640. return s
  34641. }
  34642. // SetId sets the Id field's value.
  34643. func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
  34644. s.Id = &v
  34645. return s
  34646. }
  34647. // Describes an association between an IAM instance profile and an instance.
  34648. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileAssociation
  34649. type IamInstanceProfileAssociation struct {
  34650. _ struct{} `type:"structure"`
  34651. // The ID of the association.
  34652. AssociationId *string `locationName:"associationId" type:"string"`
  34653. // The IAM instance profile.
  34654. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  34655. // The ID of the instance.
  34656. InstanceId *string `locationName:"instanceId" type:"string"`
  34657. // The state of the association.
  34658. State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
  34659. // The time the IAM instance profile was associated with the instance.
  34660. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  34661. }
  34662. // String returns the string representation
  34663. func (s IamInstanceProfileAssociation) String() string {
  34664. return awsutil.Prettify(s)
  34665. }
  34666. // GoString returns the string representation
  34667. func (s IamInstanceProfileAssociation) GoString() string {
  34668. return s.String()
  34669. }
  34670. // SetAssociationId sets the AssociationId field's value.
  34671. func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
  34672. s.AssociationId = &v
  34673. return s
  34674. }
  34675. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  34676. func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
  34677. s.IamInstanceProfile = v
  34678. return s
  34679. }
  34680. // SetInstanceId sets the InstanceId field's value.
  34681. func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
  34682. s.InstanceId = &v
  34683. return s
  34684. }
  34685. // SetState sets the State field's value.
  34686. func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
  34687. s.State = &v
  34688. return s
  34689. }
  34690. // SetTimestamp sets the Timestamp field's value.
  34691. func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
  34692. s.Timestamp = &v
  34693. return s
  34694. }
  34695. // Describes an IAM instance profile.
  34696. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IamInstanceProfileSpecification
  34697. type IamInstanceProfileSpecification struct {
  34698. _ struct{} `type:"structure"`
  34699. // The Amazon Resource Name (ARN) of the instance profile.
  34700. Arn *string `locationName:"arn" type:"string"`
  34701. // The name of the instance profile.
  34702. Name *string `locationName:"name" type:"string"`
  34703. }
  34704. // String returns the string representation
  34705. func (s IamInstanceProfileSpecification) String() string {
  34706. return awsutil.Prettify(s)
  34707. }
  34708. // GoString returns the string representation
  34709. func (s IamInstanceProfileSpecification) GoString() string {
  34710. return s.String()
  34711. }
  34712. // SetArn sets the Arn field's value.
  34713. func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
  34714. s.Arn = &v
  34715. return s
  34716. }
  34717. // SetName sets the Name field's value.
  34718. func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
  34719. s.Name = &v
  34720. return s
  34721. }
  34722. // Describes the ICMP type and code.
  34723. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IcmpTypeCode
  34724. type IcmpTypeCode struct {
  34725. _ struct{} `type:"structure"`
  34726. // The ICMP code. A value of -1 means all codes for the specified ICMP type.
  34727. Code *int64 `locationName:"code" type:"integer"`
  34728. // The ICMP type. A value of -1 means all types.
  34729. Type *int64 `locationName:"type" type:"integer"`
  34730. }
  34731. // String returns the string representation
  34732. func (s IcmpTypeCode) String() string {
  34733. return awsutil.Prettify(s)
  34734. }
  34735. // GoString returns the string representation
  34736. func (s IcmpTypeCode) GoString() string {
  34737. return s.String()
  34738. }
  34739. // SetCode sets the Code field's value.
  34740. func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
  34741. s.Code = &v
  34742. return s
  34743. }
  34744. // SetType sets the Type field's value.
  34745. func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
  34746. s.Type = &v
  34747. return s
  34748. }
  34749. // Describes the ID format for a resource.
  34750. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IdFormat
  34751. type IdFormat struct {
  34752. _ struct{} `type:"structure"`
  34753. // The date in UTC at which you are permanently switched over to using longer
  34754. // IDs. If a deadline is not yet available for this resource type, this field
  34755. // is not returned.
  34756. Deadline *time.Time `locationName:"deadline" type:"timestamp" timestampFormat:"iso8601"`
  34757. // The type of resource.
  34758. Resource *string `locationName:"resource" type:"string"`
  34759. // Indicates whether longer IDs (17-character IDs) are enabled for the resource.
  34760. UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
  34761. }
  34762. // String returns the string representation
  34763. func (s IdFormat) String() string {
  34764. return awsutil.Prettify(s)
  34765. }
  34766. // GoString returns the string representation
  34767. func (s IdFormat) GoString() string {
  34768. return s.String()
  34769. }
  34770. // SetDeadline sets the Deadline field's value.
  34771. func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
  34772. s.Deadline = &v
  34773. return s
  34774. }
  34775. // SetResource sets the Resource field's value.
  34776. func (s *IdFormat) SetResource(v string) *IdFormat {
  34777. s.Resource = &v
  34778. return s
  34779. }
  34780. // SetUseLongIds sets the UseLongIds field's value.
  34781. func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
  34782. s.UseLongIds = &v
  34783. return s
  34784. }
  34785. // Describes an image.
  34786. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Image
  34787. type Image struct {
  34788. _ struct{} `type:"structure"`
  34789. // The architecture of the image.
  34790. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  34791. // Any block device mapping entries.
  34792. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  34793. // The date and time the image was created.
  34794. CreationDate *string `locationName:"creationDate" type:"string"`
  34795. // The description of the AMI that was provided during image creation.
  34796. Description *string `locationName:"description" type:"string"`
  34797. // Specifies whether enhanced networking with ENA is enabled.
  34798. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  34799. // The hypervisor type of the image.
  34800. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  34801. // The ID of the AMI.
  34802. ImageId *string `locationName:"imageId" type:"string"`
  34803. // The location of the AMI.
  34804. ImageLocation *string `locationName:"imageLocation" type:"string"`
  34805. // The AWS account alias (for example, amazon, self) or the AWS account ID of
  34806. // the AMI owner.
  34807. ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
  34808. // The type of image.
  34809. ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
  34810. // The kernel associated with the image, if any. Only applicable for machine
  34811. // images.
  34812. KernelId *string `locationName:"kernelId" type:"string"`
  34813. // The name of the AMI that was provided during image creation.
  34814. Name *string `locationName:"name" type:"string"`
  34815. // The AWS account ID of the image owner.
  34816. OwnerId *string `locationName:"imageOwnerId" type:"string"`
  34817. // The value is Windows for Windows AMIs; otherwise blank.
  34818. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  34819. // Any product codes associated with the AMI.
  34820. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  34821. // Indicates whether the image has public launch permissions. The value is true
  34822. // if this image has public launch permissions or false if it has only implicit
  34823. // and explicit launch permissions.
  34824. Public *bool `locationName:"isPublic" type:"boolean"`
  34825. // The RAM disk associated with the image, if any. Only applicable for machine
  34826. // images.
  34827. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  34828. // The device name of the root device (for example, /dev/sda1 or /dev/xvda).
  34829. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  34830. // The type of root device used by the AMI. The AMI can use an EBS volume or
  34831. // an instance store volume.
  34832. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  34833. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  34834. // interface is enabled.
  34835. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  34836. // The current state of the AMI. If the state is available, the image is successfully
  34837. // registered and can be used to launch an instance.
  34838. State *string `locationName:"imageState" type:"string" enum:"ImageState"`
  34839. // The reason for the state change.
  34840. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  34841. // Any tags assigned to the image.
  34842. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  34843. // The type of virtualization of the AMI.
  34844. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  34845. }
  34846. // String returns the string representation
  34847. func (s Image) String() string {
  34848. return awsutil.Prettify(s)
  34849. }
  34850. // GoString returns the string representation
  34851. func (s Image) GoString() string {
  34852. return s.String()
  34853. }
  34854. // SetArchitecture sets the Architecture field's value.
  34855. func (s *Image) SetArchitecture(v string) *Image {
  34856. s.Architecture = &v
  34857. return s
  34858. }
  34859. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  34860. func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
  34861. s.BlockDeviceMappings = v
  34862. return s
  34863. }
  34864. // SetCreationDate sets the CreationDate field's value.
  34865. func (s *Image) SetCreationDate(v string) *Image {
  34866. s.CreationDate = &v
  34867. return s
  34868. }
  34869. // SetDescription sets the Description field's value.
  34870. func (s *Image) SetDescription(v string) *Image {
  34871. s.Description = &v
  34872. return s
  34873. }
  34874. // SetEnaSupport sets the EnaSupport field's value.
  34875. func (s *Image) SetEnaSupport(v bool) *Image {
  34876. s.EnaSupport = &v
  34877. return s
  34878. }
  34879. // SetHypervisor sets the Hypervisor field's value.
  34880. func (s *Image) SetHypervisor(v string) *Image {
  34881. s.Hypervisor = &v
  34882. return s
  34883. }
  34884. // SetImageId sets the ImageId field's value.
  34885. func (s *Image) SetImageId(v string) *Image {
  34886. s.ImageId = &v
  34887. return s
  34888. }
  34889. // SetImageLocation sets the ImageLocation field's value.
  34890. func (s *Image) SetImageLocation(v string) *Image {
  34891. s.ImageLocation = &v
  34892. return s
  34893. }
  34894. // SetImageOwnerAlias sets the ImageOwnerAlias field's value.
  34895. func (s *Image) SetImageOwnerAlias(v string) *Image {
  34896. s.ImageOwnerAlias = &v
  34897. return s
  34898. }
  34899. // SetImageType sets the ImageType field's value.
  34900. func (s *Image) SetImageType(v string) *Image {
  34901. s.ImageType = &v
  34902. return s
  34903. }
  34904. // SetKernelId sets the KernelId field's value.
  34905. func (s *Image) SetKernelId(v string) *Image {
  34906. s.KernelId = &v
  34907. return s
  34908. }
  34909. // SetName sets the Name field's value.
  34910. func (s *Image) SetName(v string) *Image {
  34911. s.Name = &v
  34912. return s
  34913. }
  34914. // SetOwnerId sets the OwnerId field's value.
  34915. func (s *Image) SetOwnerId(v string) *Image {
  34916. s.OwnerId = &v
  34917. return s
  34918. }
  34919. // SetPlatform sets the Platform field's value.
  34920. func (s *Image) SetPlatform(v string) *Image {
  34921. s.Platform = &v
  34922. return s
  34923. }
  34924. // SetProductCodes sets the ProductCodes field's value.
  34925. func (s *Image) SetProductCodes(v []*ProductCode) *Image {
  34926. s.ProductCodes = v
  34927. return s
  34928. }
  34929. // SetPublic sets the Public field's value.
  34930. func (s *Image) SetPublic(v bool) *Image {
  34931. s.Public = &v
  34932. return s
  34933. }
  34934. // SetRamdiskId sets the RamdiskId field's value.
  34935. func (s *Image) SetRamdiskId(v string) *Image {
  34936. s.RamdiskId = &v
  34937. return s
  34938. }
  34939. // SetRootDeviceName sets the RootDeviceName field's value.
  34940. func (s *Image) SetRootDeviceName(v string) *Image {
  34941. s.RootDeviceName = &v
  34942. return s
  34943. }
  34944. // SetRootDeviceType sets the RootDeviceType field's value.
  34945. func (s *Image) SetRootDeviceType(v string) *Image {
  34946. s.RootDeviceType = &v
  34947. return s
  34948. }
  34949. // SetSriovNetSupport sets the SriovNetSupport field's value.
  34950. func (s *Image) SetSriovNetSupport(v string) *Image {
  34951. s.SriovNetSupport = &v
  34952. return s
  34953. }
  34954. // SetState sets the State field's value.
  34955. func (s *Image) SetState(v string) *Image {
  34956. s.State = &v
  34957. return s
  34958. }
  34959. // SetStateReason sets the StateReason field's value.
  34960. func (s *Image) SetStateReason(v *StateReason) *Image {
  34961. s.StateReason = v
  34962. return s
  34963. }
  34964. // SetTags sets the Tags field's value.
  34965. func (s *Image) SetTags(v []*Tag) *Image {
  34966. s.Tags = v
  34967. return s
  34968. }
  34969. // SetVirtualizationType sets the VirtualizationType field's value.
  34970. func (s *Image) SetVirtualizationType(v string) *Image {
  34971. s.VirtualizationType = &v
  34972. return s
  34973. }
  34974. // Describes the disk container object for an import image task.
  34975. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImageDiskContainer
  34976. type ImageDiskContainer struct {
  34977. _ struct{} `type:"structure"`
  34978. // The description of the disk image.
  34979. Description *string `type:"string"`
  34980. // The block device mapping for the disk.
  34981. DeviceName *string `type:"string"`
  34982. // The format of the disk image being imported.
  34983. //
  34984. // Valid values: RAW | VHD | VMDK | OVA
  34985. Format *string `type:"string"`
  34986. // The ID of the EBS snapshot to be used for importing the snapshot.
  34987. SnapshotId *string `type:"string"`
  34988. // The URL to the Amazon S3-based disk image being imported. The URL can either
  34989. // be a https URL (https://..) or an Amazon S3 URL (s3://..)
  34990. Url *string `type:"string"`
  34991. // The S3 bucket for the disk image.
  34992. UserBucket *UserBucket `type:"structure"`
  34993. }
  34994. // String returns the string representation
  34995. func (s ImageDiskContainer) String() string {
  34996. return awsutil.Prettify(s)
  34997. }
  34998. // GoString returns the string representation
  34999. func (s ImageDiskContainer) GoString() string {
  35000. return s.String()
  35001. }
  35002. // SetDescription sets the Description field's value.
  35003. func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
  35004. s.Description = &v
  35005. return s
  35006. }
  35007. // SetDeviceName sets the DeviceName field's value.
  35008. func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
  35009. s.DeviceName = &v
  35010. return s
  35011. }
  35012. // SetFormat sets the Format field's value.
  35013. func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
  35014. s.Format = &v
  35015. return s
  35016. }
  35017. // SetSnapshotId sets the SnapshotId field's value.
  35018. func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
  35019. s.SnapshotId = &v
  35020. return s
  35021. }
  35022. // SetUrl sets the Url field's value.
  35023. func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
  35024. s.Url = &v
  35025. return s
  35026. }
  35027. // SetUserBucket sets the UserBucket field's value.
  35028. func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
  35029. s.UserBucket = v
  35030. return s
  35031. }
  35032. // Contains the parameters for ImportImage.
  35033. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageRequest
  35034. type ImportImageInput struct {
  35035. _ struct{} `type:"structure"`
  35036. // The architecture of the virtual machine.
  35037. //
  35038. // Valid values: i386 | x86_64
  35039. Architecture *string `type:"string"`
  35040. // The client-specific data.
  35041. ClientData *ClientData `type:"structure"`
  35042. // The token to enable idempotency for VM import requests.
  35043. ClientToken *string `type:"string"`
  35044. // A description string for the import image task.
  35045. Description *string `type:"string"`
  35046. // Information about the disk containers.
  35047. DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
  35048. // Checks whether you have the required permissions for the action, without
  35049. // actually making the request, and provides an error response. If you have
  35050. // the required permissions, the error response is DryRunOperation. Otherwise,
  35051. // it is UnauthorizedOperation.
  35052. DryRun *bool `type:"boolean"`
  35053. // The target hypervisor platform.
  35054. //
  35055. // Valid values: xen
  35056. Hypervisor *string `type:"string"`
  35057. // The license type to be used for the Amazon Machine Image (AMI) after importing.
  35058. //
  35059. // Note: You may only use BYOL if you have existing licenses with rights to
  35060. // use these licenses in a third party cloud like AWS. For more information,
  35061. // see Prerequisites (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
  35062. // in the VM Import/Export User Guide.
  35063. //
  35064. // Valid values: AWS | BYOL
  35065. LicenseType *string `type:"string"`
  35066. // The operating system of the virtual machine.
  35067. //
  35068. // Valid values: Windows | Linux
  35069. Platform *string `type:"string"`
  35070. // The name of the role to use when not using the default role, 'vmimport'.
  35071. RoleName *string `type:"string"`
  35072. }
  35073. // String returns the string representation
  35074. func (s ImportImageInput) String() string {
  35075. return awsutil.Prettify(s)
  35076. }
  35077. // GoString returns the string representation
  35078. func (s ImportImageInput) GoString() string {
  35079. return s.String()
  35080. }
  35081. // SetArchitecture sets the Architecture field's value.
  35082. func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
  35083. s.Architecture = &v
  35084. return s
  35085. }
  35086. // SetClientData sets the ClientData field's value.
  35087. func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
  35088. s.ClientData = v
  35089. return s
  35090. }
  35091. // SetClientToken sets the ClientToken field's value.
  35092. func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
  35093. s.ClientToken = &v
  35094. return s
  35095. }
  35096. // SetDescription sets the Description field's value.
  35097. func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
  35098. s.Description = &v
  35099. return s
  35100. }
  35101. // SetDiskContainers sets the DiskContainers field's value.
  35102. func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
  35103. s.DiskContainers = v
  35104. return s
  35105. }
  35106. // SetDryRun sets the DryRun field's value.
  35107. func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
  35108. s.DryRun = &v
  35109. return s
  35110. }
  35111. // SetHypervisor sets the Hypervisor field's value.
  35112. func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
  35113. s.Hypervisor = &v
  35114. return s
  35115. }
  35116. // SetLicenseType sets the LicenseType field's value.
  35117. func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
  35118. s.LicenseType = &v
  35119. return s
  35120. }
  35121. // SetPlatform sets the Platform field's value.
  35122. func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
  35123. s.Platform = &v
  35124. return s
  35125. }
  35126. // SetRoleName sets the RoleName field's value.
  35127. func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
  35128. s.RoleName = &v
  35129. return s
  35130. }
  35131. // Contains the output for ImportImage.
  35132. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageResult
  35133. type ImportImageOutput struct {
  35134. _ struct{} `type:"structure"`
  35135. // The architecture of the virtual machine.
  35136. Architecture *string `locationName:"architecture" type:"string"`
  35137. // A description of the import task.
  35138. Description *string `locationName:"description" type:"string"`
  35139. // The target hypervisor of the import task.
  35140. Hypervisor *string `locationName:"hypervisor" type:"string"`
  35141. // The ID of the Amazon Machine Image (AMI) created by the import task.
  35142. ImageId *string `locationName:"imageId" type:"string"`
  35143. // The task ID of the import image task.
  35144. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35145. // The license type of the virtual machine.
  35146. LicenseType *string `locationName:"licenseType" type:"string"`
  35147. // The operating system of the virtual machine.
  35148. Platform *string `locationName:"platform" type:"string"`
  35149. // The progress of the task.
  35150. Progress *string `locationName:"progress" type:"string"`
  35151. // Information about the snapshots.
  35152. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  35153. // A brief status of the task.
  35154. Status *string `locationName:"status" type:"string"`
  35155. // A detailed status message of the import task.
  35156. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35157. }
  35158. // String returns the string representation
  35159. func (s ImportImageOutput) String() string {
  35160. return awsutil.Prettify(s)
  35161. }
  35162. // GoString returns the string representation
  35163. func (s ImportImageOutput) GoString() string {
  35164. return s.String()
  35165. }
  35166. // SetArchitecture sets the Architecture field's value.
  35167. func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
  35168. s.Architecture = &v
  35169. return s
  35170. }
  35171. // SetDescription sets the Description field's value.
  35172. func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
  35173. s.Description = &v
  35174. return s
  35175. }
  35176. // SetHypervisor sets the Hypervisor field's value.
  35177. func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
  35178. s.Hypervisor = &v
  35179. return s
  35180. }
  35181. // SetImageId sets the ImageId field's value.
  35182. func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
  35183. s.ImageId = &v
  35184. return s
  35185. }
  35186. // SetImportTaskId sets the ImportTaskId field's value.
  35187. func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
  35188. s.ImportTaskId = &v
  35189. return s
  35190. }
  35191. // SetLicenseType sets the LicenseType field's value.
  35192. func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
  35193. s.LicenseType = &v
  35194. return s
  35195. }
  35196. // SetPlatform sets the Platform field's value.
  35197. func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
  35198. s.Platform = &v
  35199. return s
  35200. }
  35201. // SetProgress sets the Progress field's value.
  35202. func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
  35203. s.Progress = &v
  35204. return s
  35205. }
  35206. // SetSnapshotDetails sets the SnapshotDetails field's value.
  35207. func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
  35208. s.SnapshotDetails = v
  35209. return s
  35210. }
  35211. // SetStatus sets the Status field's value.
  35212. func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
  35213. s.Status = &v
  35214. return s
  35215. }
  35216. // SetStatusMessage sets the StatusMessage field's value.
  35217. func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
  35218. s.StatusMessage = &v
  35219. return s
  35220. }
  35221. // Describes an import image task.
  35222. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImageTask
  35223. type ImportImageTask struct {
  35224. _ struct{} `type:"structure"`
  35225. // The architecture of the virtual machine.
  35226. //
  35227. // Valid values: i386 | x86_64
  35228. Architecture *string `locationName:"architecture" type:"string"`
  35229. // A description of the import task.
  35230. Description *string `locationName:"description" type:"string"`
  35231. // The target hypervisor for the import task.
  35232. //
  35233. // Valid values: xen
  35234. Hypervisor *string `locationName:"hypervisor" type:"string"`
  35235. // The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
  35236. ImageId *string `locationName:"imageId" type:"string"`
  35237. // The ID of the import image task.
  35238. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35239. // The license type of the virtual machine.
  35240. LicenseType *string `locationName:"licenseType" type:"string"`
  35241. // The description string for the import image task.
  35242. Platform *string `locationName:"platform" type:"string"`
  35243. // The percentage of progress of the import image task.
  35244. Progress *string `locationName:"progress" type:"string"`
  35245. // Information about the snapshots.
  35246. SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
  35247. // A brief status for the import image task.
  35248. Status *string `locationName:"status" type:"string"`
  35249. // A descriptive status message for the import image task.
  35250. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35251. }
  35252. // String returns the string representation
  35253. func (s ImportImageTask) String() string {
  35254. return awsutil.Prettify(s)
  35255. }
  35256. // GoString returns the string representation
  35257. func (s ImportImageTask) GoString() string {
  35258. return s.String()
  35259. }
  35260. // SetArchitecture sets the Architecture field's value.
  35261. func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
  35262. s.Architecture = &v
  35263. return s
  35264. }
  35265. // SetDescription sets the Description field's value.
  35266. func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
  35267. s.Description = &v
  35268. return s
  35269. }
  35270. // SetHypervisor sets the Hypervisor field's value.
  35271. func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
  35272. s.Hypervisor = &v
  35273. return s
  35274. }
  35275. // SetImageId sets the ImageId field's value.
  35276. func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
  35277. s.ImageId = &v
  35278. return s
  35279. }
  35280. // SetImportTaskId sets the ImportTaskId field's value.
  35281. func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
  35282. s.ImportTaskId = &v
  35283. return s
  35284. }
  35285. // SetLicenseType sets the LicenseType field's value.
  35286. func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
  35287. s.LicenseType = &v
  35288. return s
  35289. }
  35290. // SetPlatform sets the Platform field's value.
  35291. func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
  35292. s.Platform = &v
  35293. return s
  35294. }
  35295. // SetProgress sets the Progress field's value.
  35296. func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
  35297. s.Progress = &v
  35298. return s
  35299. }
  35300. // SetSnapshotDetails sets the SnapshotDetails field's value.
  35301. func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
  35302. s.SnapshotDetails = v
  35303. return s
  35304. }
  35305. // SetStatus sets the Status field's value.
  35306. func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
  35307. s.Status = &v
  35308. return s
  35309. }
  35310. // SetStatusMessage sets the StatusMessage field's value.
  35311. func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
  35312. s.StatusMessage = &v
  35313. return s
  35314. }
  35315. // Contains the parameters for ImportInstance.
  35316. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceRequest
  35317. type ImportInstanceInput struct {
  35318. _ struct{} `type:"structure"`
  35319. // A description for the instance being imported.
  35320. Description *string `locationName:"description" type:"string"`
  35321. // The disk image.
  35322. DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
  35323. // Checks whether you have the required permissions for the action, without
  35324. // actually making the request, and provides an error response. If you have
  35325. // the required permissions, the error response is DryRunOperation. Otherwise,
  35326. // it is UnauthorizedOperation.
  35327. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35328. // The launch specification.
  35329. LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
  35330. // The instance operating system.
  35331. //
  35332. // Platform is a required field
  35333. Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
  35334. }
  35335. // String returns the string representation
  35336. func (s ImportInstanceInput) String() string {
  35337. return awsutil.Prettify(s)
  35338. }
  35339. // GoString returns the string representation
  35340. func (s ImportInstanceInput) GoString() string {
  35341. return s.String()
  35342. }
  35343. // Validate inspects the fields of the type to determine if they are valid.
  35344. func (s *ImportInstanceInput) Validate() error {
  35345. invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
  35346. if s.Platform == nil {
  35347. invalidParams.Add(request.NewErrParamRequired("Platform"))
  35348. }
  35349. if s.DiskImages != nil {
  35350. for i, v := range s.DiskImages {
  35351. if v == nil {
  35352. continue
  35353. }
  35354. if err := v.Validate(); err != nil {
  35355. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
  35356. }
  35357. }
  35358. }
  35359. if invalidParams.Len() > 0 {
  35360. return invalidParams
  35361. }
  35362. return nil
  35363. }
  35364. // SetDescription sets the Description field's value.
  35365. func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
  35366. s.Description = &v
  35367. return s
  35368. }
  35369. // SetDiskImages sets the DiskImages field's value.
  35370. func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
  35371. s.DiskImages = v
  35372. return s
  35373. }
  35374. // SetDryRun sets the DryRun field's value.
  35375. func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
  35376. s.DryRun = &v
  35377. return s
  35378. }
  35379. // SetLaunchSpecification sets the LaunchSpecification field's value.
  35380. func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
  35381. s.LaunchSpecification = v
  35382. return s
  35383. }
  35384. // SetPlatform sets the Platform field's value.
  35385. func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
  35386. s.Platform = &v
  35387. return s
  35388. }
  35389. // Describes the launch specification for VM import.
  35390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceLaunchSpecification
  35391. type ImportInstanceLaunchSpecification struct {
  35392. _ struct{} `type:"structure"`
  35393. // Reserved.
  35394. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  35395. // The architecture of the instance.
  35396. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  35397. // One or more security group IDs.
  35398. GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
  35399. // One or more security group names.
  35400. GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
  35401. // Indicates whether an instance stops or terminates when you initiate shutdown
  35402. // from the instance (using the operating system command for system shutdown).
  35403. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  35404. // The instance type. For more information about the instance types that you
  35405. // can import, see Instance Types (http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#vmimport-instance-types)
  35406. // in the VM Import/Export User Guide.
  35407. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  35408. // Indicates whether monitoring is enabled.
  35409. Monitoring *bool `locationName:"monitoring" type:"boolean"`
  35410. // The placement information for the instance.
  35411. Placement *Placement `locationName:"placement" type:"structure"`
  35412. // [EC2-VPC] An available IP address from the IP address range of the subnet.
  35413. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  35414. // [EC2-VPC] The ID of the subnet in which to launch the instance.
  35415. SubnetId *string `locationName:"subnetId" type:"string"`
  35416. // The user data to make available to the instance. If you are using an AWS
  35417. // SDK or command line tool, Base64-encoding is performed for you, and you can
  35418. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  35419. UserData *UserData `locationName:"userData" type:"structure"`
  35420. }
  35421. // String returns the string representation
  35422. func (s ImportInstanceLaunchSpecification) String() string {
  35423. return awsutil.Prettify(s)
  35424. }
  35425. // GoString returns the string representation
  35426. func (s ImportInstanceLaunchSpecification) GoString() string {
  35427. return s.String()
  35428. }
  35429. // SetAdditionalInfo sets the AdditionalInfo field's value.
  35430. func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
  35431. s.AdditionalInfo = &v
  35432. return s
  35433. }
  35434. // SetArchitecture sets the Architecture field's value.
  35435. func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
  35436. s.Architecture = &v
  35437. return s
  35438. }
  35439. // SetGroupIds sets the GroupIds field's value.
  35440. func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
  35441. s.GroupIds = v
  35442. return s
  35443. }
  35444. // SetGroupNames sets the GroupNames field's value.
  35445. func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
  35446. s.GroupNames = v
  35447. return s
  35448. }
  35449. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  35450. func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
  35451. s.InstanceInitiatedShutdownBehavior = &v
  35452. return s
  35453. }
  35454. // SetInstanceType sets the InstanceType field's value.
  35455. func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
  35456. s.InstanceType = &v
  35457. return s
  35458. }
  35459. // SetMonitoring sets the Monitoring field's value.
  35460. func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
  35461. s.Monitoring = &v
  35462. return s
  35463. }
  35464. // SetPlacement sets the Placement field's value.
  35465. func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
  35466. s.Placement = v
  35467. return s
  35468. }
  35469. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  35470. func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
  35471. s.PrivateIpAddress = &v
  35472. return s
  35473. }
  35474. // SetSubnetId sets the SubnetId field's value.
  35475. func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
  35476. s.SubnetId = &v
  35477. return s
  35478. }
  35479. // SetUserData sets the UserData field's value.
  35480. func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
  35481. s.UserData = v
  35482. return s
  35483. }
  35484. // Contains the output for ImportInstance.
  35485. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceResult
  35486. type ImportInstanceOutput struct {
  35487. _ struct{} `type:"structure"`
  35488. // Information about the conversion task.
  35489. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  35490. }
  35491. // String returns the string representation
  35492. func (s ImportInstanceOutput) String() string {
  35493. return awsutil.Prettify(s)
  35494. }
  35495. // GoString returns the string representation
  35496. func (s ImportInstanceOutput) GoString() string {
  35497. return s.String()
  35498. }
  35499. // SetConversionTask sets the ConversionTask field's value.
  35500. func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
  35501. s.ConversionTask = v
  35502. return s
  35503. }
  35504. // Describes an import instance task.
  35505. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceTaskDetails
  35506. type ImportInstanceTaskDetails struct {
  35507. _ struct{} `type:"structure"`
  35508. // A description of the task.
  35509. Description *string `locationName:"description" type:"string"`
  35510. // The ID of the instance.
  35511. InstanceId *string `locationName:"instanceId" type:"string"`
  35512. // The instance operating system.
  35513. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  35514. // One or more volumes.
  35515. //
  35516. // Volumes is a required field
  35517. Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list" required:"true"`
  35518. }
  35519. // String returns the string representation
  35520. func (s ImportInstanceTaskDetails) String() string {
  35521. return awsutil.Prettify(s)
  35522. }
  35523. // GoString returns the string representation
  35524. func (s ImportInstanceTaskDetails) GoString() string {
  35525. return s.String()
  35526. }
  35527. // SetDescription sets the Description field's value.
  35528. func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
  35529. s.Description = &v
  35530. return s
  35531. }
  35532. // SetInstanceId sets the InstanceId field's value.
  35533. func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
  35534. s.InstanceId = &v
  35535. return s
  35536. }
  35537. // SetPlatform sets the Platform field's value.
  35538. func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
  35539. s.Platform = &v
  35540. return s
  35541. }
  35542. // SetVolumes sets the Volumes field's value.
  35543. func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
  35544. s.Volumes = v
  35545. return s
  35546. }
  35547. // Describes an import volume task.
  35548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstanceVolumeDetailItem
  35549. type ImportInstanceVolumeDetailItem struct {
  35550. _ struct{} `type:"structure"`
  35551. // The Availability Zone where the resulting instance will reside.
  35552. //
  35553. // AvailabilityZone is a required field
  35554. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  35555. // The number of bytes converted so far.
  35556. //
  35557. // BytesConverted is a required field
  35558. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  35559. // A description of the task.
  35560. Description *string `locationName:"description" type:"string"`
  35561. // The image.
  35562. //
  35563. // Image is a required field
  35564. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  35565. // The status of the import of this particular disk image.
  35566. //
  35567. // Status is a required field
  35568. Status *string `locationName:"status" type:"string" required:"true"`
  35569. // The status information or errors related to the disk image.
  35570. StatusMessage *string `locationName:"statusMessage" type:"string"`
  35571. // The volume.
  35572. //
  35573. // Volume is a required field
  35574. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  35575. }
  35576. // String returns the string representation
  35577. func (s ImportInstanceVolumeDetailItem) String() string {
  35578. return awsutil.Prettify(s)
  35579. }
  35580. // GoString returns the string representation
  35581. func (s ImportInstanceVolumeDetailItem) GoString() string {
  35582. return s.String()
  35583. }
  35584. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35585. func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
  35586. s.AvailabilityZone = &v
  35587. return s
  35588. }
  35589. // SetBytesConverted sets the BytesConverted field's value.
  35590. func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
  35591. s.BytesConverted = &v
  35592. return s
  35593. }
  35594. // SetDescription sets the Description field's value.
  35595. func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
  35596. s.Description = &v
  35597. return s
  35598. }
  35599. // SetImage sets the Image field's value.
  35600. func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
  35601. s.Image = v
  35602. return s
  35603. }
  35604. // SetStatus sets the Status field's value.
  35605. func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
  35606. s.Status = &v
  35607. return s
  35608. }
  35609. // SetStatusMessage sets the StatusMessage field's value.
  35610. func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
  35611. s.StatusMessage = &v
  35612. return s
  35613. }
  35614. // SetVolume sets the Volume field's value.
  35615. func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
  35616. s.Volume = v
  35617. return s
  35618. }
  35619. // Contains the parameters for ImportKeyPair.
  35620. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairRequest
  35621. type ImportKeyPairInput struct {
  35622. _ struct{} `type:"structure"`
  35623. // Checks whether you have the required permissions for the action, without
  35624. // actually making the request, and provides an error response. If you have
  35625. // the required permissions, the error response is DryRunOperation. Otherwise,
  35626. // it is UnauthorizedOperation.
  35627. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35628. // A unique name for the key pair.
  35629. //
  35630. // KeyName is a required field
  35631. KeyName *string `locationName:"keyName" type:"string" required:"true"`
  35632. // The public key. For API calls, the text must be base64-encoded. For command
  35633. // line tools, base64 encoding is performed for you.
  35634. //
  35635. // PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
  35636. //
  35637. // PublicKeyMaterial is a required field
  35638. PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
  35639. }
  35640. // String returns the string representation
  35641. func (s ImportKeyPairInput) String() string {
  35642. return awsutil.Prettify(s)
  35643. }
  35644. // GoString returns the string representation
  35645. func (s ImportKeyPairInput) GoString() string {
  35646. return s.String()
  35647. }
  35648. // Validate inspects the fields of the type to determine if they are valid.
  35649. func (s *ImportKeyPairInput) Validate() error {
  35650. invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
  35651. if s.KeyName == nil {
  35652. invalidParams.Add(request.NewErrParamRequired("KeyName"))
  35653. }
  35654. if s.PublicKeyMaterial == nil {
  35655. invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
  35656. }
  35657. if invalidParams.Len() > 0 {
  35658. return invalidParams
  35659. }
  35660. return nil
  35661. }
  35662. // SetDryRun sets the DryRun field's value.
  35663. func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
  35664. s.DryRun = &v
  35665. return s
  35666. }
  35667. // SetKeyName sets the KeyName field's value.
  35668. func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
  35669. s.KeyName = &v
  35670. return s
  35671. }
  35672. // SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
  35673. func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
  35674. s.PublicKeyMaterial = v
  35675. return s
  35676. }
  35677. // Contains the output of ImportKeyPair.
  35678. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPairResult
  35679. type ImportKeyPairOutput struct {
  35680. _ struct{} `type:"structure"`
  35681. // The MD5 public key fingerprint as specified in section 4 of RFC 4716.
  35682. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  35683. // The key pair name you provided.
  35684. KeyName *string `locationName:"keyName" type:"string"`
  35685. }
  35686. // String returns the string representation
  35687. func (s ImportKeyPairOutput) String() string {
  35688. return awsutil.Prettify(s)
  35689. }
  35690. // GoString returns the string representation
  35691. func (s ImportKeyPairOutput) GoString() string {
  35692. return s.String()
  35693. }
  35694. // SetKeyFingerprint sets the KeyFingerprint field's value.
  35695. func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
  35696. s.KeyFingerprint = &v
  35697. return s
  35698. }
  35699. // SetKeyName sets the KeyName field's value.
  35700. func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
  35701. s.KeyName = &v
  35702. return s
  35703. }
  35704. // Contains the parameters for ImportSnapshot.
  35705. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotRequest
  35706. type ImportSnapshotInput struct {
  35707. _ struct{} `type:"structure"`
  35708. // The client-specific data.
  35709. ClientData *ClientData `type:"structure"`
  35710. // Token to enable idempotency for VM import requests.
  35711. ClientToken *string `type:"string"`
  35712. // The description string for the import snapshot task.
  35713. Description *string `type:"string"`
  35714. // Information about the disk container.
  35715. DiskContainer *SnapshotDiskContainer `type:"structure"`
  35716. // Checks whether you have the required permissions for the action, without
  35717. // actually making the request, and provides an error response. If you have
  35718. // the required permissions, the error response is DryRunOperation. Otherwise,
  35719. // it is UnauthorizedOperation.
  35720. DryRun *bool `type:"boolean"`
  35721. // The name of the role to use when not using the default role, 'vmimport'.
  35722. RoleName *string `type:"string"`
  35723. }
  35724. // String returns the string representation
  35725. func (s ImportSnapshotInput) String() string {
  35726. return awsutil.Prettify(s)
  35727. }
  35728. // GoString returns the string representation
  35729. func (s ImportSnapshotInput) GoString() string {
  35730. return s.String()
  35731. }
  35732. // SetClientData sets the ClientData field's value.
  35733. func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
  35734. s.ClientData = v
  35735. return s
  35736. }
  35737. // SetClientToken sets the ClientToken field's value.
  35738. func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
  35739. s.ClientToken = &v
  35740. return s
  35741. }
  35742. // SetDescription sets the Description field's value.
  35743. func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
  35744. s.Description = &v
  35745. return s
  35746. }
  35747. // SetDiskContainer sets the DiskContainer field's value.
  35748. func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
  35749. s.DiskContainer = v
  35750. return s
  35751. }
  35752. // SetDryRun sets the DryRun field's value.
  35753. func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
  35754. s.DryRun = &v
  35755. return s
  35756. }
  35757. // SetRoleName sets the RoleName field's value.
  35758. func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
  35759. s.RoleName = &v
  35760. return s
  35761. }
  35762. // Contains the output for ImportSnapshot.
  35763. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotResult
  35764. type ImportSnapshotOutput struct {
  35765. _ struct{} `type:"structure"`
  35766. // A description of the import snapshot task.
  35767. Description *string `locationName:"description" type:"string"`
  35768. // The ID of the import snapshot task.
  35769. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35770. // Information about the import snapshot task.
  35771. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  35772. }
  35773. // String returns the string representation
  35774. func (s ImportSnapshotOutput) String() string {
  35775. return awsutil.Prettify(s)
  35776. }
  35777. // GoString returns the string representation
  35778. func (s ImportSnapshotOutput) GoString() string {
  35779. return s.String()
  35780. }
  35781. // SetDescription sets the Description field's value.
  35782. func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
  35783. s.Description = &v
  35784. return s
  35785. }
  35786. // SetImportTaskId sets the ImportTaskId field's value.
  35787. func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
  35788. s.ImportTaskId = &v
  35789. return s
  35790. }
  35791. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  35792. func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
  35793. s.SnapshotTaskDetail = v
  35794. return s
  35795. }
  35796. // Describes an import snapshot task.
  35797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshotTask
  35798. type ImportSnapshotTask struct {
  35799. _ struct{} `type:"structure"`
  35800. // A description of the import snapshot task.
  35801. Description *string `locationName:"description" type:"string"`
  35802. // The ID of the import snapshot task.
  35803. ImportTaskId *string `locationName:"importTaskId" type:"string"`
  35804. // Describes an import snapshot task.
  35805. SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
  35806. }
  35807. // String returns the string representation
  35808. func (s ImportSnapshotTask) String() string {
  35809. return awsutil.Prettify(s)
  35810. }
  35811. // GoString returns the string representation
  35812. func (s ImportSnapshotTask) GoString() string {
  35813. return s.String()
  35814. }
  35815. // SetDescription sets the Description field's value.
  35816. func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
  35817. s.Description = &v
  35818. return s
  35819. }
  35820. // SetImportTaskId sets the ImportTaskId field's value.
  35821. func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
  35822. s.ImportTaskId = &v
  35823. return s
  35824. }
  35825. // SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
  35826. func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
  35827. s.SnapshotTaskDetail = v
  35828. return s
  35829. }
  35830. // Contains the parameters for ImportVolume.
  35831. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeRequest
  35832. type ImportVolumeInput struct {
  35833. _ struct{} `type:"structure"`
  35834. // The Availability Zone for the resulting EBS volume.
  35835. //
  35836. // AvailabilityZone is a required field
  35837. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  35838. // A description of the volume.
  35839. Description *string `locationName:"description" type:"string"`
  35840. // Checks whether you have the required permissions for the action, without
  35841. // actually making the request, and provides an error response. If you have
  35842. // the required permissions, the error response is DryRunOperation. Otherwise,
  35843. // it is UnauthorizedOperation.
  35844. DryRun *bool `locationName:"dryRun" type:"boolean"`
  35845. // The disk image.
  35846. //
  35847. // Image is a required field
  35848. Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
  35849. // The volume size.
  35850. //
  35851. // Volume is a required field
  35852. Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
  35853. }
  35854. // String returns the string representation
  35855. func (s ImportVolumeInput) String() string {
  35856. return awsutil.Prettify(s)
  35857. }
  35858. // GoString returns the string representation
  35859. func (s ImportVolumeInput) GoString() string {
  35860. return s.String()
  35861. }
  35862. // Validate inspects the fields of the type to determine if they are valid.
  35863. func (s *ImportVolumeInput) Validate() error {
  35864. invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
  35865. if s.AvailabilityZone == nil {
  35866. invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
  35867. }
  35868. if s.Image == nil {
  35869. invalidParams.Add(request.NewErrParamRequired("Image"))
  35870. }
  35871. if s.Volume == nil {
  35872. invalidParams.Add(request.NewErrParamRequired("Volume"))
  35873. }
  35874. if s.Image != nil {
  35875. if err := s.Image.Validate(); err != nil {
  35876. invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
  35877. }
  35878. }
  35879. if s.Volume != nil {
  35880. if err := s.Volume.Validate(); err != nil {
  35881. invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
  35882. }
  35883. }
  35884. if invalidParams.Len() > 0 {
  35885. return invalidParams
  35886. }
  35887. return nil
  35888. }
  35889. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35890. func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
  35891. s.AvailabilityZone = &v
  35892. return s
  35893. }
  35894. // SetDescription sets the Description field's value.
  35895. func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
  35896. s.Description = &v
  35897. return s
  35898. }
  35899. // SetDryRun sets the DryRun field's value.
  35900. func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
  35901. s.DryRun = &v
  35902. return s
  35903. }
  35904. // SetImage sets the Image field's value.
  35905. func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
  35906. s.Image = v
  35907. return s
  35908. }
  35909. // SetVolume sets the Volume field's value.
  35910. func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
  35911. s.Volume = v
  35912. return s
  35913. }
  35914. // Contains the output for ImportVolume.
  35915. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeResult
  35916. type ImportVolumeOutput struct {
  35917. _ struct{} `type:"structure"`
  35918. // Information about the conversion task.
  35919. ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
  35920. }
  35921. // String returns the string representation
  35922. func (s ImportVolumeOutput) String() string {
  35923. return awsutil.Prettify(s)
  35924. }
  35925. // GoString returns the string representation
  35926. func (s ImportVolumeOutput) GoString() string {
  35927. return s.String()
  35928. }
  35929. // SetConversionTask sets the ConversionTask field's value.
  35930. func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
  35931. s.ConversionTask = v
  35932. return s
  35933. }
  35934. // Describes an import volume task.
  35935. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolumeTaskDetails
  35936. type ImportVolumeTaskDetails struct {
  35937. _ struct{} `type:"structure"`
  35938. // The Availability Zone where the resulting volume will reside.
  35939. //
  35940. // AvailabilityZone is a required field
  35941. AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
  35942. // The number of bytes converted so far.
  35943. //
  35944. // BytesConverted is a required field
  35945. BytesConverted *int64 `locationName:"bytesConverted" type:"long" required:"true"`
  35946. // The description you provided when starting the import volume task.
  35947. Description *string `locationName:"description" type:"string"`
  35948. // The image.
  35949. //
  35950. // Image is a required field
  35951. Image *DiskImageDescription `locationName:"image" type:"structure" required:"true"`
  35952. // The volume.
  35953. //
  35954. // Volume is a required field
  35955. Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure" required:"true"`
  35956. }
  35957. // String returns the string representation
  35958. func (s ImportVolumeTaskDetails) String() string {
  35959. return awsutil.Prettify(s)
  35960. }
  35961. // GoString returns the string representation
  35962. func (s ImportVolumeTaskDetails) GoString() string {
  35963. return s.String()
  35964. }
  35965. // SetAvailabilityZone sets the AvailabilityZone field's value.
  35966. func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
  35967. s.AvailabilityZone = &v
  35968. return s
  35969. }
  35970. // SetBytesConverted sets the BytesConverted field's value.
  35971. func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
  35972. s.BytesConverted = &v
  35973. return s
  35974. }
  35975. // SetDescription sets the Description field's value.
  35976. func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
  35977. s.Description = &v
  35978. return s
  35979. }
  35980. // SetImage sets the Image field's value.
  35981. func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
  35982. s.Image = v
  35983. return s
  35984. }
  35985. // SetVolume sets the Volume field's value.
  35986. func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
  35987. s.Volume = v
  35988. return s
  35989. }
  35990. // Describes an instance.
  35991. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Instance
  35992. type Instance struct {
  35993. _ struct{} `type:"structure"`
  35994. // The AMI launch index, which can be used to find this instance in the launch
  35995. // group.
  35996. AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
  35997. // The architecture of the image.
  35998. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  35999. // Any block device mapping entries for the instance.
  36000. BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  36001. // The idempotency token you provided when you launched the instance, if applicable.
  36002. ClientToken *string `locationName:"clientToken" type:"string"`
  36003. // Indicates whether the instance is optimized for EBS I/O. This optimization
  36004. // provides dedicated throughput to Amazon EBS and an optimized configuration
  36005. // stack to provide optimal I/O performance. This optimization isn't available
  36006. // with all instance types. Additional usage charges apply when using an EBS
  36007. // Optimized instance.
  36008. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  36009. // Specifies whether enhanced networking with ENA is enabled.
  36010. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  36011. // The hypervisor type of the instance.
  36012. Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
  36013. // The IAM instance profile associated with the instance, if applicable.
  36014. IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
  36015. // The ID of the AMI used to launch the instance.
  36016. ImageId *string `locationName:"imageId" type:"string"`
  36017. // The ID of the instance.
  36018. InstanceId *string `locationName:"instanceId" type:"string"`
  36019. // Indicates whether this is a Spot instance or a Scheduled Instance.
  36020. InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
  36021. // The instance type.
  36022. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  36023. // The kernel associated with this instance, if applicable.
  36024. KernelId *string `locationName:"kernelId" type:"string"`
  36025. // The name of the key pair, if this instance was launched with an associated
  36026. // key pair.
  36027. KeyName *string `locationName:"keyName" type:"string"`
  36028. // The time the instance was launched.
  36029. LaunchTime *time.Time `locationName:"launchTime" type:"timestamp" timestampFormat:"iso8601"`
  36030. // The monitoring for the instance.
  36031. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  36032. // [EC2-VPC] One or more network interfaces for the instance.
  36033. NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  36034. // The location where the instance launched, if applicable.
  36035. Placement *Placement `locationName:"placement" type:"structure"`
  36036. // The value is Windows for Windows instances; otherwise blank.
  36037. Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
  36038. // (IPv4 only) The private DNS hostname name assigned to the instance. This
  36039. // DNS hostname can only be used inside the Amazon EC2 network. This name is
  36040. // not available until the instance enters the running state.
  36041. //
  36042. // [EC2-VPC] The Amazon-provided DNS server will resolve Amazon-provided private
  36043. // DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
  36044. // VPC. If you are not using the Amazon-provided DNS server in your VPC, your
  36045. // custom domain name servers must resolve the hostname as appropriate.
  36046. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  36047. // The private IPv4 address assigned to the instance.
  36048. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36049. // The product codes attached to this instance, if applicable.
  36050. ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
  36051. // (IPv4 only) The public DNS name assigned to the instance. This name is not
  36052. // available until the instance enters the running state. For EC2-VPC, this
  36053. // name is only available if you've enabled DNS hostnames for your VPC.
  36054. PublicDnsName *string `locationName:"dnsName" type:"string"`
  36055. // The public IPv4 address assigned to the instance, if applicable.
  36056. PublicIpAddress *string `locationName:"ipAddress" type:"string"`
  36057. // The RAM disk associated with this instance, if applicable.
  36058. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  36059. // The root device name (for example, /dev/sda1 or /dev/xvda).
  36060. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  36061. // The root device type used by the AMI. The AMI can use an EBS volume or an
  36062. // instance store volume.
  36063. RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
  36064. // One or more security groups for the instance.
  36065. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  36066. // Specifies whether to enable an instance launched in a VPC to perform NAT.
  36067. // This controls whether source/destination checking is enabled on the instance.
  36068. // A value of true means checking is enabled, and false means checking is disabled.
  36069. // The value must be false for the instance to perform NAT. For more information,
  36070. // see NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  36071. // in the Amazon Virtual Private Cloud User Guide.
  36072. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  36073. // If the request is a Spot instance request, the ID of the request.
  36074. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  36075. // Specifies whether enhanced networking with the Intel 82599 Virtual Function
  36076. // interface is enabled.
  36077. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  36078. // The current state of the instance.
  36079. State *InstanceState `locationName:"instanceState" type:"structure"`
  36080. // The reason for the most recent state transition.
  36081. StateReason *StateReason `locationName:"stateReason" type:"structure"`
  36082. // The reason for the most recent state transition. This might be an empty string.
  36083. StateTransitionReason *string `locationName:"reason" type:"string"`
  36084. // [EC2-VPC] The ID of the subnet in which the instance is running.
  36085. SubnetId *string `locationName:"subnetId" type:"string"`
  36086. // Any tags assigned to the instance.
  36087. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  36088. // The virtualization type of the instance.
  36089. VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
  36090. // [EC2-VPC] The ID of the VPC in which the instance is running.
  36091. VpcId *string `locationName:"vpcId" type:"string"`
  36092. }
  36093. // String returns the string representation
  36094. func (s Instance) String() string {
  36095. return awsutil.Prettify(s)
  36096. }
  36097. // GoString returns the string representation
  36098. func (s Instance) GoString() string {
  36099. return s.String()
  36100. }
  36101. // SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
  36102. func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
  36103. s.AmiLaunchIndex = &v
  36104. return s
  36105. }
  36106. // SetArchitecture sets the Architecture field's value.
  36107. func (s *Instance) SetArchitecture(v string) *Instance {
  36108. s.Architecture = &v
  36109. return s
  36110. }
  36111. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  36112. func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
  36113. s.BlockDeviceMappings = v
  36114. return s
  36115. }
  36116. // SetClientToken sets the ClientToken field's value.
  36117. func (s *Instance) SetClientToken(v string) *Instance {
  36118. s.ClientToken = &v
  36119. return s
  36120. }
  36121. // SetEbsOptimized sets the EbsOptimized field's value.
  36122. func (s *Instance) SetEbsOptimized(v bool) *Instance {
  36123. s.EbsOptimized = &v
  36124. return s
  36125. }
  36126. // SetEnaSupport sets the EnaSupport field's value.
  36127. func (s *Instance) SetEnaSupport(v bool) *Instance {
  36128. s.EnaSupport = &v
  36129. return s
  36130. }
  36131. // SetHypervisor sets the Hypervisor field's value.
  36132. func (s *Instance) SetHypervisor(v string) *Instance {
  36133. s.Hypervisor = &v
  36134. return s
  36135. }
  36136. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  36137. func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
  36138. s.IamInstanceProfile = v
  36139. return s
  36140. }
  36141. // SetImageId sets the ImageId field's value.
  36142. func (s *Instance) SetImageId(v string) *Instance {
  36143. s.ImageId = &v
  36144. return s
  36145. }
  36146. // SetInstanceId sets the InstanceId field's value.
  36147. func (s *Instance) SetInstanceId(v string) *Instance {
  36148. s.InstanceId = &v
  36149. return s
  36150. }
  36151. // SetInstanceLifecycle sets the InstanceLifecycle field's value.
  36152. func (s *Instance) SetInstanceLifecycle(v string) *Instance {
  36153. s.InstanceLifecycle = &v
  36154. return s
  36155. }
  36156. // SetInstanceType sets the InstanceType field's value.
  36157. func (s *Instance) SetInstanceType(v string) *Instance {
  36158. s.InstanceType = &v
  36159. return s
  36160. }
  36161. // SetKernelId sets the KernelId field's value.
  36162. func (s *Instance) SetKernelId(v string) *Instance {
  36163. s.KernelId = &v
  36164. return s
  36165. }
  36166. // SetKeyName sets the KeyName field's value.
  36167. func (s *Instance) SetKeyName(v string) *Instance {
  36168. s.KeyName = &v
  36169. return s
  36170. }
  36171. // SetLaunchTime sets the LaunchTime field's value.
  36172. func (s *Instance) SetLaunchTime(v time.Time) *Instance {
  36173. s.LaunchTime = &v
  36174. return s
  36175. }
  36176. // SetMonitoring sets the Monitoring field's value.
  36177. func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
  36178. s.Monitoring = v
  36179. return s
  36180. }
  36181. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  36182. func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
  36183. s.NetworkInterfaces = v
  36184. return s
  36185. }
  36186. // SetPlacement sets the Placement field's value.
  36187. func (s *Instance) SetPlacement(v *Placement) *Instance {
  36188. s.Placement = v
  36189. return s
  36190. }
  36191. // SetPlatform sets the Platform field's value.
  36192. func (s *Instance) SetPlatform(v string) *Instance {
  36193. s.Platform = &v
  36194. return s
  36195. }
  36196. // SetPrivateDnsName sets the PrivateDnsName field's value.
  36197. func (s *Instance) SetPrivateDnsName(v string) *Instance {
  36198. s.PrivateDnsName = &v
  36199. return s
  36200. }
  36201. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36202. func (s *Instance) SetPrivateIpAddress(v string) *Instance {
  36203. s.PrivateIpAddress = &v
  36204. return s
  36205. }
  36206. // SetProductCodes sets the ProductCodes field's value.
  36207. func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
  36208. s.ProductCodes = v
  36209. return s
  36210. }
  36211. // SetPublicDnsName sets the PublicDnsName field's value.
  36212. func (s *Instance) SetPublicDnsName(v string) *Instance {
  36213. s.PublicDnsName = &v
  36214. return s
  36215. }
  36216. // SetPublicIpAddress sets the PublicIpAddress field's value.
  36217. func (s *Instance) SetPublicIpAddress(v string) *Instance {
  36218. s.PublicIpAddress = &v
  36219. return s
  36220. }
  36221. // SetRamdiskId sets the RamdiskId field's value.
  36222. func (s *Instance) SetRamdiskId(v string) *Instance {
  36223. s.RamdiskId = &v
  36224. return s
  36225. }
  36226. // SetRootDeviceName sets the RootDeviceName field's value.
  36227. func (s *Instance) SetRootDeviceName(v string) *Instance {
  36228. s.RootDeviceName = &v
  36229. return s
  36230. }
  36231. // SetRootDeviceType sets the RootDeviceType field's value.
  36232. func (s *Instance) SetRootDeviceType(v string) *Instance {
  36233. s.RootDeviceType = &v
  36234. return s
  36235. }
  36236. // SetSecurityGroups sets the SecurityGroups field's value.
  36237. func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
  36238. s.SecurityGroups = v
  36239. return s
  36240. }
  36241. // SetSourceDestCheck sets the SourceDestCheck field's value.
  36242. func (s *Instance) SetSourceDestCheck(v bool) *Instance {
  36243. s.SourceDestCheck = &v
  36244. return s
  36245. }
  36246. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  36247. func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
  36248. s.SpotInstanceRequestId = &v
  36249. return s
  36250. }
  36251. // SetSriovNetSupport sets the SriovNetSupport field's value.
  36252. func (s *Instance) SetSriovNetSupport(v string) *Instance {
  36253. s.SriovNetSupport = &v
  36254. return s
  36255. }
  36256. // SetState sets the State field's value.
  36257. func (s *Instance) SetState(v *InstanceState) *Instance {
  36258. s.State = v
  36259. return s
  36260. }
  36261. // SetStateReason sets the StateReason field's value.
  36262. func (s *Instance) SetStateReason(v *StateReason) *Instance {
  36263. s.StateReason = v
  36264. return s
  36265. }
  36266. // SetStateTransitionReason sets the StateTransitionReason field's value.
  36267. func (s *Instance) SetStateTransitionReason(v string) *Instance {
  36268. s.StateTransitionReason = &v
  36269. return s
  36270. }
  36271. // SetSubnetId sets the SubnetId field's value.
  36272. func (s *Instance) SetSubnetId(v string) *Instance {
  36273. s.SubnetId = &v
  36274. return s
  36275. }
  36276. // SetTags sets the Tags field's value.
  36277. func (s *Instance) SetTags(v []*Tag) *Instance {
  36278. s.Tags = v
  36279. return s
  36280. }
  36281. // SetVirtualizationType sets the VirtualizationType field's value.
  36282. func (s *Instance) SetVirtualizationType(v string) *Instance {
  36283. s.VirtualizationType = &v
  36284. return s
  36285. }
  36286. // SetVpcId sets the VpcId field's value.
  36287. func (s *Instance) SetVpcId(v string) *Instance {
  36288. s.VpcId = &v
  36289. return s
  36290. }
  36291. // Describes a block device mapping.
  36292. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMapping
  36293. type InstanceBlockDeviceMapping struct {
  36294. _ struct{} `type:"structure"`
  36295. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  36296. DeviceName *string `locationName:"deviceName" type:"string"`
  36297. // Parameters used to automatically set up EBS volumes when the instance is
  36298. // launched.
  36299. Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
  36300. }
  36301. // String returns the string representation
  36302. func (s InstanceBlockDeviceMapping) String() string {
  36303. return awsutil.Prettify(s)
  36304. }
  36305. // GoString returns the string representation
  36306. func (s InstanceBlockDeviceMapping) GoString() string {
  36307. return s.String()
  36308. }
  36309. // SetDeviceName sets the DeviceName field's value.
  36310. func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
  36311. s.DeviceName = &v
  36312. return s
  36313. }
  36314. // SetEbs sets the Ebs field's value.
  36315. func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
  36316. s.Ebs = v
  36317. return s
  36318. }
  36319. // Describes a block device mapping entry.
  36320. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceBlockDeviceMappingSpecification
  36321. type InstanceBlockDeviceMappingSpecification struct {
  36322. _ struct{} `type:"structure"`
  36323. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  36324. DeviceName *string `locationName:"deviceName" type:"string"`
  36325. // Parameters used to automatically set up EBS volumes when the instance is
  36326. // launched.
  36327. Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
  36328. // suppress the specified device included in the block device mapping.
  36329. NoDevice *string `locationName:"noDevice" type:"string"`
  36330. // The virtual device name.
  36331. VirtualName *string `locationName:"virtualName" type:"string"`
  36332. }
  36333. // String returns the string representation
  36334. func (s InstanceBlockDeviceMappingSpecification) String() string {
  36335. return awsutil.Prettify(s)
  36336. }
  36337. // GoString returns the string representation
  36338. func (s InstanceBlockDeviceMappingSpecification) GoString() string {
  36339. return s.String()
  36340. }
  36341. // SetDeviceName sets the DeviceName field's value.
  36342. func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
  36343. s.DeviceName = &v
  36344. return s
  36345. }
  36346. // SetEbs sets the Ebs field's value.
  36347. func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
  36348. s.Ebs = v
  36349. return s
  36350. }
  36351. // SetNoDevice sets the NoDevice field's value.
  36352. func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
  36353. s.NoDevice = &v
  36354. return s
  36355. }
  36356. // SetVirtualName sets the VirtualName field's value.
  36357. func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
  36358. s.VirtualName = &v
  36359. return s
  36360. }
  36361. // Information about the instance type that the Dedicated Host supports.
  36362. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCapacity
  36363. type InstanceCapacity struct {
  36364. _ struct{} `type:"structure"`
  36365. // The number of instances that can still be launched onto the Dedicated Host.
  36366. AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
  36367. // The instance type size supported by the Dedicated Host.
  36368. InstanceType *string `locationName:"instanceType" type:"string"`
  36369. // The total number of instances that can be launched onto the Dedicated Host.
  36370. TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
  36371. }
  36372. // String returns the string representation
  36373. func (s InstanceCapacity) String() string {
  36374. return awsutil.Prettify(s)
  36375. }
  36376. // GoString returns the string representation
  36377. func (s InstanceCapacity) GoString() string {
  36378. return s.String()
  36379. }
  36380. // SetAvailableCapacity sets the AvailableCapacity field's value.
  36381. func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
  36382. s.AvailableCapacity = &v
  36383. return s
  36384. }
  36385. // SetInstanceType sets the InstanceType field's value.
  36386. func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
  36387. s.InstanceType = &v
  36388. return s
  36389. }
  36390. // SetTotalCapacity sets the TotalCapacity field's value.
  36391. func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
  36392. s.TotalCapacity = &v
  36393. return s
  36394. }
  36395. // Describes a Reserved Instance listing state.
  36396. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceCount
  36397. type InstanceCount struct {
  36398. _ struct{} `type:"structure"`
  36399. // The number of listed Reserved Instances in the state specified by the state.
  36400. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  36401. // The states of the listed Reserved Instances.
  36402. State *string `locationName:"state" type:"string" enum:"ListingState"`
  36403. }
  36404. // String returns the string representation
  36405. func (s InstanceCount) String() string {
  36406. return awsutil.Prettify(s)
  36407. }
  36408. // GoString returns the string representation
  36409. func (s InstanceCount) GoString() string {
  36410. return s.String()
  36411. }
  36412. // SetInstanceCount sets the InstanceCount field's value.
  36413. func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
  36414. s.InstanceCount = &v
  36415. return s
  36416. }
  36417. // SetState sets the State field's value.
  36418. func (s *InstanceCount) SetState(v string) *InstanceCount {
  36419. s.State = &v
  36420. return s
  36421. }
  36422. // Describes an instance to export.
  36423. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceExportDetails
  36424. type InstanceExportDetails struct {
  36425. _ struct{} `type:"structure"`
  36426. // The ID of the resource being exported.
  36427. InstanceId *string `locationName:"instanceId" type:"string"`
  36428. // The target virtualization environment.
  36429. TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
  36430. }
  36431. // String returns the string representation
  36432. func (s InstanceExportDetails) String() string {
  36433. return awsutil.Prettify(s)
  36434. }
  36435. // GoString returns the string representation
  36436. func (s InstanceExportDetails) GoString() string {
  36437. return s.String()
  36438. }
  36439. // SetInstanceId sets the InstanceId field's value.
  36440. func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
  36441. s.InstanceId = &v
  36442. return s
  36443. }
  36444. // SetTargetEnvironment sets the TargetEnvironment field's value.
  36445. func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
  36446. s.TargetEnvironment = &v
  36447. return s
  36448. }
  36449. // Describes an IPv6 address.
  36450. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceIpv6Address
  36451. type InstanceIpv6Address struct {
  36452. _ struct{} `type:"structure"`
  36453. // The IPv6 address.
  36454. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  36455. }
  36456. // String returns the string representation
  36457. func (s InstanceIpv6Address) String() string {
  36458. return awsutil.Prettify(s)
  36459. }
  36460. // GoString returns the string representation
  36461. func (s InstanceIpv6Address) GoString() string {
  36462. return s.String()
  36463. }
  36464. // SetIpv6Address sets the Ipv6Address field's value.
  36465. func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
  36466. s.Ipv6Address = &v
  36467. return s
  36468. }
  36469. // Describes the monitoring of an instance.
  36470. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceMonitoring
  36471. type InstanceMonitoring struct {
  36472. _ struct{} `type:"structure"`
  36473. // The ID of the instance.
  36474. InstanceId *string `locationName:"instanceId" type:"string"`
  36475. // The monitoring for the instance.
  36476. Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
  36477. }
  36478. // String returns the string representation
  36479. func (s InstanceMonitoring) String() string {
  36480. return awsutil.Prettify(s)
  36481. }
  36482. // GoString returns the string representation
  36483. func (s InstanceMonitoring) GoString() string {
  36484. return s.String()
  36485. }
  36486. // SetInstanceId sets the InstanceId field's value.
  36487. func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
  36488. s.InstanceId = &v
  36489. return s
  36490. }
  36491. // SetMonitoring sets the Monitoring field's value.
  36492. func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
  36493. s.Monitoring = v
  36494. return s
  36495. }
  36496. // Describes a network interface.
  36497. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterface
  36498. type InstanceNetworkInterface struct {
  36499. _ struct{} `type:"structure"`
  36500. // The association information for an Elastic IPv4 associated with the network
  36501. // interface.
  36502. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  36503. // The network interface attachment.
  36504. Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  36505. // The description.
  36506. Description *string `locationName:"description" type:"string"`
  36507. // One or more security groups.
  36508. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  36509. // One or more IPv6 addresses associated with the network interface.
  36510. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  36511. // The MAC address.
  36512. MacAddress *string `locationName:"macAddress" type:"string"`
  36513. // The ID of the network interface.
  36514. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  36515. // The ID of the AWS account that created the network interface.
  36516. OwnerId *string `locationName:"ownerId" type:"string"`
  36517. // The private DNS name.
  36518. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  36519. // The IPv4 address of the network interface within the subnet.
  36520. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36521. // One or more private IPv4 addresses associated with the network interface.
  36522. PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  36523. // Indicates whether to validate network traffic to or from this network interface.
  36524. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  36525. // The status of the network interface.
  36526. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  36527. // The ID of the subnet.
  36528. SubnetId *string `locationName:"subnetId" type:"string"`
  36529. // The ID of the VPC.
  36530. VpcId *string `locationName:"vpcId" type:"string"`
  36531. }
  36532. // String returns the string representation
  36533. func (s InstanceNetworkInterface) String() string {
  36534. return awsutil.Prettify(s)
  36535. }
  36536. // GoString returns the string representation
  36537. func (s InstanceNetworkInterface) GoString() string {
  36538. return s.String()
  36539. }
  36540. // SetAssociation sets the Association field's value.
  36541. func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
  36542. s.Association = v
  36543. return s
  36544. }
  36545. // SetAttachment sets the Attachment field's value.
  36546. func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
  36547. s.Attachment = v
  36548. return s
  36549. }
  36550. // SetDescription sets the Description field's value.
  36551. func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
  36552. s.Description = &v
  36553. return s
  36554. }
  36555. // SetGroups sets the Groups field's value.
  36556. func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
  36557. s.Groups = v
  36558. return s
  36559. }
  36560. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  36561. func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
  36562. s.Ipv6Addresses = v
  36563. return s
  36564. }
  36565. // SetMacAddress sets the MacAddress field's value.
  36566. func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
  36567. s.MacAddress = &v
  36568. return s
  36569. }
  36570. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36571. func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
  36572. s.NetworkInterfaceId = &v
  36573. return s
  36574. }
  36575. // SetOwnerId sets the OwnerId field's value.
  36576. func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
  36577. s.OwnerId = &v
  36578. return s
  36579. }
  36580. // SetPrivateDnsName sets the PrivateDnsName field's value.
  36581. func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
  36582. s.PrivateDnsName = &v
  36583. return s
  36584. }
  36585. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36586. func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
  36587. s.PrivateIpAddress = &v
  36588. return s
  36589. }
  36590. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  36591. func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
  36592. s.PrivateIpAddresses = v
  36593. return s
  36594. }
  36595. // SetSourceDestCheck sets the SourceDestCheck field's value.
  36596. func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
  36597. s.SourceDestCheck = &v
  36598. return s
  36599. }
  36600. // SetStatus sets the Status field's value.
  36601. func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
  36602. s.Status = &v
  36603. return s
  36604. }
  36605. // SetSubnetId sets the SubnetId field's value.
  36606. func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
  36607. s.SubnetId = &v
  36608. return s
  36609. }
  36610. // SetVpcId sets the VpcId field's value.
  36611. func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
  36612. s.VpcId = &v
  36613. return s
  36614. }
  36615. // Describes association information for an Elastic IP address (IPv4).
  36616. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAssociation
  36617. type InstanceNetworkInterfaceAssociation struct {
  36618. _ struct{} `type:"structure"`
  36619. // The ID of the owner of the Elastic IP address.
  36620. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  36621. // The public DNS name.
  36622. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  36623. // The public IP address or Elastic IP address bound to the network interface.
  36624. PublicIp *string `locationName:"publicIp" type:"string"`
  36625. }
  36626. // String returns the string representation
  36627. func (s InstanceNetworkInterfaceAssociation) String() string {
  36628. return awsutil.Prettify(s)
  36629. }
  36630. // GoString returns the string representation
  36631. func (s InstanceNetworkInterfaceAssociation) GoString() string {
  36632. return s.String()
  36633. }
  36634. // SetIpOwnerId sets the IpOwnerId field's value.
  36635. func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
  36636. s.IpOwnerId = &v
  36637. return s
  36638. }
  36639. // SetPublicDnsName sets the PublicDnsName field's value.
  36640. func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
  36641. s.PublicDnsName = &v
  36642. return s
  36643. }
  36644. // SetPublicIp sets the PublicIp field's value.
  36645. func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
  36646. s.PublicIp = &v
  36647. return s
  36648. }
  36649. // Describes a network interface attachment.
  36650. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceAttachment
  36651. type InstanceNetworkInterfaceAttachment struct {
  36652. _ struct{} `type:"structure"`
  36653. // The time stamp when the attachment initiated.
  36654. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  36655. // The ID of the network interface attachment.
  36656. AttachmentId *string `locationName:"attachmentId" type:"string"`
  36657. // Indicates whether the network interface is deleted when the instance is terminated.
  36658. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  36659. // The index of the device on the instance for the network interface attachment.
  36660. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  36661. // The attachment state.
  36662. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  36663. }
  36664. // String returns the string representation
  36665. func (s InstanceNetworkInterfaceAttachment) String() string {
  36666. return awsutil.Prettify(s)
  36667. }
  36668. // GoString returns the string representation
  36669. func (s InstanceNetworkInterfaceAttachment) GoString() string {
  36670. return s.String()
  36671. }
  36672. // SetAttachTime sets the AttachTime field's value.
  36673. func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
  36674. s.AttachTime = &v
  36675. return s
  36676. }
  36677. // SetAttachmentId sets the AttachmentId field's value.
  36678. func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
  36679. s.AttachmentId = &v
  36680. return s
  36681. }
  36682. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  36683. func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
  36684. s.DeleteOnTermination = &v
  36685. return s
  36686. }
  36687. // SetDeviceIndex sets the DeviceIndex field's value.
  36688. func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
  36689. s.DeviceIndex = &v
  36690. return s
  36691. }
  36692. // SetStatus sets the Status field's value.
  36693. func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
  36694. s.Status = &v
  36695. return s
  36696. }
  36697. // Describes a network interface.
  36698. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceNetworkInterfaceSpecification
  36699. type InstanceNetworkInterfaceSpecification struct {
  36700. _ struct{} `type:"structure"`
  36701. // Indicates whether to assign a public IPv4 address to an instance you launch
  36702. // in a VPC. The public IP address can only be assigned to a network interface
  36703. // for eth0, and can only be assigned to a new network interface, not an existing
  36704. // one. You cannot specify more than one network interface in the request. If
  36705. // launching into a default subnet, the default value is true.
  36706. AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  36707. // If set to true, the interface is deleted when the instance is terminated.
  36708. // You can specify true only if creating a new network interface when launching
  36709. // an instance.
  36710. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  36711. // The description of the network interface. Applies only if creating a network
  36712. // interface when launching an instance.
  36713. Description *string `locationName:"description" type:"string"`
  36714. // The index of the device on the instance for the network interface attachment.
  36715. // If you are specifying a network interface in a RunInstances request, you
  36716. // must provide the device index.
  36717. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  36718. // The IDs of the security groups for the network interface. Applies only if
  36719. // creating a network interface when launching an instance.
  36720. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  36721. // A number of IPv6 addresses to assign to the network interface. Amazon EC2
  36722. // chooses the IPv6 addresses from the range of the subnet. You cannot specify
  36723. // this option and the option to assign specific IPv6 addresses in the same
  36724. // request. You can specify this option if you've specified a minimum number
  36725. // of instances to launch.
  36726. Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
  36727. // One or more IPv6 addresses to assign to the network interface. You cannot
  36728. // specify this option and the option to assign a number of IPv6 addresses in
  36729. // the same request. You cannot specify this option if you've specified a minimum
  36730. // number of instances to launch.
  36731. Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
  36732. // The ID of the network interface.
  36733. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  36734. // The private IPv4 address of the network interface. Applies only if creating
  36735. // a network interface when launching an instance. You cannot specify this option
  36736. // if you're launching more than one instance in a RunInstances request.
  36737. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36738. // One or more private IPv4 addresses to assign to the network interface. Only
  36739. // one private IPv4 address can be designated as primary. You cannot specify
  36740. // this option if you're launching more than one instance in a RunInstances
  36741. // request.
  36742. PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
  36743. // The number of secondary private IPv4 addresses. You can't specify this option
  36744. // and specify more than one private IP address using the private IP addresses
  36745. // option. You cannot specify this option if you're launching more than one
  36746. // instance in a RunInstances request.
  36747. SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
  36748. // The ID of the subnet associated with the network string. Applies only if
  36749. // creating a network interface when launching an instance.
  36750. SubnetId *string `locationName:"subnetId" type:"string"`
  36751. }
  36752. // String returns the string representation
  36753. func (s InstanceNetworkInterfaceSpecification) String() string {
  36754. return awsutil.Prettify(s)
  36755. }
  36756. // GoString returns the string representation
  36757. func (s InstanceNetworkInterfaceSpecification) GoString() string {
  36758. return s.String()
  36759. }
  36760. // Validate inspects the fields of the type to determine if they are valid.
  36761. func (s *InstanceNetworkInterfaceSpecification) Validate() error {
  36762. invalidParams := request.ErrInvalidParams{Context: "InstanceNetworkInterfaceSpecification"}
  36763. if s.PrivateIpAddresses != nil {
  36764. for i, v := range s.PrivateIpAddresses {
  36765. if v == nil {
  36766. continue
  36767. }
  36768. if err := v.Validate(); err != nil {
  36769. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PrivateIpAddresses", i), err.(request.ErrInvalidParams))
  36770. }
  36771. }
  36772. }
  36773. if invalidParams.Len() > 0 {
  36774. return invalidParams
  36775. }
  36776. return nil
  36777. }
  36778. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  36779. func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
  36780. s.AssociatePublicIpAddress = &v
  36781. return s
  36782. }
  36783. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  36784. func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
  36785. s.DeleteOnTermination = &v
  36786. return s
  36787. }
  36788. // SetDescription sets the Description field's value.
  36789. func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
  36790. s.Description = &v
  36791. return s
  36792. }
  36793. // SetDeviceIndex sets the DeviceIndex field's value.
  36794. func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
  36795. s.DeviceIndex = &v
  36796. return s
  36797. }
  36798. // SetGroups sets the Groups field's value.
  36799. func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
  36800. s.Groups = v
  36801. return s
  36802. }
  36803. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  36804. func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  36805. s.Ipv6AddressCount = &v
  36806. return s
  36807. }
  36808. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  36809. func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
  36810. s.Ipv6Addresses = v
  36811. return s
  36812. }
  36813. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  36814. func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
  36815. s.NetworkInterfaceId = &v
  36816. return s
  36817. }
  36818. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36819. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
  36820. s.PrivateIpAddress = &v
  36821. return s
  36822. }
  36823. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  36824. func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
  36825. s.PrivateIpAddresses = v
  36826. return s
  36827. }
  36828. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  36829. func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
  36830. s.SecondaryPrivateIpAddressCount = &v
  36831. return s
  36832. }
  36833. // SetSubnetId sets the SubnetId field's value.
  36834. func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
  36835. s.SubnetId = &v
  36836. return s
  36837. }
  36838. // Describes a private IPv4 address.
  36839. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstancePrivateIpAddress
  36840. type InstancePrivateIpAddress struct {
  36841. _ struct{} `type:"structure"`
  36842. // The association information for an Elastic IP address for the network interface.
  36843. Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
  36844. // Indicates whether this IPv4 address is the primary private IP address of
  36845. // the network interface.
  36846. Primary *bool `locationName:"primary" type:"boolean"`
  36847. // The private IPv4 DNS name.
  36848. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  36849. // The private IPv4 address of the network interface.
  36850. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  36851. }
  36852. // String returns the string representation
  36853. func (s InstancePrivateIpAddress) String() string {
  36854. return awsutil.Prettify(s)
  36855. }
  36856. // GoString returns the string representation
  36857. func (s InstancePrivateIpAddress) GoString() string {
  36858. return s.String()
  36859. }
  36860. // SetAssociation sets the Association field's value.
  36861. func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
  36862. s.Association = v
  36863. return s
  36864. }
  36865. // SetPrimary sets the Primary field's value.
  36866. func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
  36867. s.Primary = &v
  36868. return s
  36869. }
  36870. // SetPrivateDnsName sets the PrivateDnsName field's value.
  36871. func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
  36872. s.PrivateDnsName = &v
  36873. return s
  36874. }
  36875. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  36876. func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
  36877. s.PrivateIpAddress = &v
  36878. return s
  36879. }
  36880. // Describes the current state of an instance.
  36881. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceState
  36882. type InstanceState struct {
  36883. _ struct{} `type:"structure"`
  36884. // The low byte represents the state. The high byte is an opaque internal value
  36885. // and should be ignored.
  36886. //
  36887. // * 0 : pending
  36888. //
  36889. // * 16 : running
  36890. //
  36891. // * 32 : shutting-down
  36892. //
  36893. // * 48 : terminated
  36894. //
  36895. // * 64 : stopping
  36896. //
  36897. // * 80 : stopped
  36898. Code *int64 `locationName:"code" type:"integer"`
  36899. // The current state of the instance.
  36900. Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
  36901. }
  36902. // String returns the string representation
  36903. func (s InstanceState) String() string {
  36904. return awsutil.Prettify(s)
  36905. }
  36906. // GoString returns the string representation
  36907. func (s InstanceState) GoString() string {
  36908. return s.String()
  36909. }
  36910. // SetCode sets the Code field's value.
  36911. func (s *InstanceState) SetCode(v int64) *InstanceState {
  36912. s.Code = &v
  36913. return s
  36914. }
  36915. // SetName sets the Name field's value.
  36916. func (s *InstanceState) SetName(v string) *InstanceState {
  36917. s.Name = &v
  36918. return s
  36919. }
  36920. // Describes an instance state change.
  36921. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStateChange
  36922. type InstanceStateChange struct {
  36923. _ struct{} `type:"structure"`
  36924. // The current state of the instance.
  36925. CurrentState *InstanceState `locationName:"currentState" type:"structure"`
  36926. // The ID of the instance.
  36927. InstanceId *string `locationName:"instanceId" type:"string"`
  36928. // The previous state of the instance.
  36929. PreviousState *InstanceState `locationName:"previousState" type:"structure"`
  36930. }
  36931. // String returns the string representation
  36932. func (s InstanceStateChange) String() string {
  36933. return awsutil.Prettify(s)
  36934. }
  36935. // GoString returns the string representation
  36936. func (s InstanceStateChange) GoString() string {
  36937. return s.String()
  36938. }
  36939. // SetCurrentState sets the CurrentState field's value.
  36940. func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
  36941. s.CurrentState = v
  36942. return s
  36943. }
  36944. // SetInstanceId sets the InstanceId field's value.
  36945. func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
  36946. s.InstanceId = &v
  36947. return s
  36948. }
  36949. // SetPreviousState sets the PreviousState field's value.
  36950. func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
  36951. s.PreviousState = v
  36952. return s
  36953. }
  36954. // Describes the status of an instance.
  36955. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatus
  36956. type InstanceStatus struct {
  36957. _ struct{} `type:"structure"`
  36958. // The Availability Zone of the instance.
  36959. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  36960. // Any scheduled events associated with the instance.
  36961. Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  36962. // The ID of the instance.
  36963. InstanceId *string `locationName:"instanceId" type:"string"`
  36964. // The intended state of the instance. DescribeInstanceStatus requires that
  36965. // an instance be in the running state.
  36966. InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
  36967. // Reports impaired functionality that stems from issues internal to the instance,
  36968. // such as impaired reachability.
  36969. InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
  36970. // Reports impaired functionality that stems from issues related to the systems
  36971. // that support an instance, such as hardware failures and network connectivity
  36972. // problems.
  36973. SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
  36974. }
  36975. // String returns the string representation
  36976. func (s InstanceStatus) String() string {
  36977. return awsutil.Prettify(s)
  36978. }
  36979. // GoString returns the string representation
  36980. func (s InstanceStatus) GoString() string {
  36981. return s.String()
  36982. }
  36983. // SetAvailabilityZone sets the AvailabilityZone field's value.
  36984. func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
  36985. s.AvailabilityZone = &v
  36986. return s
  36987. }
  36988. // SetEvents sets the Events field's value.
  36989. func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
  36990. s.Events = v
  36991. return s
  36992. }
  36993. // SetInstanceId sets the InstanceId field's value.
  36994. func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
  36995. s.InstanceId = &v
  36996. return s
  36997. }
  36998. // SetInstanceState sets the InstanceState field's value.
  36999. func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
  37000. s.InstanceState = v
  37001. return s
  37002. }
  37003. // SetInstanceStatus sets the InstanceStatus field's value.
  37004. func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
  37005. s.InstanceStatus = v
  37006. return s
  37007. }
  37008. // SetSystemStatus sets the SystemStatus field's value.
  37009. func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
  37010. s.SystemStatus = v
  37011. return s
  37012. }
  37013. // Describes the instance status.
  37014. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusDetails
  37015. type InstanceStatusDetails struct {
  37016. _ struct{} `type:"structure"`
  37017. // The time when a status check failed. For an instance that was launched and
  37018. // impaired, this is the time when the instance was launched.
  37019. ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp" timestampFormat:"iso8601"`
  37020. // The type of instance status.
  37021. Name *string `locationName:"name" type:"string" enum:"StatusName"`
  37022. // The status.
  37023. Status *string `locationName:"status" type:"string" enum:"StatusType"`
  37024. }
  37025. // String returns the string representation
  37026. func (s InstanceStatusDetails) String() string {
  37027. return awsutil.Prettify(s)
  37028. }
  37029. // GoString returns the string representation
  37030. func (s InstanceStatusDetails) GoString() string {
  37031. return s.String()
  37032. }
  37033. // SetImpairedSince sets the ImpairedSince field's value.
  37034. func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
  37035. s.ImpairedSince = &v
  37036. return s
  37037. }
  37038. // SetName sets the Name field's value.
  37039. func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
  37040. s.Name = &v
  37041. return s
  37042. }
  37043. // SetStatus sets the Status field's value.
  37044. func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
  37045. s.Status = &v
  37046. return s
  37047. }
  37048. // Describes a scheduled event for an instance.
  37049. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusEvent
  37050. type InstanceStatusEvent struct {
  37051. _ struct{} `type:"structure"`
  37052. // The event code.
  37053. Code *string `locationName:"code" type:"string" enum:"EventCode"`
  37054. // A description of the event.
  37055. //
  37056. // After a scheduled event is completed, it can still be described for up to
  37057. // a week. If the event has been completed, this description starts with the
  37058. // following text: [Completed].
  37059. Description *string `locationName:"description" type:"string"`
  37060. // The latest scheduled end time for the event.
  37061. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  37062. // The earliest scheduled start time for the event.
  37063. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  37064. }
  37065. // String returns the string representation
  37066. func (s InstanceStatusEvent) String() string {
  37067. return awsutil.Prettify(s)
  37068. }
  37069. // GoString returns the string representation
  37070. func (s InstanceStatusEvent) GoString() string {
  37071. return s.String()
  37072. }
  37073. // SetCode sets the Code field's value.
  37074. func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
  37075. s.Code = &v
  37076. return s
  37077. }
  37078. // SetDescription sets the Description field's value.
  37079. func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
  37080. s.Description = &v
  37081. return s
  37082. }
  37083. // SetNotAfter sets the NotAfter field's value.
  37084. func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
  37085. s.NotAfter = &v
  37086. return s
  37087. }
  37088. // SetNotBefore sets the NotBefore field's value.
  37089. func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
  37090. s.NotBefore = &v
  37091. return s
  37092. }
  37093. // Describes the status of an instance.
  37094. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InstanceStatusSummary
  37095. type InstanceStatusSummary struct {
  37096. _ struct{} `type:"structure"`
  37097. // The system instance health or application instance health.
  37098. Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  37099. // The status.
  37100. Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
  37101. }
  37102. // String returns the string representation
  37103. func (s InstanceStatusSummary) String() string {
  37104. return awsutil.Prettify(s)
  37105. }
  37106. // GoString returns the string representation
  37107. func (s InstanceStatusSummary) GoString() string {
  37108. return s.String()
  37109. }
  37110. // SetDetails sets the Details field's value.
  37111. func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
  37112. s.Details = v
  37113. return s
  37114. }
  37115. // SetStatus sets the Status field's value.
  37116. func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
  37117. s.Status = &v
  37118. return s
  37119. }
  37120. // Describes an Internet gateway.
  37121. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGateway
  37122. type InternetGateway struct {
  37123. _ struct{} `type:"structure"`
  37124. // Any VPCs attached to the Internet gateway.
  37125. Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  37126. // The ID of the Internet gateway.
  37127. InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
  37128. // Any tags assigned to the Internet gateway.
  37129. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  37130. }
  37131. // String returns the string representation
  37132. func (s InternetGateway) String() string {
  37133. return awsutil.Prettify(s)
  37134. }
  37135. // GoString returns the string representation
  37136. func (s InternetGateway) GoString() string {
  37137. return s.String()
  37138. }
  37139. // SetAttachments sets the Attachments field's value.
  37140. func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
  37141. s.Attachments = v
  37142. return s
  37143. }
  37144. // SetInternetGatewayId sets the InternetGatewayId field's value.
  37145. func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
  37146. s.InternetGatewayId = &v
  37147. return s
  37148. }
  37149. // SetTags sets the Tags field's value.
  37150. func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
  37151. s.Tags = v
  37152. return s
  37153. }
  37154. // Describes the attachment of a VPC to an Internet gateway or an egress-only
  37155. // Internet gateway.
  37156. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/InternetGatewayAttachment
  37157. type InternetGatewayAttachment struct {
  37158. _ struct{} `type:"structure"`
  37159. // The current state of the attachment.
  37160. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  37161. // The ID of the VPC.
  37162. VpcId *string `locationName:"vpcId" type:"string"`
  37163. }
  37164. // String returns the string representation
  37165. func (s InternetGatewayAttachment) String() string {
  37166. return awsutil.Prettify(s)
  37167. }
  37168. // GoString returns the string representation
  37169. func (s InternetGatewayAttachment) GoString() string {
  37170. return s.String()
  37171. }
  37172. // SetState sets the State field's value.
  37173. func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
  37174. s.State = &v
  37175. return s
  37176. }
  37177. // SetVpcId sets the VpcId field's value.
  37178. func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
  37179. s.VpcId = &v
  37180. return s
  37181. }
  37182. // Describes a security group rule.
  37183. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpPermission
  37184. type IpPermission struct {
  37185. _ struct{} `type:"structure"`
  37186. // The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
  37187. // type number. A value of -1 indicates all ICMP/ICMPv6 types.
  37188. FromPort *int64 `locationName:"fromPort" type:"integer"`
  37189. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  37190. //
  37191. // [EC2-VPC only] Use -1 to specify all protocols. When authorizing security
  37192. // group rules, specifying -1 or a protocol number other than tcp, udp, icmp,
  37193. // or 58 (ICMPv6) allows traffic on all ports, regardless of any port range
  37194. // you specify. For tcp, udp, and icmp, you must specify a port range. For 58
  37195. // (ICMPv6), you can optionally specify a port range; if you don't, traffic
  37196. // for all types and codes is allowed when authorizing rules.
  37197. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  37198. // One or more IPv4 ranges.
  37199. IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
  37200. // [EC2-VPC only] One or more IPv6 ranges.
  37201. Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
  37202. // (Valid for AuthorizeSecurityGroupEgress, RevokeSecurityGroupEgress and DescribeSecurityGroups
  37203. // only) One or more prefix list IDs for an AWS service. In an AuthorizeSecurityGroupEgress
  37204. // request, this is the AWS service that you want to access through a VPC endpoint
  37205. // from instances associated with the security group.
  37206. PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  37207. // The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
  37208. // A value of -1 indicates all ICMP/ICMPv6 codes for the specified ICMP type.
  37209. ToPort *int64 `locationName:"toPort" type:"integer"`
  37210. // One or more security group and AWS account ID pairs.
  37211. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  37212. }
  37213. // String returns the string representation
  37214. func (s IpPermission) String() string {
  37215. return awsutil.Prettify(s)
  37216. }
  37217. // GoString returns the string representation
  37218. func (s IpPermission) GoString() string {
  37219. return s.String()
  37220. }
  37221. // SetFromPort sets the FromPort field's value.
  37222. func (s *IpPermission) SetFromPort(v int64) *IpPermission {
  37223. s.FromPort = &v
  37224. return s
  37225. }
  37226. // SetIpProtocol sets the IpProtocol field's value.
  37227. func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
  37228. s.IpProtocol = &v
  37229. return s
  37230. }
  37231. // SetIpRanges sets the IpRanges field's value.
  37232. func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
  37233. s.IpRanges = v
  37234. return s
  37235. }
  37236. // SetIpv6Ranges sets the Ipv6Ranges field's value.
  37237. func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
  37238. s.Ipv6Ranges = v
  37239. return s
  37240. }
  37241. // SetPrefixListIds sets the PrefixListIds field's value.
  37242. func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
  37243. s.PrefixListIds = v
  37244. return s
  37245. }
  37246. // SetToPort sets the ToPort field's value.
  37247. func (s *IpPermission) SetToPort(v int64) *IpPermission {
  37248. s.ToPort = &v
  37249. return s
  37250. }
  37251. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  37252. func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
  37253. s.UserIdGroupPairs = v
  37254. return s
  37255. }
  37256. // Describes an IPv4 range.
  37257. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/IpRange
  37258. type IpRange struct {
  37259. _ struct{} `type:"structure"`
  37260. // The IPv4 CIDR range. You can either specify a CIDR range or a source security
  37261. // group, not both. To specify a single IPv4 address, use the /32 prefix.
  37262. CidrIp *string `locationName:"cidrIp" type:"string"`
  37263. }
  37264. // String returns the string representation
  37265. func (s IpRange) String() string {
  37266. return awsutil.Prettify(s)
  37267. }
  37268. // GoString returns the string representation
  37269. func (s IpRange) GoString() string {
  37270. return s.String()
  37271. }
  37272. // SetCidrIp sets the CidrIp field's value.
  37273. func (s *IpRange) SetCidrIp(v string) *IpRange {
  37274. s.CidrIp = &v
  37275. return s
  37276. }
  37277. // Describes an IPv6 CIDR block.
  37278. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6CidrBlock
  37279. type Ipv6CidrBlock struct {
  37280. _ struct{} `type:"structure"`
  37281. // The IPv6 CIDR block.
  37282. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  37283. }
  37284. // String returns the string representation
  37285. func (s Ipv6CidrBlock) String() string {
  37286. return awsutil.Prettify(s)
  37287. }
  37288. // GoString returns the string representation
  37289. func (s Ipv6CidrBlock) GoString() string {
  37290. return s.String()
  37291. }
  37292. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  37293. func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
  37294. s.Ipv6CidrBlock = &v
  37295. return s
  37296. }
  37297. // [EC2-VPC only] Describes an IPv6 range.
  37298. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Ipv6Range
  37299. type Ipv6Range struct {
  37300. _ struct{} `type:"structure"`
  37301. // The IPv6 CIDR range. You can either specify a CIDR range or a source security
  37302. // group, not both. To specify a single IPv6 address, use the /128 prefix.
  37303. CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
  37304. }
  37305. // String returns the string representation
  37306. func (s Ipv6Range) String() string {
  37307. return awsutil.Prettify(s)
  37308. }
  37309. // GoString returns the string representation
  37310. func (s Ipv6Range) GoString() string {
  37311. return s.String()
  37312. }
  37313. // SetCidrIpv6 sets the CidrIpv6 field's value.
  37314. func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
  37315. s.CidrIpv6 = &v
  37316. return s
  37317. }
  37318. // Describes a key pair.
  37319. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/KeyPairInfo
  37320. type KeyPairInfo struct {
  37321. _ struct{} `type:"structure"`
  37322. // If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
  37323. // of the DER encoded private key. If you used ImportKeyPair to provide AWS
  37324. // the public key, this is the MD5 public key fingerprint as specified in section
  37325. // 4 of RFC4716.
  37326. KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
  37327. // The name of the key pair.
  37328. KeyName *string `locationName:"keyName" type:"string"`
  37329. }
  37330. // String returns the string representation
  37331. func (s KeyPairInfo) String() string {
  37332. return awsutil.Prettify(s)
  37333. }
  37334. // GoString returns the string representation
  37335. func (s KeyPairInfo) GoString() string {
  37336. return s.String()
  37337. }
  37338. // SetKeyFingerprint sets the KeyFingerprint field's value.
  37339. func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
  37340. s.KeyFingerprint = &v
  37341. return s
  37342. }
  37343. // SetKeyName sets the KeyName field's value.
  37344. func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
  37345. s.KeyName = &v
  37346. return s
  37347. }
  37348. // Describes a launch permission.
  37349. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermission
  37350. type LaunchPermission struct {
  37351. _ struct{} `type:"structure"`
  37352. // The name of the group.
  37353. Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
  37354. // The AWS account ID.
  37355. UserId *string `locationName:"userId" type:"string"`
  37356. }
  37357. // String returns the string representation
  37358. func (s LaunchPermission) String() string {
  37359. return awsutil.Prettify(s)
  37360. }
  37361. // GoString returns the string representation
  37362. func (s LaunchPermission) GoString() string {
  37363. return s.String()
  37364. }
  37365. // SetGroup sets the Group field's value.
  37366. func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
  37367. s.Group = &v
  37368. return s
  37369. }
  37370. // SetUserId sets the UserId field's value.
  37371. func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
  37372. s.UserId = &v
  37373. return s
  37374. }
  37375. // Describes a launch permission modification.
  37376. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchPermissionModifications
  37377. type LaunchPermissionModifications struct {
  37378. _ struct{} `type:"structure"`
  37379. // The AWS account ID to add to the list of launch permissions for the AMI.
  37380. Add []*LaunchPermission `locationNameList:"item" type:"list"`
  37381. // The AWS account ID to remove from the list of launch permissions for the
  37382. // AMI.
  37383. Remove []*LaunchPermission `locationNameList:"item" type:"list"`
  37384. }
  37385. // String returns the string representation
  37386. func (s LaunchPermissionModifications) String() string {
  37387. return awsutil.Prettify(s)
  37388. }
  37389. // GoString returns the string representation
  37390. func (s LaunchPermissionModifications) GoString() string {
  37391. return s.String()
  37392. }
  37393. // SetAdd sets the Add field's value.
  37394. func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
  37395. s.Add = v
  37396. return s
  37397. }
  37398. // SetRemove sets the Remove field's value.
  37399. func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
  37400. s.Remove = v
  37401. return s
  37402. }
  37403. // Describes the launch specification for an instance.
  37404. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/LaunchSpecification
  37405. type LaunchSpecification struct {
  37406. _ struct{} `type:"structure"`
  37407. // Deprecated.
  37408. AddressingType *string `locationName:"addressingType" type:"string"`
  37409. // One or more block device mapping entries.
  37410. //
  37411. // Although you can specify encrypted EBS volumes in this block device mapping
  37412. // for your Spot Instances, these volumes are not encrypted.
  37413. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  37414. // Indicates whether the instance is optimized for EBS I/O. This optimization
  37415. // provides dedicated throughput to Amazon EBS and an optimized configuration
  37416. // stack to provide optimal EBS I/O performance. This optimization isn't available
  37417. // with all instance types. Additional usage charges apply when using an EBS
  37418. // Optimized instance.
  37419. //
  37420. // Default: false
  37421. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  37422. // The IAM instance profile.
  37423. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  37424. // The ID of the AMI.
  37425. ImageId *string `locationName:"imageId" type:"string"`
  37426. // The instance type.
  37427. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  37428. // The ID of the kernel.
  37429. KernelId *string `locationName:"kernelId" type:"string"`
  37430. // The name of the key pair.
  37431. KeyName *string `locationName:"keyName" type:"string"`
  37432. // Describes the monitoring of an instance.
  37433. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  37434. // One or more network interfaces. If you specify a network interface, you must
  37435. // specify subnet IDs and security group IDs using the network interface.
  37436. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  37437. // The placement information for the instance.
  37438. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  37439. // The ID of the RAM disk.
  37440. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  37441. // One or more security groups. When requesting instances in a VPC, you must
  37442. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  37443. // you can specify the names or the IDs of the security groups.
  37444. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  37445. // The ID of the subnet in which to launch the instance.
  37446. SubnetId *string `locationName:"subnetId" type:"string"`
  37447. // The user data to make available to the instances. If you are using an AWS
  37448. // SDK or command line tool, Base64-encoding is performed for you, and you can
  37449. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  37450. UserData *string `locationName:"userData" type:"string"`
  37451. }
  37452. // String returns the string representation
  37453. func (s LaunchSpecification) String() string {
  37454. return awsutil.Prettify(s)
  37455. }
  37456. // GoString returns the string representation
  37457. func (s LaunchSpecification) GoString() string {
  37458. return s.String()
  37459. }
  37460. // SetAddressingType sets the AddressingType field's value.
  37461. func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
  37462. s.AddressingType = &v
  37463. return s
  37464. }
  37465. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37466. func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
  37467. s.BlockDeviceMappings = v
  37468. return s
  37469. }
  37470. // SetEbsOptimized sets the EbsOptimized field's value.
  37471. func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
  37472. s.EbsOptimized = &v
  37473. return s
  37474. }
  37475. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  37476. func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
  37477. s.IamInstanceProfile = v
  37478. return s
  37479. }
  37480. // SetImageId sets the ImageId field's value.
  37481. func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
  37482. s.ImageId = &v
  37483. return s
  37484. }
  37485. // SetInstanceType sets the InstanceType field's value.
  37486. func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
  37487. s.InstanceType = &v
  37488. return s
  37489. }
  37490. // SetKernelId sets the KernelId field's value.
  37491. func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
  37492. s.KernelId = &v
  37493. return s
  37494. }
  37495. // SetKeyName sets the KeyName field's value.
  37496. func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
  37497. s.KeyName = &v
  37498. return s
  37499. }
  37500. // SetMonitoring sets the Monitoring field's value.
  37501. func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
  37502. s.Monitoring = v
  37503. return s
  37504. }
  37505. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  37506. func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
  37507. s.NetworkInterfaces = v
  37508. return s
  37509. }
  37510. // SetPlacement sets the Placement field's value.
  37511. func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
  37512. s.Placement = v
  37513. return s
  37514. }
  37515. // SetRamdiskId sets the RamdiskId field's value.
  37516. func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
  37517. s.RamdiskId = &v
  37518. return s
  37519. }
  37520. // SetSecurityGroups sets the SecurityGroups field's value.
  37521. func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
  37522. s.SecurityGroups = v
  37523. return s
  37524. }
  37525. // SetSubnetId sets the SubnetId field's value.
  37526. func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
  37527. s.SubnetId = &v
  37528. return s
  37529. }
  37530. // SetUserData sets the UserData field's value.
  37531. func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
  37532. s.UserData = &v
  37533. return s
  37534. }
  37535. // Contains the parameters for ModifyHosts.
  37536. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsRequest
  37537. type ModifyHostsInput struct {
  37538. _ struct{} `type:"structure"`
  37539. // Specify whether to enable or disable auto-placement.
  37540. //
  37541. // AutoPlacement is a required field
  37542. AutoPlacement *string `locationName:"autoPlacement" type:"string" required:"true" enum:"AutoPlacement"`
  37543. // The host IDs of the Dedicated Hosts you want to modify.
  37544. //
  37545. // HostIds is a required field
  37546. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  37547. }
  37548. // String returns the string representation
  37549. func (s ModifyHostsInput) String() string {
  37550. return awsutil.Prettify(s)
  37551. }
  37552. // GoString returns the string representation
  37553. func (s ModifyHostsInput) GoString() string {
  37554. return s.String()
  37555. }
  37556. // Validate inspects the fields of the type to determine if they are valid.
  37557. func (s *ModifyHostsInput) Validate() error {
  37558. invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
  37559. if s.AutoPlacement == nil {
  37560. invalidParams.Add(request.NewErrParamRequired("AutoPlacement"))
  37561. }
  37562. if s.HostIds == nil {
  37563. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  37564. }
  37565. if invalidParams.Len() > 0 {
  37566. return invalidParams
  37567. }
  37568. return nil
  37569. }
  37570. // SetAutoPlacement sets the AutoPlacement field's value.
  37571. func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
  37572. s.AutoPlacement = &v
  37573. return s
  37574. }
  37575. // SetHostIds sets the HostIds field's value.
  37576. func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
  37577. s.HostIds = v
  37578. return s
  37579. }
  37580. // Contains the output of ModifyHosts.
  37581. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHostsResult
  37582. type ModifyHostsOutput struct {
  37583. _ struct{} `type:"structure"`
  37584. // The IDs of the Dedicated Hosts that were successfully modified.
  37585. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  37586. // The IDs of the Dedicated Hosts that could not be modified. Check whether
  37587. // the setting you requested can be used.
  37588. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  37589. }
  37590. // String returns the string representation
  37591. func (s ModifyHostsOutput) String() string {
  37592. return awsutil.Prettify(s)
  37593. }
  37594. // GoString returns the string representation
  37595. func (s ModifyHostsOutput) GoString() string {
  37596. return s.String()
  37597. }
  37598. // SetSuccessful sets the Successful field's value.
  37599. func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
  37600. s.Successful = v
  37601. return s
  37602. }
  37603. // SetUnsuccessful sets the Unsuccessful field's value.
  37604. func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
  37605. s.Unsuccessful = v
  37606. return s
  37607. }
  37608. // Contains the parameters of ModifyIdFormat.
  37609. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatRequest
  37610. type ModifyIdFormatInput struct {
  37611. _ struct{} `type:"structure"`
  37612. // The type of resource: instance | reservation | snapshot | volume
  37613. //
  37614. // Resource is a required field
  37615. Resource *string `type:"string" required:"true"`
  37616. // Indicate whether the resource should use longer IDs (17-character IDs).
  37617. //
  37618. // UseLongIds is a required field
  37619. UseLongIds *bool `type:"boolean" required:"true"`
  37620. }
  37621. // String returns the string representation
  37622. func (s ModifyIdFormatInput) String() string {
  37623. return awsutil.Prettify(s)
  37624. }
  37625. // GoString returns the string representation
  37626. func (s ModifyIdFormatInput) GoString() string {
  37627. return s.String()
  37628. }
  37629. // Validate inspects the fields of the type to determine if they are valid.
  37630. func (s *ModifyIdFormatInput) Validate() error {
  37631. invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
  37632. if s.Resource == nil {
  37633. invalidParams.Add(request.NewErrParamRequired("Resource"))
  37634. }
  37635. if s.UseLongIds == nil {
  37636. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  37637. }
  37638. if invalidParams.Len() > 0 {
  37639. return invalidParams
  37640. }
  37641. return nil
  37642. }
  37643. // SetResource sets the Resource field's value.
  37644. func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
  37645. s.Resource = &v
  37646. return s
  37647. }
  37648. // SetUseLongIds sets the UseLongIds field's value.
  37649. func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
  37650. s.UseLongIds = &v
  37651. return s
  37652. }
  37653. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormatOutput
  37654. type ModifyIdFormatOutput struct {
  37655. _ struct{} `type:"structure"`
  37656. }
  37657. // String returns the string representation
  37658. func (s ModifyIdFormatOutput) String() string {
  37659. return awsutil.Prettify(s)
  37660. }
  37661. // GoString returns the string representation
  37662. func (s ModifyIdFormatOutput) GoString() string {
  37663. return s.String()
  37664. }
  37665. // Contains the parameters of ModifyIdentityIdFormat.
  37666. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatRequest
  37667. type ModifyIdentityIdFormatInput struct {
  37668. _ struct{} `type:"structure"`
  37669. // The ARN of the principal, which can be an IAM user, IAM role, or the root
  37670. // user. Specify all to modify the ID format for all IAM users, IAM roles, and
  37671. // the root user of the account.
  37672. //
  37673. // PrincipalArn is a required field
  37674. PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
  37675. // The type of resource: instance | reservation | snapshot | volume
  37676. //
  37677. // Resource is a required field
  37678. Resource *string `locationName:"resource" type:"string" required:"true"`
  37679. // Indicates whether the resource should use longer IDs (17-character IDs)
  37680. //
  37681. // UseLongIds is a required field
  37682. UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
  37683. }
  37684. // String returns the string representation
  37685. func (s ModifyIdentityIdFormatInput) String() string {
  37686. return awsutil.Prettify(s)
  37687. }
  37688. // GoString returns the string representation
  37689. func (s ModifyIdentityIdFormatInput) GoString() string {
  37690. return s.String()
  37691. }
  37692. // Validate inspects the fields of the type to determine if they are valid.
  37693. func (s *ModifyIdentityIdFormatInput) Validate() error {
  37694. invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
  37695. if s.PrincipalArn == nil {
  37696. invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
  37697. }
  37698. if s.Resource == nil {
  37699. invalidParams.Add(request.NewErrParamRequired("Resource"))
  37700. }
  37701. if s.UseLongIds == nil {
  37702. invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
  37703. }
  37704. if invalidParams.Len() > 0 {
  37705. return invalidParams
  37706. }
  37707. return nil
  37708. }
  37709. // SetPrincipalArn sets the PrincipalArn field's value.
  37710. func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
  37711. s.PrincipalArn = &v
  37712. return s
  37713. }
  37714. // SetResource sets the Resource field's value.
  37715. func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
  37716. s.Resource = &v
  37717. return s
  37718. }
  37719. // SetUseLongIds sets the UseLongIds field's value.
  37720. func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
  37721. s.UseLongIds = &v
  37722. return s
  37723. }
  37724. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormatOutput
  37725. type ModifyIdentityIdFormatOutput struct {
  37726. _ struct{} `type:"structure"`
  37727. }
  37728. // String returns the string representation
  37729. func (s ModifyIdentityIdFormatOutput) String() string {
  37730. return awsutil.Prettify(s)
  37731. }
  37732. // GoString returns the string representation
  37733. func (s ModifyIdentityIdFormatOutput) GoString() string {
  37734. return s.String()
  37735. }
  37736. // Contains the parameters for ModifyImageAttribute.
  37737. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeRequest
  37738. type ModifyImageAttributeInput struct {
  37739. _ struct{} `type:"structure"`
  37740. // The name of the attribute to modify.
  37741. Attribute *string `type:"string"`
  37742. // A description for the AMI.
  37743. Description *AttributeValue `type:"structure"`
  37744. // Checks whether you have the required permissions for the action, without
  37745. // actually making the request, and provides an error response. If you have
  37746. // the required permissions, the error response is DryRunOperation. Otherwise,
  37747. // it is UnauthorizedOperation.
  37748. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37749. // The ID of the AMI.
  37750. //
  37751. // ImageId is a required field
  37752. ImageId *string `type:"string" required:"true"`
  37753. // A launch permission modification.
  37754. LaunchPermission *LaunchPermissionModifications `type:"structure"`
  37755. // The operation type.
  37756. OperationType *string `type:"string" enum:"OperationType"`
  37757. // One or more product codes. After you add a product code to an AMI, it can't
  37758. // be removed. This is only valid when modifying the productCodes attribute.
  37759. ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
  37760. // One or more user groups. This is only valid when modifying the launchPermission
  37761. // attribute.
  37762. UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
  37763. // One or more AWS account IDs. This is only valid when modifying the launchPermission
  37764. // attribute.
  37765. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  37766. // The value of the attribute being modified. This is only valid when modifying
  37767. // the description attribute.
  37768. Value *string `type:"string"`
  37769. }
  37770. // String returns the string representation
  37771. func (s ModifyImageAttributeInput) String() string {
  37772. return awsutil.Prettify(s)
  37773. }
  37774. // GoString returns the string representation
  37775. func (s ModifyImageAttributeInput) GoString() string {
  37776. return s.String()
  37777. }
  37778. // Validate inspects the fields of the type to determine if they are valid.
  37779. func (s *ModifyImageAttributeInput) Validate() error {
  37780. invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
  37781. if s.ImageId == nil {
  37782. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  37783. }
  37784. if invalidParams.Len() > 0 {
  37785. return invalidParams
  37786. }
  37787. return nil
  37788. }
  37789. // SetAttribute sets the Attribute field's value.
  37790. func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
  37791. s.Attribute = &v
  37792. return s
  37793. }
  37794. // SetDescription sets the Description field's value.
  37795. func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
  37796. s.Description = v
  37797. return s
  37798. }
  37799. // SetDryRun sets the DryRun field's value.
  37800. func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
  37801. s.DryRun = &v
  37802. return s
  37803. }
  37804. // SetImageId sets the ImageId field's value.
  37805. func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
  37806. s.ImageId = &v
  37807. return s
  37808. }
  37809. // SetLaunchPermission sets the LaunchPermission field's value.
  37810. func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
  37811. s.LaunchPermission = v
  37812. return s
  37813. }
  37814. // SetOperationType sets the OperationType field's value.
  37815. func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
  37816. s.OperationType = &v
  37817. return s
  37818. }
  37819. // SetProductCodes sets the ProductCodes field's value.
  37820. func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
  37821. s.ProductCodes = v
  37822. return s
  37823. }
  37824. // SetUserGroups sets the UserGroups field's value.
  37825. func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
  37826. s.UserGroups = v
  37827. return s
  37828. }
  37829. // SetUserIds sets the UserIds field's value.
  37830. func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
  37831. s.UserIds = v
  37832. return s
  37833. }
  37834. // SetValue sets the Value field's value.
  37835. func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
  37836. s.Value = &v
  37837. return s
  37838. }
  37839. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttributeOutput
  37840. type ModifyImageAttributeOutput struct {
  37841. _ struct{} `type:"structure"`
  37842. }
  37843. // String returns the string representation
  37844. func (s ModifyImageAttributeOutput) String() string {
  37845. return awsutil.Prettify(s)
  37846. }
  37847. // GoString returns the string representation
  37848. func (s ModifyImageAttributeOutput) GoString() string {
  37849. return s.String()
  37850. }
  37851. // Contains the parameters for ModifyInstanceAttribute.
  37852. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeRequest
  37853. type ModifyInstanceAttributeInput struct {
  37854. _ struct{} `type:"structure"`
  37855. // The name of the attribute.
  37856. Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
  37857. // Modifies the DeleteOnTermination attribute for volumes that are currently
  37858. // attached. The volume must be owned by the caller. If no value is specified
  37859. // for DeleteOnTermination, the default is true and the volume is deleted when
  37860. // the instance is terminated.
  37861. //
  37862. // To add instance store volumes to an Amazon EBS-backed instance, you must
  37863. // add them when you launch the instance. For more information, see Updating
  37864. // the Block Device Mapping when Launching an Instance (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
  37865. // in the Amazon Elastic Compute Cloud User Guide.
  37866. BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  37867. // If the value is true, you can't terminate the instance using the Amazon EC2
  37868. // console, CLI, or API; otherwise, you can. You cannot use this paramater for
  37869. // Spot Instances.
  37870. DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
  37871. // Checks whether you have the required permissions for the action, without
  37872. // actually making the request, and provides an error response. If you have
  37873. // the required permissions, the error response is DryRunOperation. Otherwise,
  37874. // it is UnauthorizedOperation.
  37875. DryRun *bool `locationName:"dryRun" type:"boolean"`
  37876. // Specifies whether the instance is optimized for EBS I/O. This optimization
  37877. // provides dedicated throughput to Amazon EBS and an optimized configuration
  37878. // stack to provide optimal EBS I/O performance. This optimization isn't available
  37879. // with all instance types. Additional usage charges apply when using an EBS
  37880. // Optimized instance.
  37881. EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
  37882. // Set to true to enable enhanced networking with ENA for the instance.
  37883. //
  37884. // This option is supported only for HVM instances. Specifying this option with
  37885. // a PV instance can make it unreachable.
  37886. EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
  37887. // [EC2-VPC] Changes the security groups of the instance. You must specify at
  37888. // least one security group, even if it's just the default security group for
  37889. // the VPC. You must specify the security group ID, not the security group name.
  37890. Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
  37891. // The ID of the instance.
  37892. //
  37893. // InstanceId is a required field
  37894. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  37895. // Specifies whether an instance stops or terminates when you initiate shutdown
  37896. // from the instance (using the operating system command for system shutdown).
  37897. InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
  37898. // Changes the instance type to the specified value. For more information, see
  37899. // Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
  37900. // If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
  37901. InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
  37902. // Changes the instance's kernel to the specified value. We recommend that you
  37903. // use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
  37904. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  37905. Kernel *AttributeValue `locationName:"kernel" type:"structure"`
  37906. // Changes the instance's RAM disk to the specified value. We recommend that
  37907. // you use PV-GRUB instead of kernels and RAM disks. For more information, see
  37908. // PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
  37909. Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
  37910. // Specifies whether source/destination checking is enabled. A value of true
  37911. // means that checking is enabled, and false means checking is disabled. This
  37912. // value must be false for a NAT instance to perform NAT.
  37913. SourceDestCheck *AttributeBooleanValue `type:"structure"`
  37914. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  37915. // Function interface for the instance.
  37916. //
  37917. // There is no way to disable enhanced networking with the Intel 82599 Virtual
  37918. // Function interface at this time.
  37919. //
  37920. // This option is supported only for HVM instances. Specifying this option with
  37921. // a PV instance can make it unreachable.
  37922. SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
  37923. // Changes the instance's user data to the specified value. If you are using
  37924. // an AWS SDK or command line tool, Base64-encoding is performed for you, and
  37925. // you can load the text from a file. Otherwise, you must provide Base64-encoded
  37926. // text.
  37927. UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
  37928. // A new value for the attribute. Use only with the kernel, ramdisk, userData,
  37929. // disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
  37930. Value *string `locationName:"value" type:"string"`
  37931. }
  37932. // String returns the string representation
  37933. func (s ModifyInstanceAttributeInput) String() string {
  37934. return awsutil.Prettify(s)
  37935. }
  37936. // GoString returns the string representation
  37937. func (s ModifyInstanceAttributeInput) GoString() string {
  37938. return s.String()
  37939. }
  37940. // Validate inspects the fields of the type to determine if they are valid.
  37941. func (s *ModifyInstanceAttributeInput) Validate() error {
  37942. invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
  37943. if s.InstanceId == nil {
  37944. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  37945. }
  37946. if invalidParams.Len() > 0 {
  37947. return invalidParams
  37948. }
  37949. return nil
  37950. }
  37951. // SetAttribute sets the Attribute field's value.
  37952. func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
  37953. s.Attribute = &v
  37954. return s
  37955. }
  37956. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  37957. func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
  37958. s.BlockDeviceMappings = v
  37959. return s
  37960. }
  37961. // SetDisableApiTermination sets the DisableApiTermination field's value.
  37962. func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37963. s.DisableApiTermination = v
  37964. return s
  37965. }
  37966. // SetDryRun sets the DryRun field's value.
  37967. func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
  37968. s.DryRun = &v
  37969. return s
  37970. }
  37971. // SetEbsOptimized sets the EbsOptimized field's value.
  37972. func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37973. s.EbsOptimized = v
  37974. return s
  37975. }
  37976. // SetEnaSupport sets the EnaSupport field's value.
  37977. func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  37978. s.EnaSupport = v
  37979. return s
  37980. }
  37981. // SetGroups sets the Groups field's value.
  37982. func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
  37983. s.Groups = v
  37984. return s
  37985. }
  37986. // SetInstanceId sets the InstanceId field's value.
  37987. func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
  37988. s.InstanceId = &v
  37989. return s
  37990. }
  37991. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  37992. func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
  37993. s.InstanceInitiatedShutdownBehavior = v
  37994. return s
  37995. }
  37996. // SetInstanceType sets the InstanceType field's value.
  37997. func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
  37998. s.InstanceType = v
  37999. return s
  38000. }
  38001. // SetKernel sets the Kernel field's value.
  38002. func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
  38003. s.Kernel = v
  38004. return s
  38005. }
  38006. // SetRamdisk sets the Ramdisk field's value.
  38007. func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
  38008. s.Ramdisk = v
  38009. return s
  38010. }
  38011. // SetSourceDestCheck sets the SourceDestCheck field's value.
  38012. func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
  38013. s.SourceDestCheck = v
  38014. return s
  38015. }
  38016. // SetSriovNetSupport sets the SriovNetSupport field's value.
  38017. func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
  38018. s.SriovNetSupport = v
  38019. return s
  38020. }
  38021. // SetUserData sets the UserData field's value.
  38022. func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
  38023. s.UserData = v
  38024. return s
  38025. }
  38026. // SetValue sets the Value field's value.
  38027. func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
  38028. s.Value = &v
  38029. return s
  38030. }
  38031. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttributeOutput
  38032. type ModifyInstanceAttributeOutput struct {
  38033. _ struct{} `type:"structure"`
  38034. }
  38035. // String returns the string representation
  38036. func (s ModifyInstanceAttributeOutput) String() string {
  38037. return awsutil.Prettify(s)
  38038. }
  38039. // GoString returns the string representation
  38040. func (s ModifyInstanceAttributeOutput) GoString() string {
  38041. return s.String()
  38042. }
  38043. // Contains the parameters for ModifyInstancePlacement.
  38044. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementRequest
  38045. type ModifyInstancePlacementInput struct {
  38046. _ struct{} `type:"structure"`
  38047. // The new affinity setting for the instance.
  38048. Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
  38049. // The ID of the Dedicated Host that the instance will have affinity with.
  38050. HostId *string `locationName:"hostId" type:"string"`
  38051. // The ID of the instance that you are modifying.
  38052. //
  38053. // InstanceId is a required field
  38054. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  38055. // The tenancy of the instance that you are modifying.
  38056. Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
  38057. }
  38058. // String returns the string representation
  38059. func (s ModifyInstancePlacementInput) String() string {
  38060. return awsutil.Prettify(s)
  38061. }
  38062. // GoString returns the string representation
  38063. func (s ModifyInstancePlacementInput) GoString() string {
  38064. return s.String()
  38065. }
  38066. // Validate inspects the fields of the type to determine if they are valid.
  38067. func (s *ModifyInstancePlacementInput) Validate() error {
  38068. invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
  38069. if s.InstanceId == nil {
  38070. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  38071. }
  38072. if invalidParams.Len() > 0 {
  38073. return invalidParams
  38074. }
  38075. return nil
  38076. }
  38077. // SetAffinity sets the Affinity field's value.
  38078. func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
  38079. s.Affinity = &v
  38080. return s
  38081. }
  38082. // SetHostId sets the HostId field's value.
  38083. func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
  38084. s.HostId = &v
  38085. return s
  38086. }
  38087. // SetInstanceId sets the InstanceId field's value.
  38088. func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
  38089. s.InstanceId = &v
  38090. return s
  38091. }
  38092. // SetTenancy sets the Tenancy field's value.
  38093. func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
  38094. s.Tenancy = &v
  38095. return s
  38096. }
  38097. // Contains the output of ModifyInstancePlacement.
  38098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacementResult
  38099. type ModifyInstancePlacementOutput struct {
  38100. _ struct{} `type:"structure"`
  38101. // Is true if the request succeeds, and an error otherwise.
  38102. Return *bool `locationName:"return" type:"boolean"`
  38103. }
  38104. // String returns the string representation
  38105. func (s ModifyInstancePlacementOutput) String() string {
  38106. return awsutil.Prettify(s)
  38107. }
  38108. // GoString returns the string representation
  38109. func (s ModifyInstancePlacementOutput) GoString() string {
  38110. return s.String()
  38111. }
  38112. // SetReturn sets the Return field's value.
  38113. func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
  38114. s.Return = &v
  38115. return s
  38116. }
  38117. // Contains the parameters for ModifyNetworkInterfaceAttribute.
  38118. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeRequest
  38119. type ModifyNetworkInterfaceAttributeInput struct {
  38120. _ struct{} `type:"structure"`
  38121. // Information about the interface attachment. If modifying the 'delete on termination'
  38122. // attribute, you must specify the ID of the interface attachment.
  38123. Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
  38124. // A description for the network interface.
  38125. Description *AttributeValue `locationName:"description" type:"structure"`
  38126. // Checks whether you have the required permissions for the action, without
  38127. // actually making the request, and provides an error response. If you have
  38128. // the required permissions, the error response is DryRunOperation. Otherwise,
  38129. // it is UnauthorizedOperation.
  38130. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38131. // Changes the security groups for the network interface. The new set of groups
  38132. // you specify replaces the current set. You must specify at least one group,
  38133. // even if it's just the default security group in the VPC. You must specify
  38134. // the ID of the security group, not the name.
  38135. Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  38136. // The ID of the network interface.
  38137. //
  38138. // NetworkInterfaceId is a required field
  38139. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  38140. // Indicates whether source/destination checking is enabled. A value of true
  38141. // means checking is enabled, and false means checking is disabled. This value
  38142. // must be false for a NAT instance to perform NAT. For more information, see
  38143. // NAT Instances (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
  38144. // in the Amazon Virtual Private Cloud User Guide.
  38145. SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
  38146. }
  38147. // String returns the string representation
  38148. func (s ModifyNetworkInterfaceAttributeInput) String() string {
  38149. return awsutil.Prettify(s)
  38150. }
  38151. // GoString returns the string representation
  38152. func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
  38153. return s.String()
  38154. }
  38155. // Validate inspects the fields of the type to determine if they are valid.
  38156. func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
  38157. invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
  38158. if s.NetworkInterfaceId == nil {
  38159. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  38160. }
  38161. if invalidParams.Len() > 0 {
  38162. return invalidParams
  38163. }
  38164. return nil
  38165. }
  38166. // SetAttachment sets the Attachment field's value.
  38167. func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
  38168. s.Attachment = v
  38169. return s
  38170. }
  38171. // SetDescription sets the Description field's value.
  38172. func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
  38173. s.Description = v
  38174. return s
  38175. }
  38176. // SetDryRun sets the DryRun field's value.
  38177. func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
  38178. s.DryRun = &v
  38179. return s
  38180. }
  38181. // SetGroups sets the Groups field's value.
  38182. func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
  38183. s.Groups = v
  38184. return s
  38185. }
  38186. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  38187. func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
  38188. s.NetworkInterfaceId = &v
  38189. return s
  38190. }
  38191. // SetSourceDestCheck sets the SourceDestCheck field's value.
  38192. func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
  38193. s.SourceDestCheck = v
  38194. return s
  38195. }
  38196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttributeOutput
  38197. type ModifyNetworkInterfaceAttributeOutput struct {
  38198. _ struct{} `type:"structure"`
  38199. }
  38200. // String returns the string representation
  38201. func (s ModifyNetworkInterfaceAttributeOutput) String() string {
  38202. return awsutil.Prettify(s)
  38203. }
  38204. // GoString returns the string representation
  38205. func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
  38206. return s.String()
  38207. }
  38208. // Contains the parameters for ModifyReservedInstances.
  38209. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesRequest
  38210. type ModifyReservedInstancesInput struct {
  38211. _ struct{} `type:"structure"`
  38212. // A unique, case-sensitive token you provide to ensure idempotency of your
  38213. // modification request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  38214. ClientToken *string `locationName:"clientToken" type:"string"`
  38215. // The IDs of the Reserved Instances to modify.
  38216. //
  38217. // ReservedInstancesIds is a required field
  38218. ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
  38219. // The configuration settings for the Reserved Instances to modify.
  38220. //
  38221. // TargetConfigurations is a required field
  38222. TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
  38223. }
  38224. // String returns the string representation
  38225. func (s ModifyReservedInstancesInput) String() string {
  38226. return awsutil.Prettify(s)
  38227. }
  38228. // GoString returns the string representation
  38229. func (s ModifyReservedInstancesInput) GoString() string {
  38230. return s.String()
  38231. }
  38232. // Validate inspects the fields of the type to determine if they are valid.
  38233. func (s *ModifyReservedInstancesInput) Validate() error {
  38234. invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
  38235. if s.ReservedInstancesIds == nil {
  38236. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
  38237. }
  38238. if s.TargetConfigurations == nil {
  38239. invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
  38240. }
  38241. if invalidParams.Len() > 0 {
  38242. return invalidParams
  38243. }
  38244. return nil
  38245. }
  38246. // SetClientToken sets the ClientToken field's value.
  38247. func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
  38248. s.ClientToken = &v
  38249. return s
  38250. }
  38251. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  38252. func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
  38253. s.ReservedInstancesIds = v
  38254. return s
  38255. }
  38256. // SetTargetConfigurations sets the TargetConfigurations field's value.
  38257. func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
  38258. s.TargetConfigurations = v
  38259. return s
  38260. }
  38261. // Contains the output of ModifyReservedInstances.
  38262. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstancesResult
  38263. type ModifyReservedInstancesOutput struct {
  38264. _ struct{} `type:"structure"`
  38265. // The ID for the modification.
  38266. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  38267. }
  38268. // String returns the string representation
  38269. func (s ModifyReservedInstancesOutput) String() string {
  38270. return awsutil.Prettify(s)
  38271. }
  38272. // GoString returns the string representation
  38273. func (s ModifyReservedInstancesOutput) GoString() string {
  38274. return s.String()
  38275. }
  38276. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  38277. func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
  38278. s.ReservedInstancesModificationId = &v
  38279. return s
  38280. }
  38281. // Contains the parameters for ModifySnapshotAttribute.
  38282. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeRequest
  38283. type ModifySnapshotAttributeInput struct {
  38284. _ struct{} `type:"structure"`
  38285. // The snapshot attribute to modify.
  38286. //
  38287. // Only volume creation permissions may be modified at the customer level.
  38288. Attribute *string `type:"string" enum:"SnapshotAttributeName"`
  38289. // A JSON representation of the snapshot attribute modification.
  38290. CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
  38291. // Checks whether you have the required permissions for the action, without
  38292. // actually making the request, and provides an error response. If you have
  38293. // the required permissions, the error response is DryRunOperation. Otherwise,
  38294. // it is UnauthorizedOperation.
  38295. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38296. // The group to modify for the snapshot.
  38297. GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
  38298. // The type of operation to perform to the attribute.
  38299. OperationType *string `type:"string" enum:"OperationType"`
  38300. // The ID of the snapshot.
  38301. //
  38302. // SnapshotId is a required field
  38303. SnapshotId *string `type:"string" required:"true"`
  38304. // The account ID to modify for the snapshot.
  38305. UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
  38306. }
  38307. // String returns the string representation
  38308. func (s ModifySnapshotAttributeInput) String() string {
  38309. return awsutil.Prettify(s)
  38310. }
  38311. // GoString returns the string representation
  38312. func (s ModifySnapshotAttributeInput) GoString() string {
  38313. return s.String()
  38314. }
  38315. // Validate inspects the fields of the type to determine if they are valid.
  38316. func (s *ModifySnapshotAttributeInput) Validate() error {
  38317. invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
  38318. if s.SnapshotId == nil {
  38319. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  38320. }
  38321. if invalidParams.Len() > 0 {
  38322. return invalidParams
  38323. }
  38324. return nil
  38325. }
  38326. // SetAttribute sets the Attribute field's value.
  38327. func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
  38328. s.Attribute = &v
  38329. return s
  38330. }
  38331. // SetCreateVolumePermission sets the CreateVolumePermission field's value.
  38332. func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
  38333. s.CreateVolumePermission = v
  38334. return s
  38335. }
  38336. // SetDryRun sets the DryRun field's value.
  38337. func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
  38338. s.DryRun = &v
  38339. return s
  38340. }
  38341. // SetGroupNames sets the GroupNames field's value.
  38342. func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
  38343. s.GroupNames = v
  38344. return s
  38345. }
  38346. // SetOperationType sets the OperationType field's value.
  38347. func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
  38348. s.OperationType = &v
  38349. return s
  38350. }
  38351. // SetSnapshotId sets the SnapshotId field's value.
  38352. func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
  38353. s.SnapshotId = &v
  38354. return s
  38355. }
  38356. // SetUserIds sets the UserIds field's value.
  38357. func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
  38358. s.UserIds = v
  38359. return s
  38360. }
  38361. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttributeOutput
  38362. type ModifySnapshotAttributeOutput struct {
  38363. _ struct{} `type:"structure"`
  38364. }
  38365. // String returns the string representation
  38366. func (s ModifySnapshotAttributeOutput) String() string {
  38367. return awsutil.Prettify(s)
  38368. }
  38369. // GoString returns the string representation
  38370. func (s ModifySnapshotAttributeOutput) GoString() string {
  38371. return s.String()
  38372. }
  38373. // Contains the parameters for ModifySpotFleetRequest.
  38374. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestRequest
  38375. type ModifySpotFleetRequestInput struct {
  38376. _ struct{} `type:"structure"`
  38377. // Indicates whether running Spot instances should be terminated if the target
  38378. // capacity of the Spot fleet request is decreased below the current size of
  38379. // the Spot fleet.
  38380. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  38381. // The ID of the Spot fleet request.
  38382. //
  38383. // SpotFleetRequestId is a required field
  38384. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  38385. // The size of the fleet.
  38386. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
  38387. }
  38388. // String returns the string representation
  38389. func (s ModifySpotFleetRequestInput) String() string {
  38390. return awsutil.Prettify(s)
  38391. }
  38392. // GoString returns the string representation
  38393. func (s ModifySpotFleetRequestInput) GoString() string {
  38394. return s.String()
  38395. }
  38396. // Validate inspects the fields of the type to determine if they are valid.
  38397. func (s *ModifySpotFleetRequestInput) Validate() error {
  38398. invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
  38399. if s.SpotFleetRequestId == nil {
  38400. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
  38401. }
  38402. if invalidParams.Len() > 0 {
  38403. return invalidParams
  38404. }
  38405. return nil
  38406. }
  38407. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  38408. func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
  38409. s.ExcessCapacityTerminationPolicy = &v
  38410. return s
  38411. }
  38412. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  38413. func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
  38414. s.SpotFleetRequestId = &v
  38415. return s
  38416. }
  38417. // SetTargetCapacity sets the TargetCapacity field's value.
  38418. func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
  38419. s.TargetCapacity = &v
  38420. return s
  38421. }
  38422. // Contains the output of ModifySpotFleetRequest.
  38423. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequestResponse
  38424. type ModifySpotFleetRequestOutput struct {
  38425. _ struct{} `type:"structure"`
  38426. // Is true if the request succeeds, and an error otherwise.
  38427. Return *bool `locationName:"return" type:"boolean"`
  38428. }
  38429. // String returns the string representation
  38430. func (s ModifySpotFleetRequestOutput) String() string {
  38431. return awsutil.Prettify(s)
  38432. }
  38433. // GoString returns the string representation
  38434. func (s ModifySpotFleetRequestOutput) GoString() string {
  38435. return s.String()
  38436. }
  38437. // SetReturn sets the Return field's value.
  38438. func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
  38439. s.Return = &v
  38440. return s
  38441. }
  38442. // Contains the parameters for ModifySubnetAttribute.
  38443. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeRequest
  38444. type ModifySubnetAttributeInput struct {
  38445. _ struct{} `type:"structure"`
  38446. // Specify true to indicate that network interfaces created in the specified
  38447. // subnet should be assigned an IPv6 address. This includes a network interface
  38448. // that's created when launching an instance into the subnet (the instance therefore
  38449. // receives an IPv6 address).
  38450. //
  38451. // If you enable the IPv6 addressing feature for your subnet, your network interface
  38452. // or instance only receives an IPv6 address if it's created using version 2016-11-15
  38453. // or later of the Amazon EC2 API.
  38454. AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
  38455. // Specify true to indicate that network interfaces created in the specified
  38456. // subnet should be assigned a public IPv4 address. This includes a network
  38457. // interface that's created when launching an instance into the subnet (the
  38458. // instance therefore receives a public IPv4 address).
  38459. MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
  38460. // The ID of the subnet.
  38461. //
  38462. // SubnetId is a required field
  38463. SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
  38464. }
  38465. // String returns the string representation
  38466. func (s ModifySubnetAttributeInput) String() string {
  38467. return awsutil.Prettify(s)
  38468. }
  38469. // GoString returns the string representation
  38470. func (s ModifySubnetAttributeInput) GoString() string {
  38471. return s.String()
  38472. }
  38473. // Validate inspects the fields of the type to determine if they are valid.
  38474. func (s *ModifySubnetAttributeInput) Validate() error {
  38475. invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
  38476. if s.SubnetId == nil {
  38477. invalidParams.Add(request.NewErrParamRequired("SubnetId"))
  38478. }
  38479. if invalidParams.Len() > 0 {
  38480. return invalidParams
  38481. }
  38482. return nil
  38483. }
  38484. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  38485. func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  38486. s.AssignIpv6AddressOnCreation = v
  38487. return s
  38488. }
  38489. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  38490. func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
  38491. s.MapPublicIpOnLaunch = v
  38492. return s
  38493. }
  38494. // SetSubnetId sets the SubnetId field's value.
  38495. func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
  38496. s.SubnetId = &v
  38497. return s
  38498. }
  38499. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttributeOutput
  38500. type ModifySubnetAttributeOutput struct {
  38501. _ struct{} `type:"structure"`
  38502. }
  38503. // String returns the string representation
  38504. func (s ModifySubnetAttributeOutput) String() string {
  38505. return awsutil.Prettify(s)
  38506. }
  38507. // GoString returns the string representation
  38508. func (s ModifySubnetAttributeOutput) GoString() string {
  38509. return s.String()
  38510. }
  38511. // Contains the parameters for ModifyVolumeAttribute.
  38512. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeRequest
  38513. type ModifyVolumeAttributeInput struct {
  38514. _ struct{} `type:"structure"`
  38515. // Indicates whether the volume should be auto-enabled for I/O operations.
  38516. AutoEnableIO *AttributeBooleanValue `type:"structure"`
  38517. // Checks whether you have the required permissions for the action, without
  38518. // actually making the request, and provides an error response. If you have
  38519. // the required permissions, the error response is DryRunOperation. Otherwise,
  38520. // it is UnauthorizedOperation.
  38521. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38522. // The ID of the volume.
  38523. //
  38524. // VolumeId is a required field
  38525. VolumeId *string `type:"string" required:"true"`
  38526. }
  38527. // String returns the string representation
  38528. func (s ModifyVolumeAttributeInput) String() string {
  38529. return awsutil.Prettify(s)
  38530. }
  38531. // GoString returns the string representation
  38532. func (s ModifyVolumeAttributeInput) GoString() string {
  38533. return s.String()
  38534. }
  38535. // Validate inspects the fields of the type to determine if they are valid.
  38536. func (s *ModifyVolumeAttributeInput) Validate() error {
  38537. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
  38538. if s.VolumeId == nil {
  38539. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  38540. }
  38541. if invalidParams.Len() > 0 {
  38542. return invalidParams
  38543. }
  38544. return nil
  38545. }
  38546. // SetAutoEnableIO sets the AutoEnableIO field's value.
  38547. func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
  38548. s.AutoEnableIO = v
  38549. return s
  38550. }
  38551. // SetDryRun sets the DryRun field's value.
  38552. func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
  38553. s.DryRun = &v
  38554. return s
  38555. }
  38556. // SetVolumeId sets the VolumeId field's value.
  38557. func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
  38558. s.VolumeId = &v
  38559. return s
  38560. }
  38561. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttributeOutput
  38562. type ModifyVolumeAttributeOutput struct {
  38563. _ struct{} `type:"structure"`
  38564. }
  38565. // String returns the string representation
  38566. func (s ModifyVolumeAttributeOutput) String() string {
  38567. return awsutil.Prettify(s)
  38568. }
  38569. // GoString returns the string representation
  38570. func (s ModifyVolumeAttributeOutput) GoString() string {
  38571. return s.String()
  38572. }
  38573. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeRequest
  38574. type ModifyVolumeInput struct {
  38575. _ struct{} `type:"structure"`
  38576. // Checks whether you have the required permissions for the action, without
  38577. // actually making the request, and provides an error response. If you have
  38578. // the required permissions, the error response is DryRunOperation. Otherwise,
  38579. // it is UnauthorizedOperation.
  38580. DryRun *bool `type:"boolean"`
  38581. // Target IOPS rate of the volume to be modified.
  38582. //
  38583. // Only valid for Provisioned IOPS SSD (io1) volumes. For more information about
  38584. // io1 IOPS configuration, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops
  38585. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
  38586. //
  38587. // Default: If no IOPS value is specified, the existing value is retained.
  38588. Iops *int64 `type:"integer"`
  38589. // Target size in GiB of the volume to be modified. Target volume size must
  38590. // be greater than or equal to than the existing size of the volume. For information
  38591. // about available EBS volume sizes, see http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
  38592. // (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
  38593. //
  38594. // Default: If no size is specified, the existing size is retained.
  38595. Size *int64 `type:"integer"`
  38596. // VolumeId is a required field
  38597. VolumeId *string `type:"string" required:"true"`
  38598. // Target EBS volume type of the volume to be modified
  38599. //
  38600. // The API does not support modifications for volume type standard. You also
  38601. // cannot change the type of a volume to standard.
  38602. //
  38603. // Default: If no type is specified, the existing type is retained.
  38604. VolumeType *string `type:"string" enum:"VolumeType"`
  38605. }
  38606. // String returns the string representation
  38607. func (s ModifyVolumeInput) String() string {
  38608. return awsutil.Prettify(s)
  38609. }
  38610. // GoString returns the string representation
  38611. func (s ModifyVolumeInput) GoString() string {
  38612. return s.String()
  38613. }
  38614. // Validate inspects the fields of the type to determine if they are valid.
  38615. func (s *ModifyVolumeInput) Validate() error {
  38616. invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
  38617. if s.VolumeId == nil {
  38618. invalidParams.Add(request.NewErrParamRequired("VolumeId"))
  38619. }
  38620. if invalidParams.Len() > 0 {
  38621. return invalidParams
  38622. }
  38623. return nil
  38624. }
  38625. // SetDryRun sets the DryRun field's value.
  38626. func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
  38627. s.DryRun = &v
  38628. return s
  38629. }
  38630. // SetIops sets the Iops field's value.
  38631. func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
  38632. s.Iops = &v
  38633. return s
  38634. }
  38635. // SetSize sets the Size field's value.
  38636. func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
  38637. s.Size = &v
  38638. return s
  38639. }
  38640. // SetVolumeId sets the VolumeId field's value.
  38641. func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
  38642. s.VolumeId = &v
  38643. return s
  38644. }
  38645. // SetVolumeType sets the VolumeType field's value.
  38646. func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
  38647. s.VolumeType = &v
  38648. return s
  38649. }
  38650. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeResult
  38651. type ModifyVolumeOutput struct {
  38652. _ struct{} `type:"structure"`
  38653. // A VolumeModification object.
  38654. VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
  38655. }
  38656. // String returns the string representation
  38657. func (s ModifyVolumeOutput) String() string {
  38658. return awsutil.Prettify(s)
  38659. }
  38660. // GoString returns the string representation
  38661. func (s ModifyVolumeOutput) GoString() string {
  38662. return s.String()
  38663. }
  38664. // SetVolumeModification sets the VolumeModification field's value.
  38665. func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
  38666. s.VolumeModification = v
  38667. return s
  38668. }
  38669. // Contains the parameters for ModifyVpcAttribute.
  38670. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeRequest
  38671. type ModifyVpcAttributeInput struct {
  38672. _ struct{} `type:"structure"`
  38673. // Indicates whether the instances launched in the VPC get DNS hostnames. If
  38674. // enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
  38675. //
  38676. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  38677. // same request. Use separate requests for each attribute. You can only enable
  38678. // DNS hostnames if you've enabled DNS support.
  38679. EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
  38680. // Indicates whether the DNS resolution is supported for the VPC. If enabled,
  38681. // queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
  38682. // or the reserved IP address at the base of the VPC network range "plus two"
  38683. // will succeed. If disabled, the Amazon provided DNS service in the VPC that
  38684. // resolves public DNS hostnames to IP addresses is not enabled.
  38685. //
  38686. // You cannot modify the DNS resolution and DNS hostnames attributes in the
  38687. // same request. Use separate requests for each attribute.
  38688. EnableDnsSupport *AttributeBooleanValue `type:"structure"`
  38689. // The ID of the VPC.
  38690. //
  38691. // VpcId is a required field
  38692. VpcId *string `locationName:"vpcId" type:"string" required:"true"`
  38693. }
  38694. // String returns the string representation
  38695. func (s ModifyVpcAttributeInput) String() string {
  38696. return awsutil.Prettify(s)
  38697. }
  38698. // GoString returns the string representation
  38699. func (s ModifyVpcAttributeInput) GoString() string {
  38700. return s.String()
  38701. }
  38702. // Validate inspects the fields of the type to determine if they are valid.
  38703. func (s *ModifyVpcAttributeInput) Validate() error {
  38704. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
  38705. if s.VpcId == nil {
  38706. invalidParams.Add(request.NewErrParamRequired("VpcId"))
  38707. }
  38708. if invalidParams.Len() > 0 {
  38709. return invalidParams
  38710. }
  38711. return nil
  38712. }
  38713. // SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
  38714. func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  38715. s.EnableDnsHostnames = v
  38716. return s
  38717. }
  38718. // SetEnableDnsSupport sets the EnableDnsSupport field's value.
  38719. func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
  38720. s.EnableDnsSupport = v
  38721. return s
  38722. }
  38723. // SetVpcId sets the VpcId field's value.
  38724. func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
  38725. s.VpcId = &v
  38726. return s
  38727. }
  38728. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttributeOutput
  38729. type ModifyVpcAttributeOutput struct {
  38730. _ struct{} `type:"structure"`
  38731. }
  38732. // String returns the string representation
  38733. func (s ModifyVpcAttributeOutput) String() string {
  38734. return awsutil.Prettify(s)
  38735. }
  38736. // GoString returns the string representation
  38737. func (s ModifyVpcAttributeOutput) GoString() string {
  38738. return s.String()
  38739. }
  38740. // Contains the parameters for ModifyVpcEndpoint.
  38741. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointRequest
  38742. type ModifyVpcEndpointInput struct {
  38743. _ struct{} `type:"structure"`
  38744. // One or more route tables IDs to associate with the endpoint.
  38745. AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
  38746. // Checks whether you have the required permissions for the action, without
  38747. // actually making the request, and provides an error response. If you have
  38748. // the required permissions, the error response is DryRunOperation. Otherwise,
  38749. // it is UnauthorizedOperation.
  38750. DryRun *bool `type:"boolean"`
  38751. // A policy document to attach to the endpoint. The policy must be in valid
  38752. // JSON format.
  38753. PolicyDocument *string `type:"string"`
  38754. // One or more route table IDs to disassociate from the endpoint.
  38755. RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
  38756. // Specify true to reset the policy document to the default policy. The default
  38757. // policy allows access to the service.
  38758. ResetPolicy *bool `type:"boolean"`
  38759. // The ID of the endpoint.
  38760. //
  38761. // VpcEndpointId is a required field
  38762. VpcEndpointId *string `type:"string" required:"true"`
  38763. }
  38764. // String returns the string representation
  38765. func (s ModifyVpcEndpointInput) String() string {
  38766. return awsutil.Prettify(s)
  38767. }
  38768. // GoString returns the string representation
  38769. func (s ModifyVpcEndpointInput) GoString() string {
  38770. return s.String()
  38771. }
  38772. // Validate inspects the fields of the type to determine if they are valid.
  38773. func (s *ModifyVpcEndpointInput) Validate() error {
  38774. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
  38775. if s.VpcEndpointId == nil {
  38776. invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
  38777. }
  38778. if invalidParams.Len() > 0 {
  38779. return invalidParams
  38780. }
  38781. return nil
  38782. }
  38783. // SetAddRouteTableIds sets the AddRouteTableIds field's value.
  38784. func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  38785. s.AddRouteTableIds = v
  38786. return s
  38787. }
  38788. // SetDryRun sets the DryRun field's value.
  38789. func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
  38790. s.DryRun = &v
  38791. return s
  38792. }
  38793. // SetPolicyDocument sets the PolicyDocument field's value.
  38794. func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
  38795. s.PolicyDocument = &v
  38796. return s
  38797. }
  38798. // SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
  38799. func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
  38800. s.RemoveRouteTableIds = v
  38801. return s
  38802. }
  38803. // SetResetPolicy sets the ResetPolicy field's value.
  38804. func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
  38805. s.ResetPolicy = &v
  38806. return s
  38807. }
  38808. // SetVpcEndpointId sets the VpcEndpointId field's value.
  38809. func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
  38810. s.VpcEndpointId = &v
  38811. return s
  38812. }
  38813. // Contains the output of ModifyVpcEndpoint.
  38814. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointResult
  38815. type ModifyVpcEndpointOutput struct {
  38816. _ struct{} `type:"structure"`
  38817. // Returns true if the request succeeds; otherwise, it returns an error.
  38818. Return *bool `locationName:"return" type:"boolean"`
  38819. }
  38820. // String returns the string representation
  38821. func (s ModifyVpcEndpointOutput) String() string {
  38822. return awsutil.Prettify(s)
  38823. }
  38824. // GoString returns the string representation
  38825. func (s ModifyVpcEndpointOutput) GoString() string {
  38826. return s.String()
  38827. }
  38828. // SetReturn sets the Return field's value.
  38829. func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
  38830. s.Return = &v
  38831. return s
  38832. }
  38833. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsRequest
  38834. type ModifyVpcPeeringConnectionOptionsInput struct {
  38835. _ struct{} `type:"structure"`
  38836. // The VPC peering connection options for the accepter VPC.
  38837. AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  38838. // Checks whether you have the required permissions for the operation, without
  38839. // actually making the request, and provides an error response. If you have
  38840. // the required permissions, the error response is DryRunOperation. Otherwise,
  38841. // it is UnauthorizedOperation.
  38842. DryRun *bool `type:"boolean"`
  38843. // The VPC peering connection options for the requester VPC.
  38844. RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
  38845. // The ID of the VPC peering connection.
  38846. //
  38847. // VpcPeeringConnectionId is a required field
  38848. VpcPeeringConnectionId *string `type:"string" required:"true"`
  38849. }
  38850. // String returns the string representation
  38851. func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
  38852. return awsutil.Prettify(s)
  38853. }
  38854. // GoString returns the string representation
  38855. func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
  38856. return s.String()
  38857. }
  38858. // Validate inspects the fields of the type to determine if they are valid.
  38859. func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
  38860. invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
  38861. if s.VpcPeeringConnectionId == nil {
  38862. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  38863. }
  38864. if invalidParams.Len() > 0 {
  38865. return invalidParams
  38866. }
  38867. return nil
  38868. }
  38869. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  38870. func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  38871. s.AccepterPeeringConnectionOptions = v
  38872. return s
  38873. }
  38874. // SetDryRun sets the DryRun field's value.
  38875. func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
  38876. s.DryRun = &v
  38877. return s
  38878. }
  38879. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  38880. func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
  38881. s.RequesterPeeringConnectionOptions = v
  38882. return s
  38883. }
  38884. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  38885. func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
  38886. s.VpcPeeringConnectionId = &v
  38887. return s
  38888. }
  38889. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptionsResult
  38890. type ModifyVpcPeeringConnectionOptionsOutput struct {
  38891. _ struct{} `type:"structure"`
  38892. // Information about the VPC peering connection options for the accepter VPC.
  38893. AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
  38894. // Information about the VPC peering connection options for the requester VPC.
  38895. RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
  38896. }
  38897. // String returns the string representation
  38898. func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
  38899. return awsutil.Prettify(s)
  38900. }
  38901. // GoString returns the string representation
  38902. func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
  38903. return s.String()
  38904. }
  38905. // SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
  38906. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  38907. s.AccepterPeeringConnectionOptions = v
  38908. return s
  38909. }
  38910. // SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
  38911. func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
  38912. s.RequesterPeeringConnectionOptions = v
  38913. return s
  38914. }
  38915. // Contains the parameters for MonitorInstances.
  38916. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesRequest
  38917. type MonitorInstancesInput struct {
  38918. _ struct{} `type:"structure"`
  38919. // Checks whether you have the required permissions for the action, without
  38920. // actually making the request, and provides an error response. If you have
  38921. // the required permissions, the error response is DryRunOperation. Otherwise,
  38922. // it is UnauthorizedOperation.
  38923. DryRun *bool `locationName:"dryRun" type:"boolean"`
  38924. // One or more instance IDs.
  38925. //
  38926. // InstanceIds is a required field
  38927. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  38928. }
  38929. // String returns the string representation
  38930. func (s MonitorInstancesInput) String() string {
  38931. return awsutil.Prettify(s)
  38932. }
  38933. // GoString returns the string representation
  38934. func (s MonitorInstancesInput) GoString() string {
  38935. return s.String()
  38936. }
  38937. // Validate inspects the fields of the type to determine if they are valid.
  38938. func (s *MonitorInstancesInput) Validate() error {
  38939. invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
  38940. if s.InstanceIds == nil {
  38941. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  38942. }
  38943. if invalidParams.Len() > 0 {
  38944. return invalidParams
  38945. }
  38946. return nil
  38947. }
  38948. // SetDryRun sets the DryRun field's value.
  38949. func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
  38950. s.DryRun = &v
  38951. return s
  38952. }
  38953. // SetInstanceIds sets the InstanceIds field's value.
  38954. func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
  38955. s.InstanceIds = v
  38956. return s
  38957. }
  38958. // Contains the output of MonitorInstances.
  38959. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstancesResult
  38960. type MonitorInstancesOutput struct {
  38961. _ struct{} `type:"structure"`
  38962. // The monitoring information.
  38963. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  38964. }
  38965. // String returns the string representation
  38966. func (s MonitorInstancesOutput) String() string {
  38967. return awsutil.Prettify(s)
  38968. }
  38969. // GoString returns the string representation
  38970. func (s MonitorInstancesOutput) GoString() string {
  38971. return s.String()
  38972. }
  38973. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  38974. func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
  38975. s.InstanceMonitorings = v
  38976. return s
  38977. }
  38978. // Describes the monitoring of an instance.
  38979. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Monitoring
  38980. type Monitoring struct {
  38981. _ struct{} `type:"structure"`
  38982. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  38983. // is enabled.
  38984. State *string `locationName:"state" type:"string" enum:"MonitoringState"`
  38985. }
  38986. // String returns the string representation
  38987. func (s Monitoring) String() string {
  38988. return awsutil.Prettify(s)
  38989. }
  38990. // GoString returns the string representation
  38991. func (s Monitoring) GoString() string {
  38992. return s.String()
  38993. }
  38994. // SetState sets the State field's value.
  38995. func (s *Monitoring) SetState(v string) *Monitoring {
  38996. s.State = &v
  38997. return s
  38998. }
  38999. // Contains the parameters for MoveAddressToVpc.
  39000. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcRequest
  39001. type MoveAddressToVpcInput struct {
  39002. _ struct{} `type:"structure"`
  39003. // Checks whether you have the required permissions for the action, without
  39004. // actually making the request, and provides an error response. If you have
  39005. // the required permissions, the error response is DryRunOperation. Otherwise,
  39006. // it is UnauthorizedOperation.
  39007. DryRun *bool `locationName:"dryRun" type:"boolean"`
  39008. // The Elastic IP address.
  39009. //
  39010. // PublicIp is a required field
  39011. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  39012. }
  39013. // String returns the string representation
  39014. func (s MoveAddressToVpcInput) String() string {
  39015. return awsutil.Prettify(s)
  39016. }
  39017. // GoString returns the string representation
  39018. func (s MoveAddressToVpcInput) GoString() string {
  39019. return s.String()
  39020. }
  39021. // Validate inspects the fields of the type to determine if they are valid.
  39022. func (s *MoveAddressToVpcInput) Validate() error {
  39023. invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
  39024. if s.PublicIp == nil {
  39025. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  39026. }
  39027. if invalidParams.Len() > 0 {
  39028. return invalidParams
  39029. }
  39030. return nil
  39031. }
  39032. // SetDryRun sets the DryRun field's value.
  39033. func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
  39034. s.DryRun = &v
  39035. return s
  39036. }
  39037. // SetPublicIp sets the PublicIp field's value.
  39038. func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
  39039. s.PublicIp = &v
  39040. return s
  39041. }
  39042. // Contains the output of MoveAddressToVpc.
  39043. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpcResult
  39044. type MoveAddressToVpcOutput struct {
  39045. _ struct{} `type:"structure"`
  39046. // The allocation ID for the Elastic IP address.
  39047. AllocationId *string `locationName:"allocationId" type:"string"`
  39048. // The status of the move of the IP address.
  39049. Status *string `locationName:"status" type:"string" enum:"Status"`
  39050. }
  39051. // String returns the string representation
  39052. func (s MoveAddressToVpcOutput) String() string {
  39053. return awsutil.Prettify(s)
  39054. }
  39055. // GoString returns the string representation
  39056. func (s MoveAddressToVpcOutput) GoString() string {
  39057. return s.String()
  39058. }
  39059. // SetAllocationId sets the AllocationId field's value.
  39060. func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
  39061. s.AllocationId = &v
  39062. return s
  39063. }
  39064. // SetStatus sets the Status field's value.
  39065. func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
  39066. s.Status = &v
  39067. return s
  39068. }
  39069. // Describes the status of a moving Elastic IP address.
  39070. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MovingAddressStatus
  39071. type MovingAddressStatus struct {
  39072. _ struct{} `type:"structure"`
  39073. // The status of the Elastic IP address that's being moved to the EC2-VPC platform,
  39074. // or restored to the EC2-Classic platform.
  39075. MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
  39076. // The Elastic IP address.
  39077. PublicIp *string `locationName:"publicIp" type:"string"`
  39078. }
  39079. // String returns the string representation
  39080. func (s MovingAddressStatus) String() string {
  39081. return awsutil.Prettify(s)
  39082. }
  39083. // GoString returns the string representation
  39084. func (s MovingAddressStatus) GoString() string {
  39085. return s.String()
  39086. }
  39087. // SetMoveStatus sets the MoveStatus field's value.
  39088. func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
  39089. s.MoveStatus = &v
  39090. return s
  39091. }
  39092. // SetPublicIp sets the PublicIp field's value.
  39093. func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
  39094. s.PublicIp = &v
  39095. return s
  39096. }
  39097. // Describes a NAT gateway.
  39098. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGateway
  39099. type NatGateway struct {
  39100. _ struct{} `type:"structure"`
  39101. // The date and time the NAT gateway was created.
  39102. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  39103. // The date and time the NAT gateway was deleted, if applicable.
  39104. DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp" timestampFormat:"iso8601"`
  39105. // If the NAT gateway could not be created, specifies the error code for the
  39106. // failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
  39107. // | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
  39108. FailureCode *string `locationName:"failureCode" type:"string"`
  39109. // If the NAT gateway could not be created, specifies the error message for
  39110. // the failure, that corresponds to the error code.
  39111. //
  39112. // * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
  39113. // addresses to create this NAT gateway"
  39114. //
  39115. // * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
  39116. // attached"
  39117. //
  39118. // * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
  39119. // could not be associated with this NAT gateway"
  39120. //
  39121. // * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
  39122. // is already associated"
  39123. //
  39124. // * For InternalError: "Network interface eni-xxxxxxxx, created and used
  39125. // internally by this NAT gateway is in an invalid state. Please try again."
  39126. //
  39127. // * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
  39128. // does not exist or could not be found."
  39129. FailureMessage *string `locationName:"failureMessage" type:"string"`
  39130. // Information about the IP addresses and network interface associated with
  39131. // the NAT gateway.
  39132. NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
  39133. // The ID of the NAT gateway.
  39134. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  39135. // Reserved. If you need to sustain traffic greater than the documented limits
  39136. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  39137. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  39138. ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
  39139. // The state of the NAT gateway.
  39140. //
  39141. // * pending: The NAT gateway is being created and is not ready to process
  39142. // traffic.
  39143. //
  39144. // * failed: The NAT gateway could not be created. Check the failureCode
  39145. // and failureMessage fields for the reason.
  39146. //
  39147. // * available: The NAT gateway is able to process traffic. This status remains
  39148. // until you delete the NAT gateway, and does not indicate the health of
  39149. // the NAT gateway.
  39150. //
  39151. // * deleting: The NAT gateway is in the process of being terminated and
  39152. // may still be processing traffic.
  39153. //
  39154. // * deleted: The NAT gateway has been terminated and is no longer processing
  39155. // traffic.
  39156. State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
  39157. // The ID of the subnet in which the NAT gateway is located.
  39158. SubnetId *string `locationName:"subnetId" type:"string"`
  39159. // The ID of the VPC in which the NAT gateway is located.
  39160. VpcId *string `locationName:"vpcId" type:"string"`
  39161. }
  39162. // String returns the string representation
  39163. func (s NatGateway) String() string {
  39164. return awsutil.Prettify(s)
  39165. }
  39166. // GoString returns the string representation
  39167. func (s NatGateway) GoString() string {
  39168. return s.String()
  39169. }
  39170. // SetCreateTime sets the CreateTime field's value.
  39171. func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
  39172. s.CreateTime = &v
  39173. return s
  39174. }
  39175. // SetDeleteTime sets the DeleteTime field's value.
  39176. func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
  39177. s.DeleteTime = &v
  39178. return s
  39179. }
  39180. // SetFailureCode sets the FailureCode field's value.
  39181. func (s *NatGateway) SetFailureCode(v string) *NatGateway {
  39182. s.FailureCode = &v
  39183. return s
  39184. }
  39185. // SetFailureMessage sets the FailureMessage field's value.
  39186. func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
  39187. s.FailureMessage = &v
  39188. return s
  39189. }
  39190. // SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
  39191. func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
  39192. s.NatGatewayAddresses = v
  39193. return s
  39194. }
  39195. // SetNatGatewayId sets the NatGatewayId field's value.
  39196. func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
  39197. s.NatGatewayId = &v
  39198. return s
  39199. }
  39200. // SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
  39201. func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
  39202. s.ProvisionedBandwidth = v
  39203. return s
  39204. }
  39205. // SetState sets the State field's value.
  39206. func (s *NatGateway) SetState(v string) *NatGateway {
  39207. s.State = &v
  39208. return s
  39209. }
  39210. // SetSubnetId sets the SubnetId field's value.
  39211. func (s *NatGateway) SetSubnetId(v string) *NatGateway {
  39212. s.SubnetId = &v
  39213. return s
  39214. }
  39215. // SetVpcId sets the VpcId field's value.
  39216. func (s *NatGateway) SetVpcId(v string) *NatGateway {
  39217. s.VpcId = &v
  39218. return s
  39219. }
  39220. // Describes the IP addresses and network interface associated with a NAT gateway.
  39221. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NatGatewayAddress
  39222. type NatGatewayAddress struct {
  39223. _ struct{} `type:"structure"`
  39224. // The allocation ID of the Elastic IP address that's associated with the NAT
  39225. // gateway.
  39226. AllocationId *string `locationName:"allocationId" type:"string"`
  39227. // The ID of the network interface associated with the NAT gateway.
  39228. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  39229. // The private IP address associated with the Elastic IP address.
  39230. PrivateIp *string `locationName:"privateIp" type:"string"`
  39231. // The Elastic IP address associated with the NAT gateway.
  39232. PublicIp *string `locationName:"publicIp" type:"string"`
  39233. }
  39234. // String returns the string representation
  39235. func (s NatGatewayAddress) String() string {
  39236. return awsutil.Prettify(s)
  39237. }
  39238. // GoString returns the string representation
  39239. func (s NatGatewayAddress) GoString() string {
  39240. return s.String()
  39241. }
  39242. // SetAllocationId sets the AllocationId field's value.
  39243. func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
  39244. s.AllocationId = &v
  39245. return s
  39246. }
  39247. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  39248. func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
  39249. s.NetworkInterfaceId = &v
  39250. return s
  39251. }
  39252. // SetPrivateIp sets the PrivateIp field's value.
  39253. func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
  39254. s.PrivateIp = &v
  39255. return s
  39256. }
  39257. // SetPublicIp sets the PublicIp field's value.
  39258. func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
  39259. s.PublicIp = &v
  39260. return s
  39261. }
  39262. // Describes a network ACL.
  39263. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAcl
  39264. type NetworkAcl struct {
  39265. _ struct{} `type:"structure"`
  39266. // Any associations between the network ACL and one or more subnets
  39267. Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  39268. // One or more entries (rules) in the network ACL.
  39269. Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
  39270. // Indicates whether this is the default network ACL for the VPC.
  39271. IsDefault *bool `locationName:"default" type:"boolean"`
  39272. // The ID of the network ACL.
  39273. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  39274. // Any tags assigned to the network ACL.
  39275. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  39276. // The ID of the VPC for the network ACL.
  39277. VpcId *string `locationName:"vpcId" type:"string"`
  39278. }
  39279. // String returns the string representation
  39280. func (s NetworkAcl) String() string {
  39281. return awsutil.Prettify(s)
  39282. }
  39283. // GoString returns the string representation
  39284. func (s NetworkAcl) GoString() string {
  39285. return s.String()
  39286. }
  39287. // SetAssociations sets the Associations field's value.
  39288. func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
  39289. s.Associations = v
  39290. return s
  39291. }
  39292. // SetEntries sets the Entries field's value.
  39293. func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
  39294. s.Entries = v
  39295. return s
  39296. }
  39297. // SetIsDefault sets the IsDefault field's value.
  39298. func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
  39299. s.IsDefault = &v
  39300. return s
  39301. }
  39302. // SetNetworkAclId sets the NetworkAclId field's value.
  39303. func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
  39304. s.NetworkAclId = &v
  39305. return s
  39306. }
  39307. // SetTags sets the Tags field's value.
  39308. func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
  39309. s.Tags = v
  39310. return s
  39311. }
  39312. // SetVpcId sets the VpcId field's value.
  39313. func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
  39314. s.VpcId = &v
  39315. return s
  39316. }
  39317. // Describes an association between a network ACL and a subnet.
  39318. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclAssociation
  39319. type NetworkAclAssociation struct {
  39320. _ struct{} `type:"structure"`
  39321. // The ID of the association between a network ACL and a subnet.
  39322. NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
  39323. // The ID of the network ACL.
  39324. NetworkAclId *string `locationName:"networkAclId" type:"string"`
  39325. // The ID of the subnet.
  39326. SubnetId *string `locationName:"subnetId" type:"string"`
  39327. }
  39328. // String returns the string representation
  39329. func (s NetworkAclAssociation) String() string {
  39330. return awsutil.Prettify(s)
  39331. }
  39332. // GoString returns the string representation
  39333. func (s NetworkAclAssociation) GoString() string {
  39334. return s.String()
  39335. }
  39336. // SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
  39337. func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
  39338. s.NetworkAclAssociationId = &v
  39339. return s
  39340. }
  39341. // SetNetworkAclId sets the NetworkAclId field's value.
  39342. func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
  39343. s.NetworkAclId = &v
  39344. return s
  39345. }
  39346. // SetSubnetId sets the SubnetId field's value.
  39347. func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
  39348. s.SubnetId = &v
  39349. return s
  39350. }
  39351. // Describes an entry in a network ACL.
  39352. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkAclEntry
  39353. type NetworkAclEntry struct {
  39354. _ struct{} `type:"structure"`
  39355. // The IPv4 network range to allow or deny, in CIDR notation.
  39356. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  39357. // Indicates whether the rule is an egress rule (applied to traffic leaving
  39358. // the subnet).
  39359. Egress *bool `locationName:"egress" type:"boolean"`
  39360. // ICMP protocol: The ICMP type and code.
  39361. IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
  39362. // The IPv6 network range to allow or deny, in CIDR notation.
  39363. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  39364. // TCP or UDP protocols: The range of ports the rule applies to.
  39365. PortRange *PortRange `locationName:"portRange" type:"structure"`
  39366. // The protocol. A value of -1 means all protocols.
  39367. Protocol *string `locationName:"protocol" type:"string"`
  39368. // Indicates whether to allow or deny the traffic that matches the rule.
  39369. RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
  39370. // The rule number for the entry. ACL entries are processed in ascending order
  39371. // by rule number.
  39372. RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
  39373. }
  39374. // String returns the string representation
  39375. func (s NetworkAclEntry) String() string {
  39376. return awsutil.Prettify(s)
  39377. }
  39378. // GoString returns the string representation
  39379. func (s NetworkAclEntry) GoString() string {
  39380. return s.String()
  39381. }
  39382. // SetCidrBlock sets the CidrBlock field's value.
  39383. func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
  39384. s.CidrBlock = &v
  39385. return s
  39386. }
  39387. // SetEgress sets the Egress field's value.
  39388. func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
  39389. s.Egress = &v
  39390. return s
  39391. }
  39392. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  39393. func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
  39394. s.IcmpTypeCode = v
  39395. return s
  39396. }
  39397. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  39398. func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
  39399. s.Ipv6CidrBlock = &v
  39400. return s
  39401. }
  39402. // SetPortRange sets the PortRange field's value.
  39403. func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
  39404. s.PortRange = v
  39405. return s
  39406. }
  39407. // SetProtocol sets the Protocol field's value.
  39408. func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
  39409. s.Protocol = &v
  39410. return s
  39411. }
  39412. // SetRuleAction sets the RuleAction field's value.
  39413. func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
  39414. s.RuleAction = &v
  39415. return s
  39416. }
  39417. // SetRuleNumber sets the RuleNumber field's value.
  39418. func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
  39419. s.RuleNumber = &v
  39420. return s
  39421. }
  39422. // Describes a network interface.
  39423. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterface
  39424. type NetworkInterface struct {
  39425. _ struct{} `type:"structure"`
  39426. // The association information for an Elastic IP address (IPv4) associated with
  39427. // the network interface.
  39428. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  39429. // The network interface attachment.
  39430. Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
  39431. // The Availability Zone.
  39432. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39433. // A description.
  39434. Description *string `locationName:"description" type:"string"`
  39435. // Any security groups for the network interface.
  39436. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  39437. // The type of interface.
  39438. InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
  39439. // The IPv6 addresses associated with the network interface.
  39440. Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
  39441. // The MAC address.
  39442. MacAddress *string `locationName:"macAddress" type:"string"`
  39443. // The ID of the network interface.
  39444. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  39445. // The AWS account ID of the owner of the network interface.
  39446. OwnerId *string `locationName:"ownerId" type:"string"`
  39447. // The private DNS name.
  39448. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  39449. // The IPv4 address of the network interface within the subnet.
  39450. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  39451. // The private IPv4 addresses associated with the network interface.
  39452. PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
  39453. // The ID of the entity that launched the instance on your behalf (for example,
  39454. // AWS Management Console or Auto Scaling).
  39455. RequesterId *string `locationName:"requesterId" type:"string"`
  39456. // Indicates whether the network interface is being managed by AWS.
  39457. RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
  39458. // Indicates whether traffic to or from the instance is validated.
  39459. SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
  39460. // The status of the network interface.
  39461. Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
  39462. // The ID of the subnet.
  39463. SubnetId *string `locationName:"subnetId" type:"string"`
  39464. // Any tags assigned to the network interface.
  39465. TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  39466. // The ID of the VPC.
  39467. VpcId *string `locationName:"vpcId" type:"string"`
  39468. }
  39469. // String returns the string representation
  39470. func (s NetworkInterface) String() string {
  39471. return awsutil.Prettify(s)
  39472. }
  39473. // GoString returns the string representation
  39474. func (s NetworkInterface) GoString() string {
  39475. return s.String()
  39476. }
  39477. // SetAssociation sets the Association field's value.
  39478. func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
  39479. s.Association = v
  39480. return s
  39481. }
  39482. // SetAttachment sets the Attachment field's value.
  39483. func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
  39484. s.Attachment = v
  39485. return s
  39486. }
  39487. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39488. func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
  39489. s.AvailabilityZone = &v
  39490. return s
  39491. }
  39492. // SetDescription sets the Description field's value.
  39493. func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
  39494. s.Description = &v
  39495. return s
  39496. }
  39497. // SetGroups sets the Groups field's value.
  39498. func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
  39499. s.Groups = v
  39500. return s
  39501. }
  39502. // SetInterfaceType sets the InterfaceType field's value.
  39503. func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
  39504. s.InterfaceType = &v
  39505. return s
  39506. }
  39507. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  39508. func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
  39509. s.Ipv6Addresses = v
  39510. return s
  39511. }
  39512. // SetMacAddress sets the MacAddress field's value.
  39513. func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
  39514. s.MacAddress = &v
  39515. return s
  39516. }
  39517. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  39518. func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
  39519. s.NetworkInterfaceId = &v
  39520. return s
  39521. }
  39522. // SetOwnerId sets the OwnerId field's value.
  39523. func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
  39524. s.OwnerId = &v
  39525. return s
  39526. }
  39527. // SetPrivateDnsName sets the PrivateDnsName field's value.
  39528. func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
  39529. s.PrivateDnsName = &v
  39530. return s
  39531. }
  39532. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  39533. func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
  39534. s.PrivateIpAddress = &v
  39535. return s
  39536. }
  39537. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  39538. func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
  39539. s.PrivateIpAddresses = v
  39540. return s
  39541. }
  39542. // SetRequesterId sets the RequesterId field's value.
  39543. func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
  39544. s.RequesterId = &v
  39545. return s
  39546. }
  39547. // SetRequesterManaged sets the RequesterManaged field's value.
  39548. func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
  39549. s.RequesterManaged = &v
  39550. return s
  39551. }
  39552. // SetSourceDestCheck sets the SourceDestCheck field's value.
  39553. func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
  39554. s.SourceDestCheck = &v
  39555. return s
  39556. }
  39557. // SetStatus sets the Status field's value.
  39558. func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
  39559. s.Status = &v
  39560. return s
  39561. }
  39562. // SetSubnetId sets the SubnetId field's value.
  39563. func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
  39564. s.SubnetId = &v
  39565. return s
  39566. }
  39567. // SetTagSet sets the TagSet field's value.
  39568. func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
  39569. s.TagSet = v
  39570. return s
  39571. }
  39572. // SetVpcId sets the VpcId field's value.
  39573. func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
  39574. s.VpcId = &v
  39575. return s
  39576. }
  39577. // Describes association information for an Elastic IP address (IPv4 only).
  39578. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAssociation
  39579. type NetworkInterfaceAssociation struct {
  39580. _ struct{} `type:"structure"`
  39581. // The allocation ID.
  39582. AllocationId *string `locationName:"allocationId" type:"string"`
  39583. // The association ID.
  39584. AssociationId *string `locationName:"associationId" type:"string"`
  39585. // The ID of the Elastic IP address owner.
  39586. IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
  39587. // The public DNS name.
  39588. PublicDnsName *string `locationName:"publicDnsName" type:"string"`
  39589. // The address of the Elastic IP address bound to the network interface.
  39590. PublicIp *string `locationName:"publicIp" type:"string"`
  39591. }
  39592. // String returns the string representation
  39593. func (s NetworkInterfaceAssociation) String() string {
  39594. return awsutil.Prettify(s)
  39595. }
  39596. // GoString returns the string representation
  39597. func (s NetworkInterfaceAssociation) GoString() string {
  39598. return s.String()
  39599. }
  39600. // SetAllocationId sets the AllocationId field's value.
  39601. func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
  39602. s.AllocationId = &v
  39603. return s
  39604. }
  39605. // SetAssociationId sets the AssociationId field's value.
  39606. func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
  39607. s.AssociationId = &v
  39608. return s
  39609. }
  39610. // SetIpOwnerId sets the IpOwnerId field's value.
  39611. func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
  39612. s.IpOwnerId = &v
  39613. return s
  39614. }
  39615. // SetPublicDnsName sets the PublicDnsName field's value.
  39616. func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
  39617. s.PublicDnsName = &v
  39618. return s
  39619. }
  39620. // SetPublicIp sets the PublicIp field's value.
  39621. func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
  39622. s.PublicIp = &v
  39623. return s
  39624. }
  39625. // Describes a network interface attachment.
  39626. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachment
  39627. type NetworkInterfaceAttachment struct {
  39628. _ struct{} `type:"structure"`
  39629. // The timestamp indicating when the attachment initiated.
  39630. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  39631. // The ID of the network interface attachment.
  39632. AttachmentId *string `locationName:"attachmentId" type:"string"`
  39633. // Indicates whether the network interface is deleted when the instance is terminated.
  39634. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39635. // The device index of the network interface attachment on the instance.
  39636. DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
  39637. // The ID of the instance.
  39638. InstanceId *string `locationName:"instanceId" type:"string"`
  39639. // The AWS account ID of the owner of the instance.
  39640. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  39641. // The attachment state.
  39642. Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
  39643. }
  39644. // String returns the string representation
  39645. func (s NetworkInterfaceAttachment) String() string {
  39646. return awsutil.Prettify(s)
  39647. }
  39648. // GoString returns the string representation
  39649. func (s NetworkInterfaceAttachment) GoString() string {
  39650. return s.String()
  39651. }
  39652. // SetAttachTime sets the AttachTime field's value.
  39653. func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
  39654. s.AttachTime = &v
  39655. return s
  39656. }
  39657. // SetAttachmentId sets the AttachmentId field's value.
  39658. func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
  39659. s.AttachmentId = &v
  39660. return s
  39661. }
  39662. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39663. func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
  39664. s.DeleteOnTermination = &v
  39665. return s
  39666. }
  39667. // SetDeviceIndex sets the DeviceIndex field's value.
  39668. func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
  39669. s.DeviceIndex = &v
  39670. return s
  39671. }
  39672. // SetInstanceId sets the InstanceId field's value.
  39673. func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
  39674. s.InstanceId = &v
  39675. return s
  39676. }
  39677. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  39678. func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
  39679. s.InstanceOwnerId = &v
  39680. return s
  39681. }
  39682. // SetStatus sets the Status field's value.
  39683. func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
  39684. s.Status = &v
  39685. return s
  39686. }
  39687. // Describes an attachment change.
  39688. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceAttachmentChanges
  39689. type NetworkInterfaceAttachmentChanges struct {
  39690. _ struct{} `type:"structure"`
  39691. // The ID of the network interface attachment.
  39692. AttachmentId *string `locationName:"attachmentId" type:"string"`
  39693. // Indicates whether the network interface is deleted when the instance is terminated.
  39694. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  39695. }
  39696. // String returns the string representation
  39697. func (s NetworkInterfaceAttachmentChanges) String() string {
  39698. return awsutil.Prettify(s)
  39699. }
  39700. // GoString returns the string representation
  39701. func (s NetworkInterfaceAttachmentChanges) GoString() string {
  39702. return s.String()
  39703. }
  39704. // SetAttachmentId sets the AttachmentId field's value.
  39705. func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
  39706. s.AttachmentId = &v
  39707. return s
  39708. }
  39709. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  39710. func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
  39711. s.DeleteOnTermination = &v
  39712. return s
  39713. }
  39714. // Describes an IPv6 address associated with a network interface.
  39715. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfaceIpv6Address
  39716. type NetworkInterfaceIpv6Address struct {
  39717. _ struct{} `type:"structure"`
  39718. // The IPv6 address.
  39719. Ipv6Address *string `locationName:"ipv6Address" type:"string"`
  39720. }
  39721. // String returns the string representation
  39722. func (s NetworkInterfaceIpv6Address) String() string {
  39723. return awsutil.Prettify(s)
  39724. }
  39725. // GoString returns the string representation
  39726. func (s NetworkInterfaceIpv6Address) GoString() string {
  39727. return s.String()
  39728. }
  39729. // SetIpv6Address sets the Ipv6Address field's value.
  39730. func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
  39731. s.Ipv6Address = &v
  39732. return s
  39733. }
  39734. // Describes the private IPv4 address of a network interface.
  39735. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePrivateIpAddress
  39736. type NetworkInterfacePrivateIpAddress struct {
  39737. _ struct{} `type:"structure"`
  39738. // The association information for an Elastic IP address (IPv4) associated with
  39739. // the network interface.
  39740. Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
  39741. // Indicates whether this IPv4 address is the primary private IPv4 address of
  39742. // the network interface.
  39743. Primary *bool `locationName:"primary" type:"boolean"`
  39744. // The private DNS name.
  39745. PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
  39746. // The private IPv4 address.
  39747. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  39748. }
  39749. // String returns the string representation
  39750. func (s NetworkInterfacePrivateIpAddress) String() string {
  39751. return awsutil.Prettify(s)
  39752. }
  39753. // GoString returns the string representation
  39754. func (s NetworkInterfacePrivateIpAddress) GoString() string {
  39755. return s.String()
  39756. }
  39757. // SetAssociation sets the Association field's value.
  39758. func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
  39759. s.Association = v
  39760. return s
  39761. }
  39762. // SetPrimary sets the Primary field's value.
  39763. func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
  39764. s.Primary = &v
  39765. return s
  39766. }
  39767. // SetPrivateDnsName sets the PrivateDnsName field's value.
  39768. func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
  39769. s.PrivateDnsName = &v
  39770. return s
  39771. }
  39772. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  39773. func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
  39774. s.PrivateIpAddress = &v
  39775. return s
  39776. }
  39777. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NewDhcpConfiguration
  39778. type NewDhcpConfiguration struct {
  39779. _ struct{} `type:"structure"`
  39780. Key *string `locationName:"key" type:"string"`
  39781. Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
  39782. }
  39783. // String returns the string representation
  39784. func (s NewDhcpConfiguration) String() string {
  39785. return awsutil.Prettify(s)
  39786. }
  39787. // GoString returns the string representation
  39788. func (s NewDhcpConfiguration) GoString() string {
  39789. return s.String()
  39790. }
  39791. // SetKey sets the Key field's value.
  39792. func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
  39793. s.Key = &v
  39794. return s
  39795. }
  39796. // SetValues sets the Values field's value.
  39797. func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
  39798. s.Values = v
  39799. return s
  39800. }
  39801. // Describes the VPC peering connection options.
  39802. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptions
  39803. type PeeringConnectionOptions struct {
  39804. _ struct{} `type:"structure"`
  39805. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  39806. // addresses when queried from instances in the peer VPC.
  39807. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  39808. // If true, enables outbound communication from an EC2-Classic instance that's
  39809. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  39810. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  39811. // If true, enables outbound communication from instances in a local VPC to
  39812. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  39813. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  39814. }
  39815. // String returns the string representation
  39816. func (s PeeringConnectionOptions) String() string {
  39817. return awsutil.Prettify(s)
  39818. }
  39819. // GoString returns the string representation
  39820. func (s PeeringConnectionOptions) GoString() string {
  39821. return s.String()
  39822. }
  39823. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  39824. func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
  39825. s.AllowDnsResolutionFromRemoteVpc = &v
  39826. return s
  39827. }
  39828. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  39829. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
  39830. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  39831. return s
  39832. }
  39833. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  39834. func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
  39835. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  39836. return s
  39837. }
  39838. // The VPC peering connection options.
  39839. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PeeringConnectionOptionsRequest
  39840. type PeeringConnectionOptionsRequest struct {
  39841. _ struct{} `type:"structure"`
  39842. // If true, enables a local VPC to resolve public DNS hostnames to private IP
  39843. // addresses when queried from instances in the peer VPC.
  39844. AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
  39845. // If true, enables outbound communication from an EC2-Classic instance that's
  39846. // linked to a local VPC via ClassicLink to instances in a peer VPC.
  39847. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
  39848. // If true, enables outbound communication from instances in a local VPC to
  39849. // an EC2-Classic instance that's linked to a peer VPC via ClassicLink.
  39850. AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
  39851. }
  39852. // String returns the string representation
  39853. func (s PeeringConnectionOptionsRequest) String() string {
  39854. return awsutil.Prettify(s)
  39855. }
  39856. // GoString returns the string representation
  39857. func (s PeeringConnectionOptionsRequest) GoString() string {
  39858. return s.String()
  39859. }
  39860. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  39861. func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  39862. s.AllowDnsResolutionFromRemoteVpc = &v
  39863. return s
  39864. }
  39865. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  39866. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
  39867. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  39868. return s
  39869. }
  39870. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  39871. func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
  39872. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  39873. return s
  39874. }
  39875. // Describes the placement of an instance.
  39876. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Placement
  39877. type Placement struct {
  39878. _ struct{} `type:"structure"`
  39879. // The affinity setting for the instance on the Dedicated Host. This parameter
  39880. // is not supported for the ImportInstance command.
  39881. Affinity *string `locationName:"affinity" type:"string"`
  39882. // The Availability Zone of the instance.
  39883. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  39884. // The name of the placement group the instance is in (for cluster compute instances).
  39885. GroupName *string `locationName:"groupName" type:"string"`
  39886. // The ID of the Dedicated Host on which the instance resides. This parameter
  39887. // is not supported for the ImportInstance command.
  39888. HostId *string `locationName:"hostId" type:"string"`
  39889. // The tenancy of the instance (if the instance is running in a VPC). An instance
  39890. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  39891. // is not supported for the ImportInstance command.
  39892. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  39893. }
  39894. // String returns the string representation
  39895. func (s Placement) String() string {
  39896. return awsutil.Prettify(s)
  39897. }
  39898. // GoString returns the string representation
  39899. func (s Placement) GoString() string {
  39900. return s.String()
  39901. }
  39902. // SetAffinity sets the Affinity field's value.
  39903. func (s *Placement) SetAffinity(v string) *Placement {
  39904. s.Affinity = &v
  39905. return s
  39906. }
  39907. // SetAvailabilityZone sets the AvailabilityZone field's value.
  39908. func (s *Placement) SetAvailabilityZone(v string) *Placement {
  39909. s.AvailabilityZone = &v
  39910. return s
  39911. }
  39912. // SetGroupName sets the GroupName field's value.
  39913. func (s *Placement) SetGroupName(v string) *Placement {
  39914. s.GroupName = &v
  39915. return s
  39916. }
  39917. // SetHostId sets the HostId field's value.
  39918. func (s *Placement) SetHostId(v string) *Placement {
  39919. s.HostId = &v
  39920. return s
  39921. }
  39922. // SetTenancy sets the Tenancy field's value.
  39923. func (s *Placement) SetTenancy(v string) *Placement {
  39924. s.Tenancy = &v
  39925. return s
  39926. }
  39927. // Describes a placement group.
  39928. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PlacementGroup
  39929. type PlacementGroup struct {
  39930. _ struct{} `type:"structure"`
  39931. // The name of the placement group.
  39932. GroupName *string `locationName:"groupName" type:"string"`
  39933. // The state of the placement group.
  39934. State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
  39935. // The placement strategy.
  39936. Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
  39937. }
  39938. // String returns the string representation
  39939. func (s PlacementGroup) String() string {
  39940. return awsutil.Prettify(s)
  39941. }
  39942. // GoString returns the string representation
  39943. func (s PlacementGroup) GoString() string {
  39944. return s.String()
  39945. }
  39946. // SetGroupName sets the GroupName field's value.
  39947. func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
  39948. s.GroupName = &v
  39949. return s
  39950. }
  39951. // SetState sets the State field's value.
  39952. func (s *PlacementGroup) SetState(v string) *PlacementGroup {
  39953. s.State = &v
  39954. return s
  39955. }
  39956. // SetStrategy sets the Strategy field's value.
  39957. func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
  39958. s.Strategy = &v
  39959. return s
  39960. }
  39961. // Describes a range of ports.
  39962. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PortRange
  39963. type PortRange struct {
  39964. _ struct{} `type:"structure"`
  39965. // The first port in the range.
  39966. From *int64 `locationName:"from" type:"integer"`
  39967. // The last port in the range.
  39968. To *int64 `locationName:"to" type:"integer"`
  39969. }
  39970. // String returns the string representation
  39971. func (s PortRange) String() string {
  39972. return awsutil.Prettify(s)
  39973. }
  39974. // GoString returns the string representation
  39975. func (s PortRange) GoString() string {
  39976. return s.String()
  39977. }
  39978. // SetFrom sets the From field's value.
  39979. func (s *PortRange) SetFrom(v int64) *PortRange {
  39980. s.From = &v
  39981. return s
  39982. }
  39983. // SetTo sets the To field's value.
  39984. func (s *PortRange) SetTo(v int64) *PortRange {
  39985. s.To = &v
  39986. return s
  39987. }
  39988. // Describes prefixes for AWS services.
  39989. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixList
  39990. type PrefixList struct {
  39991. _ struct{} `type:"structure"`
  39992. // The IP address range of the AWS service.
  39993. Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
  39994. // The ID of the prefix.
  39995. PrefixListId *string `locationName:"prefixListId" type:"string"`
  39996. // The name of the prefix.
  39997. PrefixListName *string `locationName:"prefixListName" type:"string"`
  39998. }
  39999. // String returns the string representation
  40000. func (s PrefixList) String() string {
  40001. return awsutil.Prettify(s)
  40002. }
  40003. // GoString returns the string representation
  40004. func (s PrefixList) GoString() string {
  40005. return s.String()
  40006. }
  40007. // SetCidrs sets the Cidrs field's value.
  40008. func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
  40009. s.Cidrs = v
  40010. return s
  40011. }
  40012. // SetPrefixListId sets the PrefixListId field's value.
  40013. func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
  40014. s.PrefixListId = &v
  40015. return s
  40016. }
  40017. // SetPrefixListName sets the PrefixListName field's value.
  40018. func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
  40019. s.PrefixListName = &v
  40020. return s
  40021. }
  40022. // The ID of the prefix.
  40023. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrefixListId
  40024. type PrefixListId struct {
  40025. _ struct{} `type:"structure"`
  40026. // The ID of the prefix.
  40027. PrefixListId *string `locationName:"prefixListId" type:"string"`
  40028. }
  40029. // String returns the string representation
  40030. func (s PrefixListId) String() string {
  40031. return awsutil.Prettify(s)
  40032. }
  40033. // GoString returns the string representation
  40034. func (s PrefixListId) GoString() string {
  40035. return s.String()
  40036. }
  40037. // SetPrefixListId sets the PrefixListId field's value.
  40038. func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
  40039. s.PrefixListId = &v
  40040. return s
  40041. }
  40042. // Describes the price for a Reserved Instance.
  40043. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceSchedule
  40044. type PriceSchedule struct {
  40045. _ struct{} `type:"structure"`
  40046. // The current price schedule, as determined by the term remaining for the Reserved
  40047. // Instance in the listing.
  40048. //
  40049. // A specific price schedule is always in effect, but only one price schedule
  40050. // can be active at any time. Take, for example, a Reserved Instance listing
  40051. // that has five months remaining in its term. When you specify price schedules
  40052. // for five months and two months, this means that schedule 1, covering the
  40053. // first three months of the remaining term, will be active during months 5,
  40054. // 4, and 3. Then schedule 2, covering the last two months of the term, will
  40055. // be active for months 2 and 1.
  40056. Active *bool `locationName:"active" type:"boolean"`
  40057. // The currency for transacting the Reserved Instance resale. At this time,
  40058. // the only supported currency is USD.
  40059. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40060. // The fixed price for the term.
  40061. Price *float64 `locationName:"price" type:"double"`
  40062. // The number of months remaining in the reservation. For example, 2 is the
  40063. // second to the last month before the capacity reservation expires.
  40064. Term *int64 `locationName:"term" type:"long"`
  40065. }
  40066. // String returns the string representation
  40067. func (s PriceSchedule) String() string {
  40068. return awsutil.Prettify(s)
  40069. }
  40070. // GoString returns the string representation
  40071. func (s PriceSchedule) GoString() string {
  40072. return s.String()
  40073. }
  40074. // SetActive sets the Active field's value.
  40075. func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
  40076. s.Active = &v
  40077. return s
  40078. }
  40079. // SetCurrencyCode sets the CurrencyCode field's value.
  40080. func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
  40081. s.CurrencyCode = &v
  40082. return s
  40083. }
  40084. // SetPrice sets the Price field's value.
  40085. func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
  40086. s.Price = &v
  40087. return s
  40088. }
  40089. // SetTerm sets the Term field's value.
  40090. func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
  40091. s.Term = &v
  40092. return s
  40093. }
  40094. // Describes the price for a Reserved Instance.
  40095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PriceScheduleSpecification
  40096. type PriceScheduleSpecification struct {
  40097. _ struct{} `type:"structure"`
  40098. // The currency for transacting the Reserved Instance resale. At this time,
  40099. // the only supported currency is USD.
  40100. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40101. // The fixed price for the term.
  40102. Price *float64 `locationName:"price" type:"double"`
  40103. // The number of months remaining in the reservation. For example, 2 is the
  40104. // second to the last month before the capacity reservation expires.
  40105. Term *int64 `locationName:"term" type:"long"`
  40106. }
  40107. // String returns the string representation
  40108. func (s PriceScheduleSpecification) String() string {
  40109. return awsutil.Prettify(s)
  40110. }
  40111. // GoString returns the string representation
  40112. func (s PriceScheduleSpecification) GoString() string {
  40113. return s.String()
  40114. }
  40115. // SetCurrencyCode sets the CurrencyCode field's value.
  40116. func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
  40117. s.CurrencyCode = &v
  40118. return s
  40119. }
  40120. // SetPrice sets the Price field's value.
  40121. func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
  40122. s.Price = &v
  40123. return s
  40124. }
  40125. // SetTerm sets the Term field's value.
  40126. func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
  40127. s.Term = &v
  40128. return s
  40129. }
  40130. // Describes a Reserved Instance offering.
  40131. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PricingDetail
  40132. type PricingDetail struct {
  40133. _ struct{} `type:"structure"`
  40134. // The number of reservations available for the price.
  40135. Count *int64 `locationName:"count" type:"integer"`
  40136. // The price per instance.
  40137. Price *float64 `locationName:"price" type:"double"`
  40138. }
  40139. // String returns the string representation
  40140. func (s PricingDetail) String() string {
  40141. return awsutil.Prettify(s)
  40142. }
  40143. // GoString returns the string representation
  40144. func (s PricingDetail) GoString() string {
  40145. return s.String()
  40146. }
  40147. // SetCount sets the Count field's value.
  40148. func (s *PricingDetail) SetCount(v int64) *PricingDetail {
  40149. s.Count = &v
  40150. return s
  40151. }
  40152. // SetPrice sets the Price field's value.
  40153. func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
  40154. s.Price = &v
  40155. return s
  40156. }
  40157. // Describes a secondary private IPv4 address for a network interface.
  40158. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PrivateIpAddressSpecification
  40159. type PrivateIpAddressSpecification struct {
  40160. _ struct{} `type:"structure"`
  40161. // Indicates whether the private IPv4 address is the primary private IPv4 address.
  40162. // Only one IPv4 address can be designated as primary.
  40163. Primary *bool `locationName:"primary" type:"boolean"`
  40164. // The private IPv4 addresses.
  40165. //
  40166. // PrivateIpAddress is a required field
  40167. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string" required:"true"`
  40168. }
  40169. // String returns the string representation
  40170. func (s PrivateIpAddressSpecification) String() string {
  40171. return awsutil.Prettify(s)
  40172. }
  40173. // GoString returns the string representation
  40174. func (s PrivateIpAddressSpecification) GoString() string {
  40175. return s.String()
  40176. }
  40177. // Validate inspects the fields of the type to determine if they are valid.
  40178. func (s *PrivateIpAddressSpecification) Validate() error {
  40179. invalidParams := request.ErrInvalidParams{Context: "PrivateIpAddressSpecification"}
  40180. if s.PrivateIpAddress == nil {
  40181. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddress"))
  40182. }
  40183. if invalidParams.Len() > 0 {
  40184. return invalidParams
  40185. }
  40186. return nil
  40187. }
  40188. // SetPrimary sets the Primary field's value.
  40189. func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
  40190. s.Primary = &v
  40191. return s
  40192. }
  40193. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  40194. func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
  40195. s.PrivateIpAddress = &v
  40196. return s
  40197. }
  40198. // Describes a product code.
  40199. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProductCode
  40200. type ProductCode struct {
  40201. _ struct{} `type:"structure"`
  40202. // The product code.
  40203. ProductCodeId *string `locationName:"productCode" type:"string"`
  40204. // The type of product code.
  40205. ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
  40206. }
  40207. // String returns the string representation
  40208. func (s ProductCode) String() string {
  40209. return awsutil.Prettify(s)
  40210. }
  40211. // GoString returns the string representation
  40212. func (s ProductCode) GoString() string {
  40213. return s.String()
  40214. }
  40215. // SetProductCodeId sets the ProductCodeId field's value.
  40216. func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
  40217. s.ProductCodeId = &v
  40218. return s
  40219. }
  40220. // SetProductCodeType sets the ProductCodeType field's value.
  40221. func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
  40222. s.ProductCodeType = &v
  40223. return s
  40224. }
  40225. // Describes a virtual private gateway propagating route.
  40226. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PropagatingVgw
  40227. type PropagatingVgw struct {
  40228. _ struct{} `type:"structure"`
  40229. // The ID of the virtual private gateway (VGW).
  40230. GatewayId *string `locationName:"gatewayId" type:"string"`
  40231. }
  40232. // String returns the string representation
  40233. func (s PropagatingVgw) String() string {
  40234. return awsutil.Prettify(s)
  40235. }
  40236. // GoString returns the string representation
  40237. func (s PropagatingVgw) GoString() string {
  40238. return s.String()
  40239. }
  40240. // SetGatewayId sets the GatewayId field's value.
  40241. func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
  40242. s.GatewayId = &v
  40243. return s
  40244. }
  40245. // Reserved. If you need to sustain traffic greater than the documented limits
  40246. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40247. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40248. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionedBandwidth
  40249. type ProvisionedBandwidth struct {
  40250. _ struct{} `type:"structure"`
  40251. // Reserved. If you need to sustain traffic greater than the documented limits
  40252. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40253. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40254. ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp" timestampFormat:"iso8601"`
  40255. // Reserved. If you need to sustain traffic greater than the documented limits
  40256. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40257. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40258. Provisioned *string `locationName:"provisioned" type:"string"`
  40259. // Reserved. If you need to sustain traffic greater than the documented limits
  40260. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40261. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40262. RequestTime *time.Time `locationName:"requestTime" type:"timestamp" timestampFormat:"iso8601"`
  40263. // Reserved. If you need to sustain traffic greater than the documented limits
  40264. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40265. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40266. Requested *string `locationName:"requested" type:"string"`
  40267. // Reserved. If you need to sustain traffic greater than the documented limits
  40268. // (http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html),
  40269. // contact us through the Support Center (https://console.aws.amazon.com/support/home?).
  40270. Status *string `locationName:"status" type:"string"`
  40271. }
  40272. // String returns the string representation
  40273. func (s ProvisionedBandwidth) String() string {
  40274. return awsutil.Prettify(s)
  40275. }
  40276. // GoString returns the string representation
  40277. func (s ProvisionedBandwidth) GoString() string {
  40278. return s.String()
  40279. }
  40280. // SetProvisionTime sets the ProvisionTime field's value.
  40281. func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
  40282. s.ProvisionTime = &v
  40283. return s
  40284. }
  40285. // SetProvisioned sets the Provisioned field's value.
  40286. func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
  40287. s.Provisioned = &v
  40288. return s
  40289. }
  40290. // SetRequestTime sets the RequestTime field's value.
  40291. func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
  40292. s.RequestTime = &v
  40293. return s
  40294. }
  40295. // SetRequested sets the Requested field's value.
  40296. func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
  40297. s.Requested = &v
  40298. return s
  40299. }
  40300. // SetStatus sets the Status field's value.
  40301. func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
  40302. s.Status = &v
  40303. return s
  40304. }
  40305. // Describes the result of the purchase.
  40306. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Purchase
  40307. type Purchase struct {
  40308. _ struct{} `type:"structure"`
  40309. // The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
  40310. // At this time, the only supported currency is USD.
  40311. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40312. // The duration of the reservation's term in seconds.
  40313. Duration *int64 `locationName:"duration" type:"integer"`
  40314. // The IDs of the Dedicated Hosts associated with the reservation.
  40315. HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
  40316. // The ID of the reservation.
  40317. HostReservationId *string `locationName:"hostReservationId" type:"string"`
  40318. // The hourly price of the reservation per hour.
  40319. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  40320. // The instance family on the Dedicated Host that the reservation can be associated
  40321. // with.
  40322. InstanceFamily *string `locationName:"instanceFamily" type:"string"`
  40323. // The payment option for the reservation.
  40324. PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
  40325. // The upfront price of the reservation.
  40326. UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
  40327. }
  40328. // String returns the string representation
  40329. func (s Purchase) String() string {
  40330. return awsutil.Prettify(s)
  40331. }
  40332. // GoString returns the string representation
  40333. func (s Purchase) GoString() string {
  40334. return s.String()
  40335. }
  40336. // SetCurrencyCode sets the CurrencyCode field's value.
  40337. func (s *Purchase) SetCurrencyCode(v string) *Purchase {
  40338. s.CurrencyCode = &v
  40339. return s
  40340. }
  40341. // SetDuration sets the Duration field's value.
  40342. func (s *Purchase) SetDuration(v int64) *Purchase {
  40343. s.Duration = &v
  40344. return s
  40345. }
  40346. // SetHostIdSet sets the HostIdSet field's value.
  40347. func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
  40348. s.HostIdSet = v
  40349. return s
  40350. }
  40351. // SetHostReservationId sets the HostReservationId field's value.
  40352. func (s *Purchase) SetHostReservationId(v string) *Purchase {
  40353. s.HostReservationId = &v
  40354. return s
  40355. }
  40356. // SetHourlyPrice sets the HourlyPrice field's value.
  40357. func (s *Purchase) SetHourlyPrice(v string) *Purchase {
  40358. s.HourlyPrice = &v
  40359. return s
  40360. }
  40361. // SetInstanceFamily sets the InstanceFamily field's value.
  40362. func (s *Purchase) SetInstanceFamily(v string) *Purchase {
  40363. s.InstanceFamily = &v
  40364. return s
  40365. }
  40366. // SetPaymentOption sets the PaymentOption field's value.
  40367. func (s *Purchase) SetPaymentOption(v string) *Purchase {
  40368. s.PaymentOption = &v
  40369. return s
  40370. }
  40371. // SetUpfrontPrice sets the UpfrontPrice field's value.
  40372. func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
  40373. s.UpfrontPrice = &v
  40374. return s
  40375. }
  40376. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationRequest
  40377. type PurchaseHostReservationInput struct {
  40378. _ struct{} `type:"structure"`
  40379. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  40380. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  40381. // in the Amazon Elastic Compute Cloud User Guide.
  40382. ClientToken *string `type:"string"`
  40383. // The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
  40384. // amounts are specified. At this time, the only supported currency is USD.
  40385. CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
  40386. // The ID/s of the Dedicated Host/s that the reservation will be associated
  40387. // with.
  40388. //
  40389. // HostIdSet is a required field
  40390. HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
  40391. // The specified limit is checked against the total upfront cost of the reservation
  40392. // (calculated as the offering's upfront cost multiplied by the host count).
  40393. // If the total upfront cost is greater than the specified price limit, the
  40394. // request will fail. This is used to ensure that the purchase does not exceed
  40395. // the expected upfront cost of the purchase. At this time, the only supported
  40396. // currency is USD. For example, to indicate a limit price of USD 100, specify
  40397. // 100.00.
  40398. LimitPrice *string `type:"string"`
  40399. // The ID of the offering.
  40400. //
  40401. // OfferingId is a required field
  40402. OfferingId *string `type:"string" required:"true"`
  40403. }
  40404. // String returns the string representation
  40405. func (s PurchaseHostReservationInput) String() string {
  40406. return awsutil.Prettify(s)
  40407. }
  40408. // GoString returns the string representation
  40409. func (s PurchaseHostReservationInput) GoString() string {
  40410. return s.String()
  40411. }
  40412. // Validate inspects the fields of the type to determine if they are valid.
  40413. func (s *PurchaseHostReservationInput) Validate() error {
  40414. invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
  40415. if s.HostIdSet == nil {
  40416. invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
  40417. }
  40418. if s.OfferingId == nil {
  40419. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  40420. }
  40421. if invalidParams.Len() > 0 {
  40422. return invalidParams
  40423. }
  40424. return nil
  40425. }
  40426. // SetClientToken sets the ClientToken field's value.
  40427. func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
  40428. s.ClientToken = &v
  40429. return s
  40430. }
  40431. // SetCurrencyCode sets the CurrencyCode field's value.
  40432. func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
  40433. s.CurrencyCode = &v
  40434. return s
  40435. }
  40436. // SetHostIdSet sets the HostIdSet field's value.
  40437. func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
  40438. s.HostIdSet = v
  40439. return s
  40440. }
  40441. // SetLimitPrice sets the LimitPrice field's value.
  40442. func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
  40443. s.LimitPrice = &v
  40444. return s
  40445. }
  40446. // SetOfferingId sets the OfferingId field's value.
  40447. func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
  40448. s.OfferingId = &v
  40449. return s
  40450. }
  40451. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservationResult
  40452. type PurchaseHostReservationOutput struct {
  40453. _ struct{} `type:"structure"`
  40454. // Unique, case-sensitive identifier you provide to ensure idempotency of the
  40455. // request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  40456. // in the Amazon Elastic Compute Cloud User Guide
  40457. ClientToken *string `locationName:"clientToken" type:"string"`
  40458. // The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
  40459. // are specified. At this time, the only supported currency is USD.
  40460. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  40461. // Describes the details of the purchase.
  40462. Purchase []*Purchase `locationName:"purchase" type:"list"`
  40463. // The total hourly price of the reservation calculated per hour.
  40464. TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
  40465. // The total amount that will be charged to your account when you purchase the
  40466. // reservation.
  40467. TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
  40468. }
  40469. // String returns the string representation
  40470. func (s PurchaseHostReservationOutput) String() string {
  40471. return awsutil.Prettify(s)
  40472. }
  40473. // GoString returns the string representation
  40474. func (s PurchaseHostReservationOutput) GoString() string {
  40475. return s.String()
  40476. }
  40477. // SetClientToken sets the ClientToken field's value.
  40478. func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
  40479. s.ClientToken = &v
  40480. return s
  40481. }
  40482. // SetCurrencyCode sets the CurrencyCode field's value.
  40483. func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
  40484. s.CurrencyCode = &v
  40485. return s
  40486. }
  40487. // SetPurchase sets the Purchase field's value.
  40488. func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
  40489. s.Purchase = v
  40490. return s
  40491. }
  40492. // SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
  40493. func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
  40494. s.TotalHourlyPrice = &v
  40495. return s
  40496. }
  40497. // SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
  40498. func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
  40499. s.TotalUpfrontPrice = &v
  40500. return s
  40501. }
  40502. // Describes a request to purchase Scheduled Instances.
  40503. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseRequest
  40504. type PurchaseRequest struct {
  40505. _ struct{} `type:"structure"`
  40506. // The number of instances.
  40507. //
  40508. // InstanceCount is a required field
  40509. InstanceCount *int64 `type:"integer" required:"true"`
  40510. // The purchase token.
  40511. //
  40512. // PurchaseToken is a required field
  40513. PurchaseToken *string `type:"string" required:"true"`
  40514. }
  40515. // String returns the string representation
  40516. func (s PurchaseRequest) String() string {
  40517. return awsutil.Prettify(s)
  40518. }
  40519. // GoString returns the string representation
  40520. func (s PurchaseRequest) GoString() string {
  40521. return s.String()
  40522. }
  40523. // Validate inspects the fields of the type to determine if they are valid.
  40524. func (s *PurchaseRequest) Validate() error {
  40525. invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
  40526. if s.InstanceCount == nil {
  40527. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  40528. }
  40529. if s.PurchaseToken == nil {
  40530. invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
  40531. }
  40532. if invalidParams.Len() > 0 {
  40533. return invalidParams
  40534. }
  40535. return nil
  40536. }
  40537. // SetInstanceCount sets the InstanceCount field's value.
  40538. func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
  40539. s.InstanceCount = &v
  40540. return s
  40541. }
  40542. // SetPurchaseToken sets the PurchaseToken field's value.
  40543. func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
  40544. s.PurchaseToken = &v
  40545. return s
  40546. }
  40547. // Contains the parameters for PurchaseReservedInstancesOffering.
  40548. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingRequest
  40549. type PurchaseReservedInstancesOfferingInput struct {
  40550. _ struct{} `type:"structure"`
  40551. // Checks whether you have the required permissions for the action, without
  40552. // actually making the request, and provides an error response. If you have
  40553. // the required permissions, the error response is DryRunOperation. Otherwise,
  40554. // it is UnauthorizedOperation.
  40555. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40556. // The number of Reserved Instances to purchase.
  40557. //
  40558. // InstanceCount is a required field
  40559. InstanceCount *int64 `type:"integer" required:"true"`
  40560. // Specified for Reserved Instance Marketplace offerings to limit the total
  40561. // order and ensure that the Reserved Instances are not purchased at unexpected
  40562. // prices.
  40563. LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
  40564. // The ID of the Reserved Instance offering to purchase.
  40565. //
  40566. // ReservedInstancesOfferingId is a required field
  40567. ReservedInstancesOfferingId *string `type:"string" required:"true"`
  40568. }
  40569. // String returns the string representation
  40570. func (s PurchaseReservedInstancesOfferingInput) String() string {
  40571. return awsutil.Prettify(s)
  40572. }
  40573. // GoString returns the string representation
  40574. func (s PurchaseReservedInstancesOfferingInput) GoString() string {
  40575. return s.String()
  40576. }
  40577. // Validate inspects the fields of the type to determine if they are valid.
  40578. func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
  40579. invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
  40580. if s.InstanceCount == nil {
  40581. invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
  40582. }
  40583. if s.ReservedInstancesOfferingId == nil {
  40584. invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
  40585. }
  40586. if invalidParams.Len() > 0 {
  40587. return invalidParams
  40588. }
  40589. return nil
  40590. }
  40591. // SetDryRun sets the DryRun field's value.
  40592. func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
  40593. s.DryRun = &v
  40594. return s
  40595. }
  40596. // SetInstanceCount sets the InstanceCount field's value.
  40597. func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
  40598. s.InstanceCount = &v
  40599. return s
  40600. }
  40601. // SetLimitPrice sets the LimitPrice field's value.
  40602. func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
  40603. s.LimitPrice = v
  40604. return s
  40605. }
  40606. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  40607. func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
  40608. s.ReservedInstancesOfferingId = &v
  40609. return s
  40610. }
  40611. // Contains the output of PurchaseReservedInstancesOffering.
  40612. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOfferingResult
  40613. type PurchaseReservedInstancesOfferingOutput struct {
  40614. _ struct{} `type:"structure"`
  40615. // The IDs of the purchased Reserved Instances.
  40616. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  40617. }
  40618. // String returns the string representation
  40619. func (s PurchaseReservedInstancesOfferingOutput) String() string {
  40620. return awsutil.Prettify(s)
  40621. }
  40622. // GoString returns the string representation
  40623. func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
  40624. return s.String()
  40625. }
  40626. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  40627. func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
  40628. s.ReservedInstancesId = &v
  40629. return s
  40630. }
  40631. // Contains the parameters for PurchaseScheduledInstances.
  40632. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesRequest
  40633. type PurchaseScheduledInstancesInput struct {
  40634. _ struct{} `type:"structure"`
  40635. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  40636. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  40637. ClientToken *string `type:"string" idempotencyToken:"true"`
  40638. // Checks whether you have the required permissions for the action, without
  40639. // actually making the request, and provides an error response. If you have
  40640. // the required permissions, the error response is DryRunOperation. Otherwise,
  40641. // it is UnauthorizedOperation.
  40642. DryRun *bool `type:"boolean"`
  40643. // One or more purchase requests.
  40644. //
  40645. // PurchaseRequests is a required field
  40646. PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
  40647. }
  40648. // String returns the string representation
  40649. func (s PurchaseScheduledInstancesInput) String() string {
  40650. return awsutil.Prettify(s)
  40651. }
  40652. // GoString returns the string representation
  40653. func (s PurchaseScheduledInstancesInput) GoString() string {
  40654. return s.String()
  40655. }
  40656. // Validate inspects the fields of the type to determine if they are valid.
  40657. func (s *PurchaseScheduledInstancesInput) Validate() error {
  40658. invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
  40659. if s.PurchaseRequests == nil {
  40660. invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
  40661. }
  40662. if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
  40663. invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
  40664. }
  40665. if s.PurchaseRequests != nil {
  40666. for i, v := range s.PurchaseRequests {
  40667. if v == nil {
  40668. continue
  40669. }
  40670. if err := v.Validate(); err != nil {
  40671. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
  40672. }
  40673. }
  40674. }
  40675. if invalidParams.Len() > 0 {
  40676. return invalidParams
  40677. }
  40678. return nil
  40679. }
  40680. // SetClientToken sets the ClientToken field's value.
  40681. func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
  40682. s.ClientToken = &v
  40683. return s
  40684. }
  40685. // SetDryRun sets the DryRun field's value.
  40686. func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
  40687. s.DryRun = &v
  40688. return s
  40689. }
  40690. // SetPurchaseRequests sets the PurchaseRequests field's value.
  40691. func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
  40692. s.PurchaseRequests = v
  40693. return s
  40694. }
  40695. // Contains the output of PurchaseScheduledInstances.
  40696. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstancesResult
  40697. type PurchaseScheduledInstancesOutput struct {
  40698. _ struct{} `type:"structure"`
  40699. // Information about the Scheduled Instances.
  40700. ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
  40701. }
  40702. // String returns the string representation
  40703. func (s PurchaseScheduledInstancesOutput) String() string {
  40704. return awsutil.Prettify(s)
  40705. }
  40706. // GoString returns the string representation
  40707. func (s PurchaseScheduledInstancesOutput) GoString() string {
  40708. return s.String()
  40709. }
  40710. // SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
  40711. func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
  40712. s.ScheduledInstanceSet = v
  40713. return s
  40714. }
  40715. // Contains the parameters for RebootInstances.
  40716. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesRequest
  40717. type RebootInstancesInput struct {
  40718. _ struct{} `type:"structure"`
  40719. // Checks whether you have the required permissions for the action, without
  40720. // actually making the request, and provides an error response. If you have
  40721. // the required permissions, the error response is DryRunOperation. Otherwise,
  40722. // it is UnauthorizedOperation.
  40723. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40724. // One or more instance IDs.
  40725. //
  40726. // InstanceIds is a required field
  40727. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  40728. }
  40729. // String returns the string representation
  40730. func (s RebootInstancesInput) String() string {
  40731. return awsutil.Prettify(s)
  40732. }
  40733. // GoString returns the string representation
  40734. func (s RebootInstancesInput) GoString() string {
  40735. return s.String()
  40736. }
  40737. // Validate inspects the fields of the type to determine if they are valid.
  40738. func (s *RebootInstancesInput) Validate() error {
  40739. invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
  40740. if s.InstanceIds == nil {
  40741. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  40742. }
  40743. if invalidParams.Len() > 0 {
  40744. return invalidParams
  40745. }
  40746. return nil
  40747. }
  40748. // SetDryRun sets the DryRun field's value.
  40749. func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
  40750. s.DryRun = &v
  40751. return s
  40752. }
  40753. // SetInstanceIds sets the InstanceIds field's value.
  40754. func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
  40755. s.InstanceIds = v
  40756. return s
  40757. }
  40758. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstancesOutput
  40759. type RebootInstancesOutput struct {
  40760. _ struct{} `type:"structure"`
  40761. }
  40762. // String returns the string representation
  40763. func (s RebootInstancesOutput) String() string {
  40764. return awsutil.Prettify(s)
  40765. }
  40766. // GoString returns the string representation
  40767. func (s RebootInstancesOutput) GoString() string {
  40768. return s.String()
  40769. }
  40770. // Describes a recurring charge.
  40771. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RecurringCharge
  40772. type RecurringCharge struct {
  40773. _ struct{} `type:"structure"`
  40774. // The amount of the recurring charge.
  40775. Amount *float64 `locationName:"amount" type:"double"`
  40776. // The frequency of the recurring charge.
  40777. Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
  40778. }
  40779. // String returns the string representation
  40780. func (s RecurringCharge) String() string {
  40781. return awsutil.Prettify(s)
  40782. }
  40783. // GoString returns the string representation
  40784. func (s RecurringCharge) GoString() string {
  40785. return s.String()
  40786. }
  40787. // SetAmount sets the Amount field's value.
  40788. func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
  40789. s.Amount = &v
  40790. return s
  40791. }
  40792. // SetFrequency sets the Frequency field's value.
  40793. func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
  40794. s.Frequency = &v
  40795. return s
  40796. }
  40797. // Describes a region.
  40798. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Region
  40799. type Region struct {
  40800. _ struct{} `type:"structure"`
  40801. // The region service endpoint.
  40802. Endpoint *string `locationName:"regionEndpoint" type:"string"`
  40803. // The name of the region.
  40804. RegionName *string `locationName:"regionName" type:"string"`
  40805. }
  40806. // String returns the string representation
  40807. func (s Region) String() string {
  40808. return awsutil.Prettify(s)
  40809. }
  40810. // GoString returns the string representation
  40811. func (s Region) GoString() string {
  40812. return s.String()
  40813. }
  40814. // SetEndpoint sets the Endpoint field's value.
  40815. func (s *Region) SetEndpoint(v string) *Region {
  40816. s.Endpoint = &v
  40817. return s
  40818. }
  40819. // SetRegionName sets the RegionName field's value.
  40820. func (s *Region) SetRegionName(v string) *Region {
  40821. s.RegionName = &v
  40822. return s
  40823. }
  40824. // Contains the parameters for RegisterImage.
  40825. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageRequest
  40826. type RegisterImageInput struct {
  40827. _ struct{} `type:"structure"`
  40828. // The architecture of the AMI.
  40829. //
  40830. // Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
  40831. // the architecture specified in the manifest file.
  40832. Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
  40833. // The billing product codes. Your account must be authorized to specify billing
  40834. // product codes. Otherwise, you can use the AWS Marketplace to bill for the
  40835. // use of an AMI.
  40836. BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
  40837. // One or more block device mapping entries.
  40838. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  40839. // A description for your AMI.
  40840. Description *string `locationName:"description" type:"string"`
  40841. // Checks whether you have the required permissions for the action, without
  40842. // actually making the request, and provides an error response. If you have
  40843. // the required permissions, the error response is DryRunOperation. Otherwise,
  40844. // it is UnauthorizedOperation.
  40845. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40846. // Set to true to enable enhanced networking with ENA for the AMI and any instances
  40847. // that you launch from the AMI.
  40848. //
  40849. // This option is supported only for HVM AMIs. Specifying this option with a
  40850. // PV AMI can make instances launched from the AMI unreachable.
  40851. EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
  40852. // The full path to your AMI manifest in Amazon S3 storage.
  40853. ImageLocation *string `type:"string"`
  40854. // The ID of the kernel.
  40855. KernelId *string `locationName:"kernelId" type:"string"`
  40856. // A name for your AMI.
  40857. //
  40858. // Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
  40859. // ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
  40860. // at-signs (@), or underscores(_)
  40861. //
  40862. // Name is a required field
  40863. Name *string `locationName:"name" type:"string" required:"true"`
  40864. // The ID of the RAM disk.
  40865. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  40866. // The name of the root device (for example, /dev/sda1, or /dev/xvda).
  40867. RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
  40868. // Set to simple to enable enhanced networking with the Intel 82599 Virtual
  40869. // Function interface for the AMI and any instances that you launch from the
  40870. // AMI.
  40871. //
  40872. // There is no way to disable sriovNetSupport at this time.
  40873. //
  40874. // This option is supported only for HVM AMIs. Specifying this option with a
  40875. // PV AMI can make instances launched from the AMI unreachable.
  40876. SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
  40877. // The type of virtualization.
  40878. //
  40879. // Default: paravirtual
  40880. VirtualizationType *string `locationName:"virtualizationType" type:"string"`
  40881. }
  40882. // String returns the string representation
  40883. func (s RegisterImageInput) String() string {
  40884. return awsutil.Prettify(s)
  40885. }
  40886. // GoString returns the string representation
  40887. func (s RegisterImageInput) GoString() string {
  40888. return s.String()
  40889. }
  40890. // Validate inspects the fields of the type to determine if they are valid.
  40891. func (s *RegisterImageInput) Validate() error {
  40892. invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
  40893. if s.Name == nil {
  40894. invalidParams.Add(request.NewErrParamRequired("Name"))
  40895. }
  40896. if invalidParams.Len() > 0 {
  40897. return invalidParams
  40898. }
  40899. return nil
  40900. }
  40901. // SetArchitecture sets the Architecture field's value.
  40902. func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
  40903. s.Architecture = &v
  40904. return s
  40905. }
  40906. // SetBillingProducts sets the BillingProducts field's value.
  40907. func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
  40908. s.BillingProducts = v
  40909. return s
  40910. }
  40911. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  40912. func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
  40913. s.BlockDeviceMappings = v
  40914. return s
  40915. }
  40916. // SetDescription sets the Description field's value.
  40917. func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
  40918. s.Description = &v
  40919. return s
  40920. }
  40921. // SetDryRun sets the DryRun field's value.
  40922. func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
  40923. s.DryRun = &v
  40924. return s
  40925. }
  40926. // SetEnaSupport sets the EnaSupport field's value.
  40927. func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
  40928. s.EnaSupport = &v
  40929. return s
  40930. }
  40931. // SetImageLocation sets the ImageLocation field's value.
  40932. func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
  40933. s.ImageLocation = &v
  40934. return s
  40935. }
  40936. // SetKernelId sets the KernelId field's value.
  40937. func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
  40938. s.KernelId = &v
  40939. return s
  40940. }
  40941. // SetName sets the Name field's value.
  40942. func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
  40943. s.Name = &v
  40944. return s
  40945. }
  40946. // SetRamdiskId sets the RamdiskId field's value.
  40947. func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
  40948. s.RamdiskId = &v
  40949. return s
  40950. }
  40951. // SetRootDeviceName sets the RootDeviceName field's value.
  40952. func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
  40953. s.RootDeviceName = &v
  40954. return s
  40955. }
  40956. // SetSriovNetSupport sets the SriovNetSupport field's value.
  40957. func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
  40958. s.SriovNetSupport = &v
  40959. return s
  40960. }
  40961. // SetVirtualizationType sets the VirtualizationType field's value.
  40962. func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
  40963. s.VirtualizationType = &v
  40964. return s
  40965. }
  40966. // Contains the output of RegisterImage.
  40967. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImageResult
  40968. type RegisterImageOutput struct {
  40969. _ struct{} `type:"structure"`
  40970. // The ID of the newly registered AMI.
  40971. ImageId *string `locationName:"imageId" type:"string"`
  40972. }
  40973. // String returns the string representation
  40974. func (s RegisterImageOutput) String() string {
  40975. return awsutil.Prettify(s)
  40976. }
  40977. // GoString returns the string representation
  40978. func (s RegisterImageOutput) GoString() string {
  40979. return s.String()
  40980. }
  40981. // SetImageId sets the ImageId field's value.
  40982. func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
  40983. s.ImageId = &v
  40984. return s
  40985. }
  40986. // Contains the parameters for RejectVpcPeeringConnection.
  40987. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionRequest
  40988. type RejectVpcPeeringConnectionInput struct {
  40989. _ struct{} `type:"structure"`
  40990. // Checks whether you have the required permissions for the action, without
  40991. // actually making the request, and provides an error response. If you have
  40992. // the required permissions, the error response is DryRunOperation. Otherwise,
  40993. // it is UnauthorizedOperation.
  40994. DryRun *bool `locationName:"dryRun" type:"boolean"`
  40995. // The ID of the VPC peering connection.
  40996. //
  40997. // VpcPeeringConnectionId is a required field
  40998. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
  40999. }
  41000. // String returns the string representation
  41001. func (s RejectVpcPeeringConnectionInput) String() string {
  41002. return awsutil.Prettify(s)
  41003. }
  41004. // GoString returns the string representation
  41005. func (s RejectVpcPeeringConnectionInput) GoString() string {
  41006. return s.String()
  41007. }
  41008. // Validate inspects the fields of the type to determine if they are valid.
  41009. func (s *RejectVpcPeeringConnectionInput) Validate() error {
  41010. invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
  41011. if s.VpcPeeringConnectionId == nil {
  41012. invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
  41013. }
  41014. if invalidParams.Len() > 0 {
  41015. return invalidParams
  41016. }
  41017. return nil
  41018. }
  41019. // SetDryRun sets the DryRun field's value.
  41020. func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
  41021. s.DryRun = &v
  41022. return s
  41023. }
  41024. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  41025. func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
  41026. s.VpcPeeringConnectionId = &v
  41027. return s
  41028. }
  41029. // Contains the output of RejectVpcPeeringConnection.
  41030. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnectionResult
  41031. type RejectVpcPeeringConnectionOutput struct {
  41032. _ struct{} `type:"structure"`
  41033. // Returns true if the request succeeds; otherwise, it returns an error.
  41034. Return *bool `locationName:"return" type:"boolean"`
  41035. }
  41036. // String returns the string representation
  41037. func (s RejectVpcPeeringConnectionOutput) String() string {
  41038. return awsutil.Prettify(s)
  41039. }
  41040. // GoString returns the string representation
  41041. func (s RejectVpcPeeringConnectionOutput) GoString() string {
  41042. return s.String()
  41043. }
  41044. // SetReturn sets the Return field's value.
  41045. func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
  41046. s.Return = &v
  41047. return s
  41048. }
  41049. // Contains the parameters for ReleaseAddress.
  41050. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressRequest
  41051. type ReleaseAddressInput struct {
  41052. _ struct{} `type:"structure"`
  41053. // [EC2-VPC] The allocation ID. Required for EC2-VPC.
  41054. AllocationId *string `type:"string"`
  41055. // Checks whether you have the required permissions for the action, without
  41056. // actually making the request, and provides an error response. If you have
  41057. // the required permissions, the error response is DryRunOperation. Otherwise,
  41058. // it is UnauthorizedOperation.
  41059. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41060. // [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
  41061. PublicIp *string `type:"string"`
  41062. }
  41063. // String returns the string representation
  41064. func (s ReleaseAddressInput) String() string {
  41065. return awsutil.Prettify(s)
  41066. }
  41067. // GoString returns the string representation
  41068. func (s ReleaseAddressInput) GoString() string {
  41069. return s.String()
  41070. }
  41071. // SetAllocationId sets the AllocationId field's value.
  41072. func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
  41073. s.AllocationId = &v
  41074. return s
  41075. }
  41076. // SetDryRun sets the DryRun field's value.
  41077. func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
  41078. s.DryRun = &v
  41079. return s
  41080. }
  41081. // SetPublicIp sets the PublicIp field's value.
  41082. func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
  41083. s.PublicIp = &v
  41084. return s
  41085. }
  41086. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddressOutput
  41087. type ReleaseAddressOutput struct {
  41088. _ struct{} `type:"structure"`
  41089. }
  41090. // String returns the string representation
  41091. func (s ReleaseAddressOutput) String() string {
  41092. return awsutil.Prettify(s)
  41093. }
  41094. // GoString returns the string representation
  41095. func (s ReleaseAddressOutput) GoString() string {
  41096. return s.String()
  41097. }
  41098. // Contains the parameters for ReleaseHosts.
  41099. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsRequest
  41100. type ReleaseHostsInput struct {
  41101. _ struct{} `type:"structure"`
  41102. // The IDs of the Dedicated Hosts you want to release.
  41103. //
  41104. // HostIds is a required field
  41105. HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
  41106. }
  41107. // String returns the string representation
  41108. func (s ReleaseHostsInput) String() string {
  41109. return awsutil.Prettify(s)
  41110. }
  41111. // GoString returns the string representation
  41112. func (s ReleaseHostsInput) GoString() string {
  41113. return s.String()
  41114. }
  41115. // Validate inspects the fields of the type to determine if they are valid.
  41116. func (s *ReleaseHostsInput) Validate() error {
  41117. invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
  41118. if s.HostIds == nil {
  41119. invalidParams.Add(request.NewErrParamRequired("HostIds"))
  41120. }
  41121. if invalidParams.Len() > 0 {
  41122. return invalidParams
  41123. }
  41124. return nil
  41125. }
  41126. // SetHostIds sets the HostIds field's value.
  41127. func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
  41128. s.HostIds = v
  41129. return s
  41130. }
  41131. // Contains the output of ReleaseHosts.
  41132. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHostsResult
  41133. type ReleaseHostsOutput struct {
  41134. _ struct{} `type:"structure"`
  41135. // The IDs of the Dedicated Hosts that were successfully released.
  41136. Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
  41137. // The IDs of the Dedicated Hosts that could not be released, including an error
  41138. // message.
  41139. Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
  41140. }
  41141. // String returns the string representation
  41142. func (s ReleaseHostsOutput) String() string {
  41143. return awsutil.Prettify(s)
  41144. }
  41145. // GoString returns the string representation
  41146. func (s ReleaseHostsOutput) GoString() string {
  41147. return s.String()
  41148. }
  41149. // SetSuccessful sets the Successful field's value.
  41150. func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
  41151. s.Successful = v
  41152. return s
  41153. }
  41154. // SetUnsuccessful sets the Unsuccessful field's value.
  41155. func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
  41156. s.Unsuccessful = v
  41157. return s
  41158. }
  41159. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationRequest
  41160. type ReplaceIamInstanceProfileAssociationInput struct {
  41161. _ struct{} `type:"structure"`
  41162. // The ID of the existing IAM instance profile association.
  41163. //
  41164. // AssociationId is a required field
  41165. AssociationId *string `type:"string" required:"true"`
  41166. // The IAM instance profile.
  41167. //
  41168. // IamInstanceProfile is a required field
  41169. IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
  41170. }
  41171. // String returns the string representation
  41172. func (s ReplaceIamInstanceProfileAssociationInput) String() string {
  41173. return awsutil.Prettify(s)
  41174. }
  41175. // GoString returns the string representation
  41176. func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
  41177. return s.String()
  41178. }
  41179. // Validate inspects the fields of the type to determine if they are valid.
  41180. func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
  41181. invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
  41182. if s.AssociationId == nil {
  41183. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  41184. }
  41185. if s.IamInstanceProfile == nil {
  41186. invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
  41187. }
  41188. if invalidParams.Len() > 0 {
  41189. return invalidParams
  41190. }
  41191. return nil
  41192. }
  41193. // SetAssociationId sets the AssociationId field's value.
  41194. func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
  41195. s.AssociationId = &v
  41196. return s
  41197. }
  41198. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  41199. func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
  41200. s.IamInstanceProfile = v
  41201. return s
  41202. }
  41203. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociationResult
  41204. type ReplaceIamInstanceProfileAssociationOutput struct {
  41205. _ struct{} `type:"structure"`
  41206. // Information about the IAM instance profile association.
  41207. IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
  41208. }
  41209. // String returns the string representation
  41210. func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
  41211. return awsutil.Prettify(s)
  41212. }
  41213. // GoString returns the string representation
  41214. func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
  41215. return s.String()
  41216. }
  41217. // SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
  41218. func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
  41219. s.IamInstanceProfileAssociation = v
  41220. return s
  41221. }
  41222. // Contains the parameters for ReplaceNetworkAclAssociation.
  41223. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationRequest
  41224. type ReplaceNetworkAclAssociationInput struct {
  41225. _ struct{} `type:"structure"`
  41226. // The ID of the current association between the original network ACL and the
  41227. // subnet.
  41228. //
  41229. // AssociationId is a required field
  41230. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  41231. // Checks whether you have the required permissions for the action, without
  41232. // actually making the request, and provides an error response. If you have
  41233. // the required permissions, the error response is DryRunOperation. Otherwise,
  41234. // it is UnauthorizedOperation.
  41235. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41236. // The ID of the new network ACL to associate with the subnet.
  41237. //
  41238. // NetworkAclId is a required field
  41239. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  41240. }
  41241. // String returns the string representation
  41242. func (s ReplaceNetworkAclAssociationInput) String() string {
  41243. return awsutil.Prettify(s)
  41244. }
  41245. // GoString returns the string representation
  41246. func (s ReplaceNetworkAclAssociationInput) GoString() string {
  41247. return s.String()
  41248. }
  41249. // Validate inspects the fields of the type to determine if they are valid.
  41250. func (s *ReplaceNetworkAclAssociationInput) Validate() error {
  41251. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
  41252. if s.AssociationId == nil {
  41253. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  41254. }
  41255. if s.NetworkAclId == nil {
  41256. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  41257. }
  41258. if invalidParams.Len() > 0 {
  41259. return invalidParams
  41260. }
  41261. return nil
  41262. }
  41263. // SetAssociationId sets the AssociationId field's value.
  41264. func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
  41265. s.AssociationId = &v
  41266. return s
  41267. }
  41268. // SetDryRun sets the DryRun field's value.
  41269. func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
  41270. s.DryRun = &v
  41271. return s
  41272. }
  41273. // SetNetworkAclId sets the NetworkAclId field's value.
  41274. func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
  41275. s.NetworkAclId = &v
  41276. return s
  41277. }
  41278. // Contains the output of ReplaceNetworkAclAssociation.
  41279. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociationResult
  41280. type ReplaceNetworkAclAssociationOutput struct {
  41281. _ struct{} `type:"structure"`
  41282. // The ID of the new association.
  41283. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  41284. }
  41285. // String returns the string representation
  41286. func (s ReplaceNetworkAclAssociationOutput) String() string {
  41287. return awsutil.Prettify(s)
  41288. }
  41289. // GoString returns the string representation
  41290. func (s ReplaceNetworkAclAssociationOutput) GoString() string {
  41291. return s.String()
  41292. }
  41293. // SetNewAssociationId sets the NewAssociationId field's value.
  41294. func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
  41295. s.NewAssociationId = &v
  41296. return s
  41297. }
  41298. // Contains the parameters for ReplaceNetworkAclEntry.
  41299. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryRequest
  41300. type ReplaceNetworkAclEntryInput struct {
  41301. _ struct{} `type:"structure"`
  41302. // The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
  41303. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  41304. // Checks whether you have the required permissions for the action, without
  41305. // actually making the request, and provides an error response. If you have
  41306. // the required permissions, the error response is DryRunOperation. Otherwise,
  41307. // it is UnauthorizedOperation.
  41308. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41309. // Indicates whether to replace the egress rule.
  41310. //
  41311. // Default: If no value is specified, we replace the ingress rule.
  41312. //
  41313. // Egress is a required field
  41314. Egress *bool `locationName:"egress" type:"boolean" required:"true"`
  41315. // ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying the
  41316. // ICMP (1) protocol, or protocol 58 (ICMPv6) with an IPv6 CIDR block.
  41317. IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
  41318. // The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
  41319. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  41320. // The ID of the ACL.
  41321. //
  41322. // NetworkAclId is a required field
  41323. NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
  41324. // TCP or UDP protocols: The range of ports the rule applies to. Required if
  41325. // specifying TCP (6) or UDP (17) for the protocol.
  41326. PortRange *PortRange `locationName:"portRange" type:"structure"`
  41327. // The IP protocol. You can specify all or -1 to mean all protocols. If you
  41328. // specify all, -1, or a protocol number other than tcp, udp, or icmp, traffic
  41329. // on all ports is allowed, regardless of any ports or ICMP types or codes you
  41330. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv4 CIDR block,
  41331. // traffic for all ICMP types and codes allowed, regardless of any that you
  41332. // specify. If you specify protocol 58 (ICMPv6) and specify an IPv6 CIDR block,
  41333. // you must specify an ICMP type and code.
  41334. //
  41335. // Protocol is a required field
  41336. Protocol *string `locationName:"protocol" type:"string" required:"true"`
  41337. // Indicates whether to allow or deny the traffic that matches the rule.
  41338. //
  41339. // RuleAction is a required field
  41340. RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
  41341. // The rule number of the entry to replace.
  41342. //
  41343. // RuleNumber is a required field
  41344. RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
  41345. }
  41346. // String returns the string representation
  41347. func (s ReplaceNetworkAclEntryInput) String() string {
  41348. return awsutil.Prettify(s)
  41349. }
  41350. // GoString returns the string representation
  41351. func (s ReplaceNetworkAclEntryInput) GoString() string {
  41352. return s.String()
  41353. }
  41354. // Validate inspects the fields of the type to determine if they are valid.
  41355. func (s *ReplaceNetworkAclEntryInput) Validate() error {
  41356. invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
  41357. if s.Egress == nil {
  41358. invalidParams.Add(request.NewErrParamRequired("Egress"))
  41359. }
  41360. if s.NetworkAclId == nil {
  41361. invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
  41362. }
  41363. if s.Protocol == nil {
  41364. invalidParams.Add(request.NewErrParamRequired("Protocol"))
  41365. }
  41366. if s.RuleAction == nil {
  41367. invalidParams.Add(request.NewErrParamRequired("RuleAction"))
  41368. }
  41369. if s.RuleNumber == nil {
  41370. invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
  41371. }
  41372. if invalidParams.Len() > 0 {
  41373. return invalidParams
  41374. }
  41375. return nil
  41376. }
  41377. // SetCidrBlock sets the CidrBlock field's value.
  41378. func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
  41379. s.CidrBlock = &v
  41380. return s
  41381. }
  41382. // SetDryRun sets the DryRun field's value.
  41383. func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
  41384. s.DryRun = &v
  41385. return s
  41386. }
  41387. // SetEgress sets the Egress field's value.
  41388. func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
  41389. s.Egress = &v
  41390. return s
  41391. }
  41392. // SetIcmpTypeCode sets the IcmpTypeCode field's value.
  41393. func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
  41394. s.IcmpTypeCode = v
  41395. return s
  41396. }
  41397. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  41398. func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
  41399. s.Ipv6CidrBlock = &v
  41400. return s
  41401. }
  41402. // SetNetworkAclId sets the NetworkAclId field's value.
  41403. func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
  41404. s.NetworkAclId = &v
  41405. return s
  41406. }
  41407. // SetPortRange sets the PortRange field's value.
  41408. func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
  41409. s.PortRange = v
  41410. return s
  41411. }
  41412. // SetProtocol sets the Protocol field's value.
  41413. func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
  41414. s.Protocol = &v
  41415. return s
  41416. }
  41417. // SetRuleAction sets the RuleAction field's value.
  41418. func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
  41419. s.RuleAction = &v
  41420. return s
  41421. }
  41422. // SetRuleNumber sets the RuleNumber field's value.
  41423. func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
  41424. s.RuleNumber = &v
  41425. return s
  41426. }
  41427. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntryOutput
  41428. type ReplaceNetworkAclEntryOutput struct {
  41429. _ struct{} `type:"structure"`
  41430. }
  41431. // String returns the string representation
  41432. func (s ReplaceNetworkAclEntryOutput) String() string {
  41433. return awsutil.Prettify(s)
  41434. }
  41435. // GoString returns the string representation
  41436. func (s ReplaceNetworkAclEntryOutput) GoString() string {
  41437. return s.String()
  41438. }
  41439. // Contains the parameters for ReplaceRoute.
  41440. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteRequest
  41441. type ReplaceRouteInput struct {
  41442. _ struct{} `type:"structure"`
  41443. // The IPv4 CIDR address block used for the destination match. The value you
  41444. // provide must match the CIDR of an existing route in the table.
  41445. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  41446. // The IPv6 CIDR address block used for the destination match. The value you
  41447. // provide must match the CIDR of an existing route in the table.
  41448. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  41449. // Checks whether you have the required permissions for the action, without
  41450. // actually making the request, and provides an error response. If you have
  41451. // the required permissions, the error response is DryRunOperation. Otherwise,
  41452. // it is UnauthorizedOperation.
  41453. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41454. // [IPv6 traffic only] The ID of an egress-only Internet gateway.
  41455. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  41456. // The ID of an Internet gateway or virtual private gateway.
  41457. GatewayId *string `locationName:"gatewayId" type:"string"`
  41458. // The ID of a NAT instance in your VPC.
  41459. InstanceId *string `locationName:"instanceId" type:"string"`
  41460. // [IPv4 traffic only] The ID of a NAT gateway.
  41461. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  41462. // The ID of a network interface.
  41463. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  41464. // The ID of the route table.
  41465. //
  41466. // RouteTableId is a required field
  41467. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  41468. // The ID of a VPC peering connection.
  41469. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  41470. }
  41471. // String returns the string representation
  41472. func (s ReplaceRouteInput) String() string {
  41473. return awsutil.Prettify(s)
  41474. }
  41475. // GoString returns the string representation
  41476. func (s ReplaceRouteInput) GoString() string {
  41477. return s.String()
  41478. }
  41479. // Validate inspects the fields of the type to determine if they are valid.
  41480. func (s *ReplaceRouteInput) Validate() error {
  41481. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
  41482. if s.RouteTableId == nil {
  41483. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  41484. }
  41485. if invalidParams.Len() > 0 {
  41486. return invalidParams
  41487. }
  41488. return nil
  41489. }
  41490. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  41491. func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
  41492. s.DestinationCidrBlock = &v
  41493. return s
  41494. }
  41495. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  41496. func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
  41497. s.DestinationIpv6CidrBlock = &v
  41498. return s
  41499. }
  41500. // SetDryRun sets the DryRun field's value.
  41501. func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
  41502. s.DryRun = &v
  41503. return s
  41504. }
  41505. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  41506. func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
  41507. s.EgressOnlyInternetGatewayId = &v
  41508. return s
  41509. }
  41510. // SetGatewayId sets the GatewayId field's value.
  41511. func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
  41512. s.GatewayId = &v
  41513. return s
  41514. }
  41515. // SetInstanceId sets the InstanceId field's value.
  41516. func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
  41517. s.InstanceId = &v
  41518. return s
  41519. }
  41520. // SetNatGatewayId sets the NatGatewayId field's value.
  41521. func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
  41522. s.NatGatewayId = &v
  41523. return s
  41524. }
  41525. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  41526. func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
  41527. s.NetworkInterfaceId = &v
  41528. return s
  41529. }
  41530. // SetRouteTableId sets the RouteTableId field's value.
  41531. func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
  41532. s.RouteTableId = &v
  41533. return s
  41534. }
  41535. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  41536. func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
  41537. s.VpcPeeringConnectionId = &v
  41538. return s
  41539. }
  41540. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteOutput
  41541. type ReplaceRouteOutput struct {
  41542. _ struct{} `type:"structure"`
  41543. }
  41544. // String returns the string representation
  41545. func (s ReplaceRouteOutput) String() string {
  41546. return awsutil.Prettify(s)
  41547. }
  41548. // GoString returns the string representation
  41549. func (s ReplaceRouteOutput) GoString() string {
  41550. return s.String()
  41551. }
  41552. // Contains the parameters for ReplaceRouteTableAssociation.
  41553. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationRequest
  41554. type ReplaceRouteTableAssociationInput struct {
  41555. _ struct{} `type:"structure"`
  41556. // The association ID.
  41557. //
  41558. // AssociationId is a required field
  41559. AssociationId *string `locationName:"associationId" type:"string" required:"true"`
  41560. // Checks whether you have the required permissions for the action, without
  41561. // actually making the request, and provides an error response. If you have
  41562. // the required permissions, the error response is DryRunOperation. Otherwise,
  41563. // it is UnauthorizedOperation.
  41564. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41565. // The ID of the new route table to associate with the subnet.
  41566. //
  41567. // RouteTableId is a required field
  41568. RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
  41569. }
  41570. // String returns the string representation
  41571. func (s ReplaceRouteTableAssociationInput) String() string {
  41572. return awsutil.Prettify(s)
  41573. }
  41574. // GoString returns the string representation
  41575. func (s ReplaceRouteTableAssociationInput) GoString() string {
  41576. return s.String()
  41577. }
  41578. // Validate inspects the fields of the type to determine if they are valid.
  41579. func (s *ReplaceRouteTableAssociationInput) Validate() error {
  41580. invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
  41581. if s.AssociationId == nil {
  41582. invalidParams.Add(request.NewErrParamRequired("AssociationId"))
  41583. }
  41584. if s.RouteTableId == nil {
  41585. invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
  41586. }
  41587. if invalidParams.Len() > 0 {
  41588. return invalidParams
  41589. }
  41590. return nil
  41591. }
  41592. // SetAssociationId sets the AssociationId field's value.
  41593. func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
  41594. s.AssociationId = &v
  41595. return s
  41596. }
  41597. // SetDryRun sets the DryRun field's value.
  41598. func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
  41599. s.DryRun = &v
  41600. return s
  41601. }
  41602. // SetRouteTableId sets the RouteTableId field's value.
  41603. func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
  41604. s.RouteTableId = &v
  41605. return s
  41606. }
  41607. // Contains the output of ReplaceRouteTableAssociation.
  41608. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociationResult
  41609. type ReplaceRouteTableAssociationOutput struct {
  41610. _ struct{} `type:"structure"`
  41611. // The ID of the new association.
  41612. NewAssociationId *string `locationName:"newAssociationId" type:"string"`
  41613. }
  41614. // String returns the string representation
  41615. func (s ReplaceRouteTableAssociationOutput) String() string {
  41616. return awsutil.Prettify(s)
  41617. }
  41618. // GoString returns the string representation
  41619. func (s ReplaceRouteTableAssociationOutput) GoString() string {
  41620. return s.String()
  41621. }
  41622. // SetNewAssociationId sets the NewAssociationId field's value.
  41623. func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
  41624. s.NewAssociationId = &v
  41625. return s
  41626. }
  41627. // Contains the parameters for ReportInstanceStatus.
  41628. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusRequest
  41629. type ReportInstanceStatusInput struct {
  41630. _ struct{} `type:"structure"`
  41631. // Descriptive text about the health state of your instance.
  41632. Description *string `locationName:"description" type:"string"`
  41633. // Checks whether you have the required permissions for the action, without
  41634. // actually making the request, and provides an error response. If you have
  41635. // the required permissions, the error response is DryRunOperation. Otherwise,
  41636. // it is UnauthorizedOperation.
  41637. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41638. // The time at which the reported instance health state ended.
  41639. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  41640. // One or more instances.
  41641. //
  41642. // Instances is a required field
  41643. Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  41644. // One or more reason codes that describes the health state of your instance.
  41645. //
  41646. // * instance-stuck-in-state: My instance is stuck in a state.
  41647. //
  41648. // * unresponsive: My instance is unresponsive.
  41649. //
  41650. // * not-accepting-credentials: My instance is not accepting my credentials.
  41651. //
  41652. // * password-not-available: A password is not available for my instance.
  41653. //
  41654. // * performance-network: My instance is experiencing performance problems
  41655. // which I believe are network related.
  41656. //
  41657. // * performance-instance-store: My instance is experiencing performance
  41658. // problems which I believe are related to the instance stores.
  41659. //
  41660. // * performance-ebs-volume: My instance is experiencing performance problems
  41661. // which I believe are related to an EBS volume.
  41662. //
  41663. // * performance-other: My instance is experiencing performance problems.
  41664. //
  41665. // * other: [explain using the description parameter]
  41666. //
  41667. // ReasonCodes is a required field
  41668. ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
  41669. // The time at which the reported instance health state began.
  41670. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  41671. // The status of all instances listed.
  41672. //
  41673. // Status is a required field
  41674. Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
  41675. }
  41676. // String returns the string representation
  41677. func (s ReportInstanceStatusInput) String() string {
  41678. return awsutil.Prettify(s)
  41679. }
  41680. // GoString returns the string representation
  41681. func (s ReportInstanceStatusInput) GoString() string {
  41682. return s.String()
  41683. }
  41684. // Validate inspects the fields of the type to determine if they are valid.
  41685. func (s *ReportInstanceStatusInput) Validate() error {
  41686. invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
  41687. if s.Instances == nil {
  41688. invalidParams.Add(request.NewErrParamRequired("Instances"))
  41689. }
  41690. if s.ReasonCodes == nil {
  41691. invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
  41692. }
  41693. if s.Status == nil {
  41694. invalidParams.Add(request.NewErrParamRequired("Status"))
  41695. }
  41696. if invalidParams.Len() > 0 {
  41697. return invalidParams
  41698. }
  41699. return nil
  41700. }
  41701. // SetDescription sets the Description field's value.
  41702. func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
  41703. s.Description = &v
  41704. return s
  41705. }
  41706. // SetDryRun sets the DryRun field's value.
  41707. func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
  41708. s.DryRun = &v
  41709. return s
  41710. }
  41711. // SetEndTime sets the EndTime field's value.
  41712. func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
  41713. s.EndTime = &v
  41714. return s
  41715. }
  41716. // SetInstances sets the Instances field's value.
  41717. func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
  41718. s.Instances = v
  41719. return s
  41720. }
  41721. // SetReasonCodes sets the ReasonCodes field's value.
  41722. func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
  41723. s.ReasonCodes = v
  41724. return s
  41725. }
  41726. // SetStartTime sets the StartTime field's value.
  41727. func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
  41728. s.StartTime = &v
  41729. return s
  41730. }
  41731. // SetStatus sets the Status field's value.
  41732. func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
  41733. s.Status = &v
  41734. return s
  41735. }
  41736. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatusOutput
  41737. type ReportInstanceStatusOutput struct {
  41738. _ struct{} `type:"structure"`
  41739. }
  41740. // String returns the string representation
  41741. func (s ReportInstanceStatusOutput) String() string {
  41742. return awsutil.Prettify(s)
  41743. }
  41744. // GoString returns the string representation
  41745. func (s ReportInstanceStatusOutput) GoString() string {
  41746. return s.String()
  41747. }
  41748. // Contains the parameters for RequestSpotFleet.
  41749. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetRequest
  41750. type RequestSpotFleetInput struct {
  41751. _ struct{} `type:"structure"`
  41752. // Checks whether you have the required permissions for the action, without
  41753. // actually making the request, and provides an error response. If you have
  41754. // the required permissions, the error response is DryRunOperation. Otherwise,
  41755. // it is UnauthorizedOperation.
  41756. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41757. // The configuration for the Spot fleet request.
  41758. //
  41759. // SpotFleetRequestConfig is a required field
  41760. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  41761. }
  41762. // String returns the string representation
  41763. func (s RequestSpotFleetInput) String() string {
  41764. return awsutil.Prettify(s)
  41765. }
  41766. // GoString returns the string representation
  41767. func (s RequestSpotFleetInput) GoString() string {
  41768. return s.String()
  41769. }
  41770. // Validate inspects the fields of the type to determine if they are valid.
  41771. func (s *RequestSpotFleetInput) Validate() error {
  41772. invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
  41773. if s.SpotFleetRequestConfig == nil {
  41774. invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
  41775. }
  41776. if s.SpotFleetRequestConfig != nil {
  41777. if err := s.SpotFleetRequestConfig.Validate(); err != nil {
  41778. invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
  41779. }
  41780. }
  41781. if invalidParams.Len() > 0 {
  41782. return invalidParams
  41783. }
  41784. return nil
  41785. }
  41786. // SetDryRun sets the DryRun field's value.
  41787. func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
  41788. s.DryRun = &v
  41789. return s
  41790. }
  41791. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  41792. func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
  41793. s.SpotFleetRequestConfig = v
  41794. return s
  41795. }
  41796. // Contains the output of RequestSpotFleet.
  41797. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleetResponse
  41798. type RequestSpotFleetOutput struct {
  41799. _ struct{} `type:"structure"`
  41800. // The ID of the Spot fleet request.
  41801. //
  41802. // SpotFleetRequestId is a required field
  41803. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  41804. }
  41805. // String returns the string representation
  41806. func (s RequestSpotFleetOutput) String() string {
  41807. return awsutil.Prettify(s)
  41808. }
  41809. // GoString returns the string representation
  41810. func (s RequestSpotFleetOutput) GoString() string {
  41811. return s.String()
  41812. }
  41813. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  41814. func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
  41815. s.SpotFleetRequestId = &v
  41816. return s
  41817. }
  41818. // Contains the parameters for RequestSpotInstances.
  41819. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesRequest
  41820. type RequestSpotInstancesInput struct {
  41821. _ struct{} `type:"structure"`
  41822. // The user-specified name for a logical grouping of bids.
  41823. //
  41824. // When you specify an Availability Zone group in a Spot Instance request, all
  41825. // Spot instances in the request are launched in the same Availability Zone.
  41826. // Instance proximity is maintained with this parameter, but the choice of Availability
  41827. // Zone is not. The group applies only to bids for Spot Instances of the same
  41828. // instance type. Any additional Spot instance requests that are specified with
  41829. // the same Availability Zone group name are launched in that same Availability
  41830. // Zone, as long as at least one instance from the group is still active.
  41831. //
  41832. // If there is no active instance running in the Availability Zone group that
  41833. // you specify for a new Spot instance request (all instances are terminated,
  41834. // the bid is expired, or the bid falls below current market), then Amazon EC2
  41835. // launches the instance in any Availability Zone where the constraint can be
  41836. // met. Consequently, the subsequent set of Spot instances could be placed in
  41837. // a different zone from the original request, even if you specified the same
  41838. // Availability Zone group.
  41839. //
  41840. // Default: Instances are launched in any available Availability Zone.
  41841. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  41842. // The required duration for the Spot instances (also known as Spot blocks),
  41843. // in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
  41844. // or 360).
  41845. //
  41846. // The duration period starts as soon as your Spot instance receives its instance
  41847. // ID. At the end of the duration period, Amazon EC2 marks the Spot instance
  41848. // for termination and provides a Spot instance termination notice, which gives
  41849. // the instance a two-minute warning before it terminates.
  41850. //
  41851. // Note that you can't specify an Availability Zone group or a launch group
  41852. // if you specify a duration.
  41853. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  41854. // Unique, case-sensitive identifier that you provide to ensure the idempotency
  41855. // of the request. For more information, see How to Ensure Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
  41856. // in the Amazon Elastic Compute Cloud User Guide.
  41857. ClientToken *string `locationName:"clientToken" type:"string"`
  41858. // Checks whether you have the required permissions for the action, without
  41859. // actually making the request, and provides an error response. If you have
  41860. // the required permissions, the error response is DryRunOperation. Otherwise,
  41861. // it is UnauthorizedOperation.
  41862. DryRun *bool `locationName:"dryRun" type:"boolean"`
  41863. // The maximum number of Spot instances to launch.
  41864. //
  41865. // Default: 1
  41866. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  41867. // The instance launch group. Launch groups are Spot instances that launch together
  41868. // and terminate together.
  41869. //
  41870. // Default: Instances are launched and terminated individually
  41871. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  41872. // Describes the launch specification for an instance.
  41873. LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
  41874. // The maximum hourly price (bid) for any Spot instance launched to fulfill
  41875. // the request.
  41876. //
  41877. // SpotPrice is a required field
  41878. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  41879. // The Spot instance request type.
  41880. //
  41881. // Default: one-time
  41882. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  41883. // The start date of the request. If this is a one-time request, the request
  41884. // becomes active at this date and time and remains active until all instances
  41885. // launch, the request expires, or the request is canceled. If the request is
  41886. // persistent, the request becomes active at this date and time and remains
  41887. // active until it expires or is canceled.
  41888. //
  41889. // Default: The request is effective indefinitely.
  41890. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  41891. // The end date of the request. If this is a one-time request, the request remains
  41892. // active until all instances launch, the request is canceled, or this date
  41893. // is reached. If the request is persistent, it remains active until it is canceled
  41894. // or this date and time is reached.
  41895. //
  41896. // Default: The request is effective indefinitely.
  41897. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  41898. }
  41899. // String returns the string representation
  41900. func (s RequestSpotInstancesInput) String() string {
  41901. return awsutil.Prettify(s)
  41902. }
  41903. // GoString returns the string representation
  41904. func (s RequestSpotInstancesInput) GoString() string {
  41905. return s.String()
  41906. }
  41907. // Validate inspects the fields of the type to determine if they are valid.
  41908. func (s *RequestSpotInstancesInput) Validate() error {
  41909. invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
  41910. if s.SpotPrice == nil {
  41911. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  41912. }
  41913. if s.LaunchSpecification != nil {
  41914. if err := s.LaunchSpecification.Validate(); err != nil {
  41915. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  41916. }
  41917. }
  41918. if invalidParams.Len() > 0 {
  41919. return invalidParams
  41920. }
  41921. return nil
  41922. }
  41923. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  41924. func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
  41925. s.AvailabilityZoneGroup = &v
  41926. return s
  41927. }
  41928. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  41929. func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
  41930. s.BlockDurationMinutes = &v
  41931. return s
  41932. }
  41933. // SetClientToken sets the ClientToken field's value.
  41934. func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
  41935. s.ClientToken = &v
  41936. return s
  41937. }
  41938. // SetDryRun sets the DryRun field's value.
  41939. func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
  41940. s.DryRun = &v
  41941. return s
  41942. }
  41943. // SetInstanceCount sets the InstanceCount field's value.
  41944. func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
  41945. s.InstanceCount = &v
  41946. return s
  41947. }
  41948. // SetLaunchGroup sets the LaunchGroup field's value.
  41949. func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
  41950. s.LaunchGroup = &v
  41951. return s
  41952. }
  41953. // SetLaunchSpecification sets the LaunchSpecification field's value.
  41954. func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
  41955. s.LaunchSpecification = v
  41956. return s
  41957. }
  41958. // SetSpotPrice sets the SpotPrice field's value.
  41959. func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
  41960. s.SpotPrice = &v
  41961. return s
  41962. }
  41963. // SetType sets the Type field's value.
  41964. func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
  41965. s.Type = &v
  41966. return s
  41967. }
  41968. // SetValidFrom sets the ValidFrom field's value.
  41969. func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
  41970. s.ValidFrom = &v
  41971. return s
  41972. }
  41973. // SetValidUntil sets the ValidUntil field's value.
  41974. func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
  41975. s.ValidUntil = &v
  41976. return s
  41977. }
  41978. // Contains the output of RequestSpotInstances.
  41979. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstancesResult
  41980. type RequestSpotInstancesOutput struct {
  41981. _ struct{} `type:"structure"`
  41982. // One or more Spot instance requests.
  41983. SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
  41984. }
  41985. // String returns the string representation
  41986. func (s RequestSpotInstancesOutput) String() string {
  41987. return awsutil.Prettify(s)
  41988. }
  41989. // GoString returns the string representation
  41990. func (s RequestSpotInstancesOutput) GoString() string {
  41991. return s.String()
  41992. }
  41993. // SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
  41994. func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
  41995. s.SpotInstanceRequests = v
  41996. return s
  41997. }
  41998. // Describes the launch specification for an instance.
  41999. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotLaunchSpecification
  42000. type RequestSpotLaunchSpecification struct {
  42001. _ struct{} `type:"structure"`
  42002. // Deprecated.
  42003. AddressingType *string `locationName:"addressingType" type:"string"`
  42004. // One or more block device mapping entries.
  42005. //
  42006. // Although you can specify encrypted EBS volumes in this block device mapping
  42007. // for your Spot Instances, these volumes are not encrypted.
  42008. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  42009. // Indicates whether the instance is optimized for EBS I/O. This optimization
  42010. // provides dedicated throughput to Amazon EBS and an optimized configuration
  42011. // stack to provide optimal EBS I/O performance. This optimization isn't available
  42012. // with all instance types. Additional usage charges apply when using an EBS
  42013. // Optimized instance.
  42014. //
  42015. // Default: false
  42016. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  42017. // The IAM instance profile.
  42018. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  42019. // The ID of the AMI.
  42020. ImageId *string `locationName:"imageId" type:"string"`
  42021. // The instance type.
  42022. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42023. // The ID of the kernel.
  42024. KernelId *string `locationName:"kernelId" type:"string"`
  42025. // The name of the key pair.
  42026. KeyName *string `locationName:"keyName" type:"string"`
  42027. // Describes the monitoring of an instance.
  42028. Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
  42029. // One or more network interfaces. If you specify a network interface, you must
  42030. // specify subnet IDs and security group IDs using the network interface.
  42031. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
  42032. // The placement information for the instance.
  42033. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  42034. // The ID of the RAM disk.
  42035. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  42036. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
  42037. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
  42038. // The ID of the subnet in which to launch the instance.
  42039. SubnetId *string `locationName:"subnetId" type:"string"`
  42040. // The user data to make available to the instances. If you are using an AWS
  42041. // SDK or command line tool, Base64-encoding is performed for you, and you can
  42042. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  42043. UserData *string `locationName:"userData" type:"string"`
  42044. }
  42045. // String returns the string representation
  42046. func (s RequestSpotLaunchSpecification) String() string {
  42047. return awsutil.Prettify(s)
  42048. }
  42049. // GoString returns the string representation
  42050. func (s RequestSpotLaunchSpecification) GoString() string {
  42051. return s.String()
  42052. }
  42053. // Validate inspects the fields of the type to determine if they are valid.
  42054. func (s *RequestSpotLaunchSpecification) Validate() error {
  42055. invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
  42056. if s.Monitoring != nil {
  42057. if err := s.Monitoring.Validate(); err != nil {
  42058. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  42059. }
  42060. }
  42061. if s.NetworkInterfaces != nil {
  42062. for i, v := range s.NetworkInterfaces {
  42063. if v == nil {
  42064. continue
  42065. }
  42066. if err := v.Validate(); err != nil {
  42067. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  42068. }
  42069. }
  42070. }
  42071. if invalidParams.Len() > 0 {
  42072. return invalidParams
  42073. }
  42074. return nil
  42075. }
  42076. // SetAddressingType sets the AddressingType field's value.
  42077. func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
  42078. s.AddressingType = &v
  42079. return s
  42080. }
  42081. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  42082. func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
  42083. s.BlockDeviceMappings = v
  42084. return s
  42085. }
  42086. // SetEbsOptimized sets the EbsOptimized field's value.
  42087. func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
  42088. s.EbsOptimized = &v
  42089. return s
  42090. }
  42091. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  42092. func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
  42093. s.IamInstanceProfile = v
  42094. return s
  42095. }
  42096. // SetImageId sets the ImageId field's value.
  42097. func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
  42098. s.ImageId = &v
  42099. return s
  42100. }
  42101. // SetInstanceType sets the InstanceType field's value.
  42102. func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
  42103. s.InstanceType = &v
  42104. return s
  42105. }
  42106. // SetKernelId sets the KernelId field's value.
  42107. func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
  42108. s.KernelId = &v
  42109. return s
  42110. }
  42111. // SetKeyName sets the KeyName field's value.
  42112. func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
  42113. s.KeyName = &v
  42114. return s
  42115. }
  42116. // SetMonitoring sets the Monitoring field's value.
  42117. func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
  42118. s.Monitoring = v
  42119. return s
  42120. }
  42121. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  42122. func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
  42123. s.NetworkInterfaces = v
  42124. return s
  42125. }
  42126. // SetPlacement sets the Placement field's value.
  42127. func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
  42128. s.Placement = v
  42129. return s
  42130. }
  42131. // SetRamdiskId sets the RamdiskId field's value.
  42132. func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
  42133. s.RamdiskId = &v
  42134. return s
  42135. }
  42136. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  42137. func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
  42138. s.SecurityGroupIds = v
  42139. return s
  42140. }
  42141. // SetSecurityGroups sets the SecurityGroups field's value.
  42142. func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
  42143. s.SecurityGroups = v
  42144. return s
  42145. }
  42146. // SetSubnetId sets the SubnetId field's value.
  42147. func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
  42148. s.SubnetId = &v
  42149. return s
  42150. }
  42151. // SetUserData sets the UserData field's value.
  42152. func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
  42153. s.UserData = &v
  42154. return s
  42155. }
  42156. // Describes a reservation.
  42157. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Reservation
  42158. type Reservation struct {
  42159. _ struct{} `type:"structure"`
  42160. // [EC2-Classic only] One or more security groups.
  42161. Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  42162. // One or more instances.
  42163. Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
  42164. // The ID of the AWS account that owns the reservation.
  42165. OwnerId *string `locationName:"ownerId" type:"string"`
  42166. // The ID of the requester that launched the instances on your behalf (for example,
  42167. // AWS Management Console or Auto Scaling).
  42168. RequesterId *string `locationName:"requesterId" type:"string"`
  42169. // The ID of the reservation.
  42170. ReservationId *string `locationName:"reservationId" type:"string"`
  42171. }
  42172. // String returns the string representation
  42173. func (s Reservation) String() string {
  42174. return awsutil.Prettify(s)
  42175. }
  42176. // GoString returns the string representation
  42177. func (s Reservation) GoString() string {
  42178. return s.String()
  42179. }
  42180. // SetGroups sets the Groups field's value.
  42181. func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
  42182. s.Groups = v
  42183. return s
  42184. }
  42185. // SetInstances sets the Instances field's value.
  42186. func (s *Reservation) SetInstances(v []*Instance) *Reservation {
  42187. s.Instances = v
  42188. return s
  42189. }
  42190. // SetOwnerId sets the OwnerId field's value.
  42191. func (s *Reservation) SetOwnerId(v string) *Reservation {
  42192. s.OwnerId = &v
  42193. return s
  42194. }
  42195. // SetRequesterId sets the RequesterId field's value.
  42196. func (s *Reservation) SetRequesterId(v string) *Reservation {
  42197. s.RequesterId = &v
  42198. return s
  42199. }
  42200. // SetReservationId sets the ReservationId field's value.
  42201. func (s *Reservation) SetReservationId(v string) *Reservation {
  42202. s.ReservationId = &v
  42203. return s
  42204. }
  42205. // The cost associated with the Reserved Instance.
  42206. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservationValue
  42207. type ReservationValue struct {
  42208. _ struct{} `type:"structure"`
  42209. // The hourly rate of the reservation.
  42210. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  42211. // The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
  42212. // * number of hours remaining).
  42213. RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
  42214. // The remaining upfront cost of the reservation.
  42215. RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
  42216. }
  42217. // String returns the string representation
  42218. func (s ReservationValue) String() string {
  42219. return awsutil.Prettify(s)
  42220. }
  42221. // GoString returns the string representation
  42222. func (s ReservationValue) GoString() string {
  42223. return s.String()
  42224. }
  42225. // SetHourlyPrice sets the HourlyPrice field's value.
  42226. func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
  42227. s.HourlyPrice = &v
  42228. return s
  42229. }
  42230. // SetRemainingTotalValue sets the RemainingTotalValue field's value.
  42231. func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
  42232. s.RemainingTotalValue = &v
  42233. return s
  42234. }
  42235. // SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
  42236. func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
  42237. s.RemainingUpfrontValue = &v
  42238. return s
  42239. }
  42240. // Describes the limit price of a Reserved Instance offering.
  42241. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceLimitPrice
  42242. type ReservedInstanceLimitPrice struct {
  42243. _ struct{} `type:"structure"`
  42244. // Used for Reserved Instance Marketplace offerings. Specifies the limit price
  42245. // on the total order (instanceCount * price).
  42246. Amount *float64 `locationName:"amount" type:"double"`
  42247. // The currency in which the limitPrice amount is specified. At this time, the
  42248. // only supported currency is USD.
  42249. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  42250. }
  42251. // String returns the string representation
  42252. func (s ReservedInstanceLimitPrice) String() string {
  42253. return awsutil.Prettify(s)
  42254. }
  42255. // GoString returns the string representation
  42256. func (s ReservedInstanceLimitPrice) GoString() string {
  42257. return s.String()
  42258. }
  42259. // SetAmount sets the Amount field's value.
  42260. func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
  42261. s.Amount = &v
  42262. return s
  42263. }
  42264. // SetCurrencyCode sets the CurrencyCode field's value.
  42265. func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
  42266. s.CurrencyCode = &v
  42267. return s
  42268. }
  42269. // The total value of the Convertible Reserved Instance.
  42270. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstanceReservationValue
  42271. type ReservedInstanceReservationValue struct {
  42272. _ struct{} `type:"structure"`
  42273. // The total value of the Convertible Reserved Instance that you are exchanging.
  42274. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  42275. // The ID of the Convertible Reserved Instance that you are exchanging.
  42276. ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
  42277. }
  42278. // String returns the string representation
  42279. func (s ReservedInstanceReservationValue) String() string {
  42280. return awsutil.Prettify(s)
  42281. }
  42282. // GoString returns the string representation
  42283. func (s ReservedInstanceReservationValue) GoString() string {
  42284. return s.String()
  42285. }
  42286. // SetReservationValue sets the ReservationValue field's value.
  42287. func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
  42288. s.ReservationValue = v
  42289. return s
  42290. }
  42291. // SetReservedInstanceId sets the ReservedInstanceId field's value.
  42292. func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
  42293. s.ReservedInstanceId = &v
  42294. return s
  42295. }
  42296. // Describes a Reserved Instance.
  42297. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstances
  42298. type ReservedInstances struct {
  42299. _ struct{} `type:"structure"`
  42300. // The Availability Zone in which the Reserved Instance can be used.
  42301. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42302. // The currency of the Reserved Instance. It's specified using ISO 4217 standard
  42303. // currency codes. At this time, the only supported currency is USD.
  42304. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  42305. // The duration of the Reserved Instance, in seconds.
  42306. Duration *int64 `locationName:"duration" type:"long"`
  42307. // The time when the Reserved Instance expires.
  42308. End *time.Time `locationName:"end" type:"timestamp" timestampFormat:"iso8601"`
  42309. // The purchase price of the Reserved Instance.
  42310. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  42311. // The number of reservations purchased.
  42312. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  42313. // The tenancy of the instance.
  42314. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  42315. // The instance type on which the Reserved Instance can be used.
  42316. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42317. // The offering class of the Reserved Instance.
  42318. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  42319. // The Reserved Instance offering type.
  42320. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  42321. // The Reserved Instance product platform description.
  42322. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  42323. // The recurring charge tag assigned to the resource.
  42324. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  42325. // The ID of the Reserved Instance.
  42326. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42327. // The scope of the Reserved Instance.
  42328. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  42329. // The date and time the Reserved Instance started.
  42330. Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"`
  42331. // The state of the Reserved Instance purchase.
  42332. State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
  42333. // Any tags assigned to the resource.
  42334. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  42335. // The usage price of the Reserved Instance, per hour.
  42336. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  42337. }
  42338. // String returns the string representation
  42339. func (s ReservedInstances) String() string {
  42340. return awsutil.Prettify(s)
  42341. }
  42342. // GoString returns the string representation
  42343. func (s ReservedInstances) GoString() string {
  42344. return s.String()
  42345. }
  42346. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42347. func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
  42348. s.AvailabilityZone = &v
  42349. return s
  42350. }
  42351. // SetCurrencyCode sets the CurrencyCode field's value.
  42352. func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
  42353. s.CurrencyCode = &v
  42354. return s
  42355. }
  42356. // SetDuration sets the Duration field's value.
  42357. func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
  42358. s.Duration = &v
  42359. return s
  42360. }
  42361. // SetEnd sets the End field's value.
  42362. func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
  42363. s.End = &v
  42364. return s
  42365. }
  42366. // SetFixedPrice sets the FixedPrice field's value.
  42367. func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
  42368. s.FixedPrice = &v
  42369. return s
  42370. }
  42371. // SetInstanceCount sets the InstanceCount field's value.
  42372. func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
  42373. s.InstanceCount = &v
  42374. return s
  42375. }
  42376. // SetInstanceTenancy sets the InstanceTenancy field's value.
  42377. func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
  42378. s.InstanceTenancy = &v
  42379. return s
  42380. }
  42381. // SetInstanceType sets the InstanceType field's value.
  42382. func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
  42383. s.InstanceType = &v
  42384. return s
  42385. }
  42386. // SetOfferingClass sets the OfferingClass field's value.
  42387. func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
  42388. s.OfferingClass = &v
  42389. return s
  42390. }
  42391. // SetOfferingType sets the OfferingType field's value.
  42392. func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
  42393. s.OfferingType = &v
  42394. return s
  42395. }
  42396. // SetProductDescription sets the ProductDescription field's value.
  42397. func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
  42398. s.ProductDescription = &v
  42399. return s
  42400. }
  42401. // SetRecurringCharges sets the RecurringCharges field's value.
  42402. func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
  42403. s.RecurringCharges = v
  42404. return s
  42405. }
  42406. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42407. func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
  42408. s.ReservedInstancesId = &v
  42409. return s
  42410. }
  42411. // SetScope sets the Scope field's value.
  42412. func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
  42413. s.Scope = &v
  42414. return s
  42415. }
  42416. // SetStart sets the Start field's value.
  42417. func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
  42418. s.Start = &v
  42419. return s
  42420. }
  42421. // SetState sets the State field's value.
  42422. func (s *ReservedInstances) SetState(v string) *ReservedInstances {
  42423. s.State = &v
  42424. return s
  42425. }
  42426. // SetTags sets the Tags field's value.
  42427. func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
  42428. s.Tags = v
  42429. return s
  42430. }
  42431. // SetUsagePrice sets the UsagePrice field's value.
  42432. func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
  42433. s.UsagePrice = &v
  42434. return s
  42435. }
  42436. // Describes the configuration settings for the modified Reserved Instances.
  42437. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesConfiguration
  42438. type ReservedInstancesConfiguration struct {
  42439. _ struct{} `type:"structure"`
  42440. // The Availability Zone for the modified Reserved Instances.
  42441. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42442. // The number of modified Reserved Instances.
  42443. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  42444. // The instance type for the modified Reserved Instances.
  42445. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42446. // The network platform of the modified Reserved Instances, which is either
  42447. // EC2-Classic or EC2-VPC.
  42448. Platform *string `locationName:"platform" type:"string"`
  42449. // Whether the Reserved Instance is applied to instances in a region or instances
  42450. // in a specific Availability Zone.
  42451. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  42452. }
  42453. // String returns the string representation
  42454. func (s ReservedInstancesConfiguration) String() string {
  42455. return awsutil.Prettify(s)
  42456. }
  42457. // GoString returns the string representation
  42458. func (s ReservedInstancesConfiguration) GoString() string {
  42459. return s.String()
  42460. }
  42461. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42462. func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
  42463. s.AvailabilityZone = &v
  42464. return s
  42465. }
  42466. // SetInstanceCount sets the InstanceCount field's value.
  42467. func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
  42468. s.InstanceCount = &v
  42469. return s
  42470. }
  42471. // SetInstanceType sets the InstanceType field's value.
  42472. func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
  42473. s.InstanceType = &v
  42474. return s
  42475. }
  42476. // SetPlatform sets the Platform field's value.
  42477. func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
  42478. s.Platform = &v
  42479. return s
  42480. }
  42481. // SetScope sets the Scope field's value.
  42482. func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
  42483. s.Scope = &v
  42484. return s
  42485. }
  42486. // Describes the ID of a Reserved Instance.
  42487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesId
  42488. type ReservedInstancesId struct {
  42489. _ struct{} `type:"structure"`
  42490. // The ID of the Reserved Instance.
  42491. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42492. }
  42493. // String returns the string representation
  42494. func (s ReservedInstancesId) String() string {
  42495. return awsutil.Prettify(s)
  42496. }
  42497. // GoString returns the string representation
  42498. func (s ReservedInstancesId) GoString() string {
  42499. return s.String()
  42500. }
  42501. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42502. func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
  42503. s.ReservedInstancesId = &v
  42504. return s
  42505. }
  42506. // Describes a Reserved Instance listing.
  42507. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesListing
  42508. type ReservedInstancesListing struct {
  42509. _ struct{} `type:"structure"`
  42510. // A unique, case-sensitive key supplied by the client to ensure that the request
  42511. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42512. ClientToken *string `locationName:"clientToken" type:"string"`
  42513. // The time the listing was created.
  42514. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  42515. // The number of instances in this state.
  42516. InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
  42517. // The price of the Reserved Instance listing.
  42518. PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
  42519. // The ID of the Reserved Instance.
  42520. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42521. // The ID of the Reserved Instance listing.
  42522. ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
  42523. // The status of the Reserved Instance listing.
  42524. Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
  42525. // The reason for the current status of the Reserved Instance listing. The response
  42526. // can be blank.
  42527. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42528. // Any tags assigned to the resource.
  42529. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  42530. // The last modified timestamp of the listing.
  42531. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  42532. }
  42533. // String returns the string representation
  42534. func (s ReservedInstancesListing) String() string {
  42535. return awsutil.Prettify(s)
  42536. }
  42537. // GoString returns the string representation
  42538. func (s ReservedInstancesListing) GoString() string {
  42539. return s.String()
  42540. }
  42541. // SetClientToken sets the ClientToken field's value.
  42542. func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
  42543. s.ClientToken = &v
  42544. return s
  42545. }
  42546. // SetCreateDate sets the CreateDate field's value.
  42547. func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
  42548. s.CreateDate = &v
  42549. return s
  42550. }
  42551. // SetInstanceCounts sets the InstanceCounts field's value.
  42552. func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
  42553. s.InstanceCounts = v
  42554. return s
  42555. }
  42556. // SetPriceSchedules sets the PriceSchedules field's value.
  42557. func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
  42558. s.PriceSchedules = v
  42559. return s
  42560. }
  42561. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42562. func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
  42563. s.ReservedInstancesId = &v
  42564. return s
  42565. }
  42566. // SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
  42567. func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
  42568. s.ReservedInstancesListingId = &v
  42569. return s
  42570. }
  42571. // SetStatus sets the Status field's value.
  42572. func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
  42573. s.Status = &v
  42574. return s
  42575. }
  42576. // SetStatusMessage sets the StatusMessage field's value.
  42577. func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
  42578. s.StatusMessage = &v
  42579. return s
  42580. }
  42581. // SetTags sets the Tags field's value.
  42582. func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
  42583. s.Tags = v
  42584. return s
  42585. }
  42586. // SetUpdateDate sets the UpdateDate field's value.
  42587. func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
  42588. s.UpdateDate = &v
  42589. return s
  42590. }
  42591. // Describes a Reserved Instance modification.
  42592. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModification
  42593. type ReservedInstancesModification struct {
  42594. _ struct{} `type:"structure"`
  42595. // A unique, case-sensitive key supplied by the client to ensure that the request
  42596. // is idempotent. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  42597. ClientToken *string `locationName:"clientToken" type:"string"`
  42598. // The time when the modification request was created.
  42599. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  42600. // The time for the modification to become effective.
  42601. EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp" timestampFormat:"iso8601"`
  42602. // Contains target configurations along with their corresponding new Reserved
  42603. // Instance IDs.
  42604. ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
  42605. // The IDs of one or more Reserved Instances.
  42606. ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
  42607. // A unique ID for the Reserved Instance modification.
  42608. ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
  42609. // The status of the Reserved Instances modification request.
  42610. Status *string `locationName:"status" type:"string"`
  42611. // The reason for the status.
  42612. StatusMessage *string `locationName:"statusMessage" type:"string"`
  42613. // The time when the modification request was last updated.
  42614. UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" timestampFormat:"iso8601"`
  42615. }
  42616. // String returns the string representation
  42617. func (s ReservedInstancesModification) String() string {
  42618. return awsutil.Prettify(s)
  42619. }
  42620. // GoString returns the string representation
  42621. func (s ReservedInstancesModification) GoString() string {
  42622. return s.String()
  42623. }
  42624. // SetClientToken sets the ClientToken field's value.
  42625. func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
  42626. s.ClientToken = &v
  42627. return s
  42628. }
  42629. // SetCreateDate sets the CreateDate field's value.
  42630. func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
  42631. s.CreateDate = &v
  42632. return s
  42633. }
  42634. // SetEffectiveDate sets the EffectiveDate field's value.
  42635. func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
  42636. s.EffectiveDate = &v
  42637. return s
  42638. }
  42639. // SetModificationResults sets the ModificationResults field's value.
  42640. func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
  42641. s.ModificationResults = v
  42642. return s
  42643. }
  42644. // SetReservedInstancesIds sets the ReservedInstancesIds field's value.
  42645. func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
  42646. s.ReservedInstancesIds = v
  42647. return s
  42648. }
  42649. // SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
  42650. func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
  42651. s.ReservedInstancesModificationId = &v
  42652. return s
  42653. }
  42654. // SetStatus sets the Status field's value.
  42655. func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
  42656. s.Status = &v
  42657. return s
  42658. }
  42659. // SetStatusMessage sets the StatusMessage field's value.
  42660. func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
  42661. s.StatusMessage = &v
  42662. return s
  42663. }
  42664. // SetUpdateDate sets the UpdateDate field's value.
  42665. func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
  42666. s.UpdateDate = &v
  42667. return s
  42668. }
  42669. // Describes the modification request/s.
  42670. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesModificationResult
  42671. type ReservedInstancesModificationResult struct {
  42672. _ struct{} `type:"structure"`
  42673. // The ID for the Reserved Instances that were created as part of the modification
  42674. // request. This field is only available when the modification is fulfilled.
  42675. ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
  42676. // The target Reserved Instances configurations supplied as part of the modification
  42677. // request.
  42678. TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
  42679. }
  42680. // String returns the string representation
  42681. func (s ReservedInstancesModificationResult) String() string {
  42682. return awsutil.Prettify(s)
  42683. }
  42684. // GoString returns the string representation
  42685. func (s ReservedInstancesModificationResult) GoString() string {
  42686. return s.String()
  42687. }
  42688. // SetReservedInstancesId sets the ReservedInstancesId field's value.
  42689. func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
  42690. s.ReservedInstancesId = &v
  42691. return s
  42692. }
  42693. // SetTargetConfiguration sets the TargetConfiguration field's value.
  42694. func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
  42695. s.TargetConfiguration = v
  42696. return s
  42697. }
  42698. // Describes a Reserved Instance offering.
  42699. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReservedInstancesOffering
  42700. type ReservedInstancesOffering struct {
  42701. _ struct{} `type:"structure"`
  42702. // The Availability Zone in which the Reserved Instance can be used.
  42703. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  42704. // The currency of the Reserved Instance offering you are purchasing. It's specified
  42705. // using ISO 4217 standard currency codes. At this time, the only supported
  42706. // currency is USD.
  42707. CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
  42708. // The duration of the Reserved Instance, in seconds.
  42709. Duration *int64 `locationName:"duration" type:"long"`
  42710. // The purchase price of the Reserved Instance.
  42711. FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
  42712. // The tenancy of the instance.
  42713. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  42714. // The instance type on which the Reserved Instance can be used.
  42715. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  42716. // Indicates whether the offering is available through the Reserved Instance
  42717. // Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
  42718. // this is true.
  42719. Marketplace *bool `locationName:"marketplace" type:"boolean"`
  42720. // If convertible it can be exchanged for Reserved Instances of the same or
  42721. // higher monetary value, with different configurations. If standard, it is
  42722. // not possible to perform an exchange.
  42723. OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
  42724. // The Reserved Instance offering type.
  42725. OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
  42726. // The pricing details of the Reserved Instance offering.
  42727. PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
  42728. // The Reserved Instance product platform description.
  42729. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  42730. // The recurring charge tag assigned to the resource.
  42731. RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
  42732. // The ID of the Reserved Instance offering. This is the offering ID used in
  42733. // GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
  42734. ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
  42735. // Whether the Reserved Instance is applied to instances in a region or an Availability
  42736. // Zone.
  42737. Scope *string `locationName:"scope" type:"string" enum:"scope"`
  42738. // The usage price of the Reserved Instance, per hour.
  42739. UsagePrice *float64 `locationName:"usagePrice" type:"float"`
  42740. }
  42741. // String returns the string representation
  42742. func (s ReservedInstancesOffering) String() string {
  42743. return awsutil.Prettify(s)
  42744. }
  42745. // GoString returns the string representation
  42746. func (s ReservedInstancesOffering) GoString() string {
  42747. return s.String()
  42748. }
  42749. // SetAvailabilityZone sets the AvailabilityZone field's value.
  42750. func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
  42751. s.AvailabilityZone = &v
  42752. return s
  42753. }
  42754. // SetCurrencyCode sets the CurrencyCode field's value.
  42755. func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
  42756. s.CurrencyCode = &v
  42757. return s
  42758. }
  42759. // SetDuration sets the Duration field's value.
  42760. func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
  42761. s.Duration = &v
  42762. return s
  42763. }
  42764. // SetFixedPrice sets the FixedPrice field's value.
  42765. func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
  42766. s.FixedPrice = &v
  42767. return s
  42768. }
  42769. // SetInstanceTenancy sets the InstanceTenancy field's value.
  42770. func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
  42771. s.InstanceTenancy = &v
  42772. return s
  42773. }
  42774. // SetInstanceType sets the InstanceType field's value.
  42775. func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
  42776. s.InstanceType = &v
  42777. return s
  42778. }
  42779. // SetMarketplace sets the Marketplace field's value.
  42780. func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
  42781. s.Marketplace = &v
  42782. return s
  42783. }
  42784. // SetOfferingClass sets the OfferingClass field's value.
  42785. func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
  42786. s.OfferingClass = &v
  42787. return s
  42788. }
  42789. // SetOfferingType sets the OfferingType field's value.
  42790. func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
  42791. s.OfferingType = &v
  42792. return s
  42793. }
  42794. // SetPricingDetails sets the PricingDetails field's value.
  42795. func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
  42796. s.PricingDetails = v
  42797. return s
  42798. }
  42799. // SetProductDescription sets the ProductDescription field's value.
  42800. func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
  42801. s.ProductDescription = &v
  42802. return s
  42803. }
  42804. // SetRecurringCharges sets the RecurringCharges field's value.
  42805. func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
  42806. s.RecurringCharges = v
  42807. return s
  42808. }
  42809. // SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
  42810. func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
  42811. s.ReservedInstancesOfferingId = &v
  42812. return s
  42813. }
  42814. // SetScope sets the Scope field's value.
  42815. func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
  42816. s.Scope = &v
  42817. return s
  42818. }
  42819. // SetUsagePrice sets the UsagePrice field's value.
  42820. func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
  42821. s.UsagePrice = &v
  42822. return s
  42823. }
  42824. // Contains the parameters for ResetImageAttribute.
  42825. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeRequest
  42826. type ResetImageAttributeInput struct {
  42827. _ struct{} `type:"structure"`
  42828. // The attribute to reset (currently you can only reset the launch permission
  42829. // attribute).
  42830. //
  42831. // Attribute is a required field
  42832. Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
  42833. // Checks whether you have the required permissions for the action, without
  42834. // actually making the request, and provides an error response. If you have
  42835. // the required permissions, the error response is DryRunOperation. Otherwise,
  42836. // it is UnauthorizedOperation.
  42837. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42838. // The ID of the AMI.
  42839. //
  42840. // ImageId is a required field
  42841. ImageId *string `type:"string" required:"true"`
  42842. }
  42843. // String returns the string representation
  42844. func (s ResetImageAttributeInput) String() string {
  42845. return awsutil.Prettify(s)
  42846. }
  42847. // GoString returns the string representation
  42848. func (s ResetImageAttributeInput) GoString() string {
  42849. return s.String()
  42850. }
  42851. // Validate inspects the fields of the type to determine if they are valid.
  42852. func (s *ResetImageAttributeInput) Validate() error {
  42853. invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
  42854. if s.Attribute == nil {
  42855. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  42856. }
  42857. if s.ImageId == nil {
  42858. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  42859. }
  42860. if invalidParams.Len() > 0 {
  42861. return invalidParams
  42862. }
  42863. return nil
  42864. }
  42865. // SetAttribute sets the Attribute field's value.
  42866. func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
  42867. s.Attribute = &v
  42868. return s
  42869. }
  42870. // SetDryRun sets the DryRun field's value.
  42871. func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
  42872. s.DryRun = &v
  42873. return s
  42874. }
  42875. // SetImageId sets the ImageId field's value.
  42876. func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
  42877. s.ImageId = &v
  42878. return s
  42879. }
  42880. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttributeOutput
  42881. type ResetImageAttributeOutput struct {
  42882. _ struct{} `type:"structure"`
  42883. }
  42884. // String returns the string representation
  42885. func (s ResetImageAttributeOutput) String() string {
  42886. return awsutil.Prettify(s)
  42887. }
  42888. // GoString returns the string representation
  42889. func (s ResetImageAttributeOutput) GoString() string {
  42890. return s.String()
  42891. }
  42892. // Contains the parameters for ResetInstanceAttribute.
  42893. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeRequest
  42894. type ResetInstanceAttributeInput struct {
  42895. _ struct{} `type:"structure"`
  42896. // The attribute to reset.
  42897. //
  42898. // You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
  42899. // To change an instance attribute, use ModifyInstanceAttribute.
  42900. //
  42901. // Attribute is a required field
  42902. Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
  42903. // Checks whether you have the required permissions for the action, without
  42904. // actually making the request, and provides an error response. If you have
  42905. // the required permissions, the error response is DryRunOperation. Otherwise,
  42906. // it is UnauthorizedOperation.
  42907. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42908. // The ID of the instance.
  42909. //
  42910. // InstanceId is a required field
  42911. InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
  42912. }
  42913. // String returns the string representation
  42914. func (s ResetInstanceAttributeInput) String() string {
  42915. return awsutil.Prettify(s)
  42916. }
  42917. // GoString returns the string representation
  42918. func (s ResetInstanceAttributeInput) GoString() string {
  42919. return s.String()
  42920. }
  42921. // Validate inspects the fields of the type to determine if they are valid.
  42922. func (s *ResetInstanceAttributeInput) Validate() error {
  42923. invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
  42924. if s.Attribute == nil {
  42925. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  42926. }
  42927. if s.InstanceId == nil {
  42928. invalidParams.Add(request.NewErrParamRequired("InstanceId"))
  42929. }
  42930. if invalidParams.Len() > 0 {
  42931. return invalidParams
  42932. }
  42933. return nil
  42934. }
  42935. // SetAttribute sets the Attribute field's value.
  42936. func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
  42937. s.Attribute = &v
  42938. return s
  42939. }
  42940. // SetDryRun sets the DryRun field's value.
  42941. func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
  42942. s.DryRun = &v
  42943. return s
  42944. }
  42945. // SetInstanceId sets the InstanceId field's value.
  42946. func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
  42947. s.InstanceId = &v
  42948. return s
  42949. }
  42950. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttributeOutput
  42951. type ResetInstanceAttributeOutput struct {
  42952. _ struct{} `type:"structure"`
  42953. }
  42954. // String returns the string representation
  42955. func (s ResetInstanceAttributeOutput) String() string {
  42956. return awsutil.Prettify(s)
  42957. }
  42958. // GoString returns the string representation
  42959. func (s ResetInstanceAttributeOutput) GoString() string {
  42960. return s.String()
  42961. }
  42962. // Contains the parameters for ResetNetworkInterfaceAttribute.
  42963. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeRequest
  42964. type ResetNetworkInterfaceAttributeInput struct {
  42965. _ struct{} `type:"structure"`
  42966. // Checks whether you have the required permissions for the action, without
  42967. // actually making the request, and provides an error response. If you have
  42968. // the required permissions, the error response is DryRunOperation. Otherwise,
  42969. // it is UnauthorizedOperation.
  42970. DryRun *bool `locationName:"dryRun" type:"boolean"`
  42971. // The ID of the network interface.
  42972. //
  42973. // NetworkInterfaceId is a required field
  42974. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  42975. // The source/destination checking attribute. Resets the value to true.
  42976. SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
  42977. }
  42978. // String returns the string representation
  42979. func (s ResetNetworkInterfaceAttributeInput) String() string {
  42980. return awsutil.Prettify(s)
  42981. }
  42982. // GoString returns the string representation
  42983. func (s ResetNetworkInterfaceAttributeInput) GoString() string {
  42984. return s.String()
  42985. }
  42986. // Validate inspects the fields of the type to determine if they are valid.
  42987. func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
  42988. invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
  42989. if s.NetworkInterfaceId == nil {
  42990. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  42991. }
  42992. if invalidParams.Len() > 0 {
  42993. return invalidParams
  42994. }
  42995. return nil
  42996. }
  42997. // SetDryRun sets the DryRun field's value.
  42998. func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
  42999. s.DryRun = &v
  43000. return s
  43001. }
  43002. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  43003. func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
  43004. s.NetworkInterfaceId = &v
  43005. return s
  43006. }
  43007. // SetSourceDestCheck sets the SourceDestCheck field's value.
  43008. func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
  43009. s.SourceDestCheck = &v
  43010. return s
  43011. }
  43012. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttributeOutput
  43013. type ResetNetworkInterfaceAttributeOutput struct {
  43014. _ struct{} `type:"structure"`
  43015. }
  43016. // String returns the string representation
  43017. func (s ResetNetworkInterfaceAttributeOutput) String() string {
  43018. return awsutil.Prettify(s)
  43019. }
  43020. // GoString returns the string representation
  43021. func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
  43022. return s.String()
  43023. }
  43024. // Contains the parameters for ResetSnapshotAttribute.
  43025. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeRequest
  43026. type ResetSnapshotAttributeInput struct {
  43027. _ struct{} `type:"structure"`
  43028. // The attribute to reset. Currently, only the attribute for permission to create
  43029. // volumes can be reset.
  43030. //
  43031. // Attribute is a required field
  43032. Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
  43033. // Checks whether you have the required permissions for the action, without
  43034. // actually making the request, and provides an error response. If you have
  43035. // the required permissions, the error response is DryRunOperation. Otherwise,
  43036. // it is UnauthorizedOperation.
  43037. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43038. // The ID of the snapshot.
  43039. //
  43040. // SnapshotId is a required field
  43041. SnapshotId *string `type:"string" required:"true"`
  43042. }
  43043. // String returns the string representation
  43044. func (s ResetSnapshotAttributeInput) String() string {
  43045. return awsutil.Prettify(s)
  43046. }
  43047. // GoString returns the string representation
  43048. func (s ResetSnapshotAttributeInput) GoString() string {
  43049. return s.String()
  43050. }
  43051. // Validate inspects the fields of the type to determine if they are valid.
  43052. func (s *ResetSnapshotAttributeInput) Validate() error {
  43053. invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
  43054. if s.Attribute == nil {
  43055. invalidParams.Add(request.NewErrParamRequired("Attribute"))
  43056. }
  43057. if s.SnapshotId == nil {
  43058. invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
  43059. }
  43060. if invalidParams.Len() > 0 {
  43061. return invalidParams
  43062. }
  43063. return nil
  43064. }
  43065. // SetAttribute sets the Attribute field's value.
  43066. func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
  43067. s.Attribute = &v
  43068. return s
  43069. }
  43070. // SetDryRun sets the DryRun field's value.
  43071. func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
  43072. s.DryRun = &v
  43073. return s
  43074. }
  43075. // SetSnapshotId sets the SnapshotId field's value.
  43076. func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
  43077. s.SnapshotId = &v
  43078. return s
  43079. }
  43080. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttributeOutput
  43081. type ResetSnapshotAttributeOutput struct {
  43082. _ struct{} `type:"structure"`
  43083. }
  43084. // String returns the string representation
  43085. func (s ResetSnapshotAttributeOutput) String() string {
  43086. return awsutil.Prettify(s)
  43087. }
  43088. // GoString returns the string representation
  43089. func (s ResetSnapshotAttributeOutput) GoString() string {
  43090. return s.String()
  43091. }
  43092. // Contains the parameters for RestoreAddressToClassic.
  43093. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicRequest
  43094. type RestoreAddressToClassicInput struct {
  43095. _ struct{} `type:"structure"`
  43096. // Checks whether you have the required permissions for the action, without
  43097. // actually making the request, and provides an error response. If you have
  43098. // the required permissions, the error response is DryRunOperation. Otherwise,
  43099. // it is UnauthorizedOperation.
  43100. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43101. // The Elastic IP address.
  43102. //
  43103. // PublicIp is a required field
  43104. PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
  43105. }
  43106. // String returns the string representation
  43107. func (s RestoreAddressToClassicInput) String() string {
  43108. return awsutil.Prettify(s)
  43109. }
  43110. // GoString returns the string representation
  43111. func (s RestoreAddressToClassicInput) GoString() string {
  43112. return s.String()
  43113. }
  43114. // Validate inspects the fields of the type to determine if they are valid.
  43115. func (s *RestoreAddressToClassicInput) Validate() error {
  43116. invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
  43117. if s.PublicIp == nil {
  43118. invalidParams.Add(request.NewErrParamRequired("PublicIp"))
  43119. }
  43120. if invalidParams.Len() > 0 {
  43121. return invalidParams
  43122. }
  43123. return nil
  43124. }
  43125. // SetDryRun sets the DryRun field's value.
  43126. func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
  43127. s.DryRun = &v
  43128. return s
  43129. }
  43130. // SetPublicIp sets the PublicIp field's value.
  43131. func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
  43132. s.PublicIp = &v
  43133. return s
  43134. }
  43135. // Contains the output of RestoreAddressToClassic.
  43136. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassicResult
  43137. type RestoreAddressToClassicOutput struct {
  43138. _ struct{} `type:"structure"`
  43139. // The Elastic IP address.
  43140. PublicIp *string `locationName:"publicIp" type:"string"`
  43141. // The move status for the IP address.
  43142. Status *string `locationName:"status" type:"string" enum:"Status"`
  43143. }
  43144. // String returns the string representation
  43145. func (s RestoreAddressToClassicOutput) String() string {
  43146. return awsutil.Prettify(s)
  43147. }
  43148. // GoString returns the string representation
  43149. func (s RestoreAddressToClassicOutput) GoString() string {
  43150. return s.String()
  43151. }
  43152. // SetPublicIp sets the PublicIp field's value.
  43153. func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
  43154. s.PublicIp = &v
  43155. return s
  43156. }
  43157. // SetStatus sets the Status field's value.
  43158. func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
  43159. s.Status = &v
  43160. return s
  43161. }
  43162. // Contains the parameters for RevokeSecurityGroupEgress.
  43163. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressRequest
  43164. type RevokeSecurityGroupEgressInput struct {
  43165. _ struct{} `type:"structure"`
  43166. // The CIDR IP address range. We recommend that you specify the CIDR range in
  43167. // a set of IP permissions instead.
  43168. CidrIp *string `locationName:"cidrIp" type:"string"`
  43169. // Checks whether you have the required permissions for the action, without
  43170. // actually making the request, and provides an error response. If you have
  43171. // the required permissions, the error response is DryRunOperation. Otherwise,
  43172. // it is UnauthorizedOperation.
  43173. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43174. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  43175. // We recommend that you specify the port range in a set of IP permissions instead.
  43176. FromPort *int64 `locationName:"fromPort" type:"integer"`
  43177. // The ID of the security group.
  43178. //
  43179. // GroupId is a required field
  43180. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  43181. // A set of IP permissions. You can't specify a destination security group and
  43182. // a CIDR IP address range.
  43183. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  43184. // The IP protocol name or number. We recommend that you specify the protocol
  43185. // in a set of IP permissions instead.
  43186. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  43187. // The name of a destination security group. To revoke outbound access to a
  43188. // destination security group, we recommend that you use a set of IP permissions
  43189. // instead.
  43190. SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
  43191. // The AWS account number for a destination security group. To revoke outbound
  43192. // access to a destination security group, we recommend that you use a set of
  43193. // IP permissions instead.
  43194. SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
  43195. // The end of port range for the TCP and UDP protocols, or an ICMP type number.
  43196. // We recommend that you specify the port range in a set of IP permissions instead.
  43197. ToPort *int64 `locationName:"toPort" type:"integer"`
  43198. }
  43199. // String returns the string representation
  43200. func (s RevokeSecurityGroupEgressInput) String() string {
  43201. return awsutil.Prettify(s)
  43202. }
  43203. // GoString returns the string representation
  43204. func (s RevokeSecurityGroupEgressInput) GoString() string {
  43205. return s.String()
  43206. }
  43207. // Validate inspects the fields of the type to determine if they are valid.
  43208. func (s *RevokeSecurityGroupEgressInput) Validate() error {
  43209. invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
  43210. if s.GroupId == nil {
  43211. invalidParams.Add(request.NewErrParamRequired("GroupId"))
  43212. }
  43213. if invalidParams.Len() > 0 {
  43214. return invalidParams
  43215. }
  43216. return nil
  43217. }
  43218. // SetCidrIp sets the CidrIp field's value.
  43219. func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
  43220. s.CidrIp = &v
  43221. return s
  43222. }
  43223. // SetDryRun sets the DryRun field's value.
  43224. func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
  43225. s.DryRun = &v
  43226. return s
  43227. }
  43228. // SetFromPort sets the FromPort field's value.
  43229. func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
  43230. s.FromPort = &v
  43231. return s
  43232. }
  43233. // SetGroupId sets the GroupId field's value.
  43234. func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
  43235. s.GroupId = &v
  43236. return s
  43237. }
  43238. // SetIpPermissions sets the IpPermissions field's value.
  43239. func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
  43240. s.IpPermissions = v
  43241. return s
  43242. }
  43243. // SetIpProtocol sets the IpProtocol field's value.
  43244. func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
  43245. s.IpProtocol = &v
  43246. return s
  43247. }
  43248. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  43249. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
  43250. s.SourceSecurityGroupName = &v
  43251. return s
  43252. }
  43253. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  43254. func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
  43255. s.SourceSecurityGroupOwnerId = &v
  43256. return s
  43257. }
  43258. // SetToPort sets the ToPort field's value.
  43259. func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
  43260. s.ToPort = &v
  43261. return s
  43262. }
  43263. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgressOutput
  43264. type RevokeSecurityGroupEgressOutput struct {
  43265. _ struct{} `type:"structure"`
  43266. }
  43267. // String returns the string representation
  43268. func (s RevokeSecurityGroupEgressOutput) String() string {
  43269. return awsutil.Prettify(s)
  43270. }
  43271. // GoString returns the string representation
  43272. func (s RevokeSecurityGroupEgressOutput) GoString() string {
  43273. return s.String()
  43274. }
  43275. // Contains the parameters for RevokeSecurityGroupIngress.
  43276. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressRequest
  43277. type RevokeSecurityGroupIngressInput struct {
  43278. _ struct{} `type:"structure"`
  43279. // The CIDR IP address range. You can't specify this parameter when specifying
  43280. // a source security group.
  43281. CidrIp *string `type:"string"`
  43282. // Checks whether you have the required permissions for the action, without
  43283. // actually making the request, and provides an error response. If you have
  43284. // the required permissions, the error response is DryRunOperation. Otherwise,
  43285. // it is UnauthorizedOperation.
  43286. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43287. // The start of port range for the TCP and UDP protocols, or an ICMP type number.
  43288. // For the ICMP type number, use -1 to specify all ICMP types.
  43289. FromPort *int64 `type:"integer"`
  43290. // The ID of the security group. Required for a security group in a nondefault
  43291. // VPC.
  43292. GroupId *string `type:"string"`
  43293. // [EC2-Classic, default VPC] The name of the security group.
  43294. GroupName *string `type:"string"`
  43295. // A set of IP permissions. You can't specify a source security group and a
  43296. // CIDR IP address range.
  43297. IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
  43298. // The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
  43299. // Use -1 to specify all.
  43300. IpProtocol *string `type:"string"`
  43301. // [EC2-Classic, default VPC] The name of the source security group. You can't
  43302. // specify this parameter in combination with the following parameters: the
  43303. // CIDR IP address range, the start of the port range, the IP protocol, and
  43304. // the end of the port range. For EC2-VPC, the source security group must be
  43305. // in the same VPC. To revoke a specific rule for an IP protocol and port range,
  43306. // use a set of IP permissions instead.
  43307. SourceSecurityGroupName *string `type:"string"`
  43308. // [EC2-Classic] The AWS account ID of the source security group, if the source
  43309. // security group is in a different account. You can't specify this parameter
  43310. // in combination with the following parameters: the CIDR IP address range,
  43311. // the IP protocol, the start of the port range, and the end of the port range.
  43312. // To revoke a specific rule for an IP protocol and port range, use a set of
  43313. // IP permissions instead.
  43314. SourceSecurityGroupOwnerId *string `type:"string"`
  43315. // The end of port range for the TCP and UDP protocols, or an ICMP code number.
  43316. // For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
  43317. ToPort *int64 `type:"integer"`
  43318. }
  43319. // String returns the string representation
  43320. func (s RevokeSecurityGroupIngressInput) String() string {
  43321. return awsutil.Prettify(s)
  43322. }
  43323. // GoString returns the string representation
  43324. func (s RevokeSecurityGroupIngressInput) GoString() string {
  43325. return s.String()
  43326. }
  43327. // SetCidrIp sets the CidrIp field's value.
  43328. func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
  43329. s.CidrIp = &v
  43330. return s
  43331. }
  43332. // SetDryRun sets the DryRun field's value.
  43333. func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
  43334. s.DryRun = &v
  43335. return s
  43336. }
  43337. // SetFromPort sets the FromPort field's value.
  43338. func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
  43339. s.FromPort = &v
  43340. return s
  43341. }
  43342. // SetGroupId sets the GroupId field's value.
  43343. func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
  43344. s.GroupId = &v
  43345. return s
  43346. }
  43347. // SetGroupName sets the GroupName field's value.
  43348. func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
  43349. s.GroupName = &v
  43350. return s
  43351. }
  43352. // SetIpPermissions sets the IpPermissions field's value.
  43353. func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
  43354. s.IpPermissions = v
  43355. return s
  43356. }
  43357. // SetIpProtocol sets the IpProtocol field's value.
  43358. func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
  43359. s.IpProtocol = &v
  43360. return s
  43361. }
  43362. // SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
  43363. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
  43364. s.SourceSecurityGroupName = &v
  43365. return s
  43366. }
  43367. // SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
  43368. func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
  43369. s.SourceSecurityGroupOwnerId = &v
  43370. return s
  43371. }
  43372. // SetToPort sets the ToPort field's value.
  43373. func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
  43374. s.ToPort = &v
  43375. return s
  43376. }
  43377. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngressOutput
  43378. type RevokeSecurityGroupIngressOutput struct {
  43379. _ struct{} `type:"structure"`
  43380. }
  43381. // String returns the string representation
  43382. func (s RevokeSecurityGroupIngressOutput) String() string {
  43383. return awsutil.Prettify(s)
  43384. }
  43385. // GoString returns the string representation
  43386. func (s RevokeSecurityGroupIngressOutput) GoString() string {
  43387. return s.String()
  43388. }
  43389. // Describes a route in a route table.
  43390. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Route
  43391. type Route struct {
  43392. _ struct{} `type:"structure"`
  43393. // The IPv4 CIDR block used for the destination match.
  43394. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  43395. // The IPv6 CIDR block used for the destination match.
  43396. DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
  43397. // The prefix of the AWS service.
  43398. DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
  43399. // The ID of the egress-only Internet gateway.
  43400. EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
  43401. // The ID of a gateway attached to your VPC.
  43402. GatewayId *string `locationName:"gatewayId" type:"string"`
  43403. // The ID of a NAT instance in your VPC.
  43404. InstanceId *string `locationName:"instanceId" type:"string"`
  43405. // The AWS account ID of the owner of the instance.
  43406. InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
  43407. // The ID of a NAT gateway.
  43408. NatGatewayId *string `locationName:"natGatewayId" type:"string"`
  43409. // The ID of the network interface.
  43410. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  43411. // Describes how the route was created.
  43412. //
  43413. // * CreateRouteTable - The route was automatically created when the route
  43414. // table was created.
  43415. //
  43416. // * CreateRoute - The route was manually added to the route table.
  43417. //
  43418. // * EnableVgwRoutePropagation - The route was propagated by route propagation.
  43419. Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
  43420. // The state of the route. The blackhole state indicates that the route's target
  43421. // isn't available (for example, the specified gateway isn't attached to the
  43422. // VPC, or the specified NAT instance has been terminated).
  43423. State *string `locationName:"state" type:"string" enum:"RouteState"`
  43424. // The ID of the VPC peering connection.
  43425. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  43426. }
  43427. // String returns the string representation
  43428. func (s Route) String() string {
  43429. return awsutil.Prettify(s)
  43430. }
  43431. // GoString returns the string representation
  43432. func (s Route) GoString() string {
  43433. return s.String()
  43434. }
  43435. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  43436. func (s *Route) SetDestinationCidrBlock(v string) *Route {
  43437. s.DestinationCidrBlock = &v
  43438. return s
  43439. }
  43440. // SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
  43441. func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
  43442. s.DestinationIpv6CidrBlock = &v
  43443. return s
  43444. }
  43445. // SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
  43446. func (s *Route) SetDestinationPrefixListId(v string) *Route {
  43447. s.DestinationPrefixListId = &v
  43448. return s
  43449. }
  43450. // SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
  43451. func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
  43452. s.EgressOnlyInternetGatewayId = &v
  43453. return s
  43454. }
  43455. // SetGatewayId sets the GatewayId field's value.
  43456. func (s *Route) SetGatewayId(v string) *Route {
  43457. s.GatewayId = &v
  43458. return s
  43459. }
  43460. // SetInstanceId sets the InstanceId field's value.
  43461. func (s *Route) SetInstanceId(v string) *Route {
  43462. s.InstanceId = &v
  43463. return s
  43464. }
  43465. // SetInstanceOwnerId sets the InstanceOwnerId field's value.
  43466. func (s *Route) SetInstanceOwnerId(v string) *Route {
  43467. s.InstanceOwnerId = &v
  43468. return s
  43469. }
  43470. // SetNatGatewayId sets the NatGatewayId field's value.
  43471. func (s *Route) SetNatGatewayId(v string) *Route {
  43472. s.NatGatewayId = &v
  43473. return s
  43474. }
  43475. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  43476. func (s *Route) SetNetworkInterfaceId(v string) *Route {
  43477. s.NetworkInterfaceId = &v
  43478. return s
  43479. }
  43480. // SetOrigin sets the Origin field's value.
  43481. func (s *Route) SetOrigin(v string) *Route {
  43482. s.Origin = &v
  43483. return s
  43484. }
  43485. // SetState sets the State field's value.
  43486. func (s *Route) SetState(v string) *Route {
  43487. s.State = &v
  43488. return s
  43489. }
  43490. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  43491. func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
  43492. s.VpcPeeringConnectionId = &v
  43493. return s
  43494. }
  43495. // Describes a route table.
  43496. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTable
  43497. type RouteTable struct {
  43498. _ struct{} `type:"structure"`
  43499. // The associations between the route table and one or more subnets.
  43500. Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
  43501. // Any virtual private gateway (VGW) propagating routes.
  43502. PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
  43503. // The ID of the route table.
  43504. RouteTableId *string `locationName:"routeTableId" type:"string"`
  43505. // The routes in the route table.
  43506. Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
  43507. // Any tags assigned to the route table.
  43508. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  43509. // The ID of the VPC.
  43510. VpcId *string `locationName:"vpcId" type:"string"`
  43511. }
  43512. // String returns the string representation
  43513. func (s RouteTable) String() string {
  43514. return awsutil.Prettify(s)
  43515. }
  43516. // GoString returns the string representation
  43517. func (s RouteTable) GoString() string {
  43518. return s.String()
  43519. }
  43520. // SetAssociations sets the Associations field's value.
  43521. func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
  43522. s.Associations = v
  43523. return s
  43524. }
  43525. // SetPropagatingVgws sets the PropagatingVgws field's value.
  43526. func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
  43527. s.PropagatingVgws = v
  43528. return s
  43529. }
  43530. // SetRouteTableId sets the RouteTableId field's value.
  43531. func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
  43532. s.RouteTableId = &v
  43533. return s
  43534. }
  43535. // SetRoutes sets the Routes field's value.
  43536. func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
  43537. s.Routes = v
  43538. return s
  43539. }
  43540. // SetTags sets the Tags field's value.
  43541. func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
  43542. s.Tags = v
  43543. return s
  43544. }
  43545. // SetVpcId sets the VpcId field's value.
  43546. func (s *RouteTable) SetVpcId(v string) *RouteTable {
  43547. s.VpcId = &v
  43548. return s
  43549. }
  43550. // Describes an association between a route table and a subnet.
  43551. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RouteTableAssociation
  43552. type RouteTableAssociation struct {
  43553. _ struct{} `type:"structure"`
  43554. // Indicates whether this is the main route table.
  43555. Main *bool `locationName:"main" type:"boolean"`
  43556. // The ID of the association between a route table and a subnet.
  43557. RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
  43558. // The ID of the route table.
  43559. RouteTableId *string `locationName:"routeTableId" type:"string"`
  43560. // The ID of the subnet. A subnet ID is not returned for an implicit association.
  43561. SubnetId *string `locationName:"subnetId" type:"string"`
  43562. }
  43563. // String returns the string representation
  43564. func (s RouteTableAssociation) String() string {
  43565. return awsutil.Prettify(s)
  43566. }
  43567. // GoString returns the string representation
  43568. func (s RouteTableAssociation) GoString() string {
  43569. return s.String()
  43570. }
  43571. // SetMain sets the Main field's value.
  43572. func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
  43573. s.Main = &v
  43574. return s
  43575. }
  43576. // SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
  43577. func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
  43578. s.RouteTableAssociationId = &v
  43579. return s
  43580. }
  43581. // SetRouteTableId sets the RouteTableId field's value.
  43582. func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
  43583. s.RouteTableId = &v
  43584. return s
  43585. }
  43586. // SetSubnetId sets the SubnetId field's value.
  43587. func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
  43588. s.SubnetId = &v
  43589. return s
  43590. }
  43591. // Contains the parameters for RunInstances.
  43592. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesRequest
  43593. type RunInstancesInput struct {
  43594. _ struct{} `type:"structure"`
  43595. // Reserved.
  43596. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  43597. // The block device mapping.
  43598. //
  43599. // Supplying both a snapshot ID and an encryption value as arguments for block-device
  43600. // mapping results in an error. This is because only blank volumes can be encrypted
  43601. // on start, and these are not created from a snapshot. If a snapshot is the
  43602. // basis for the volume, it contains data by definition and its encryption status
  43603. // cannot be changed using this action.
  43604. BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  43605. // Unique, case-sensitive identifier you provide to ensure the idempotency of
  43606. // the request. For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43607. //
  43608. // Constraints: Maximum 64 ASCII characters
  43609. ClientToken *string `locationName:"clientToken" type:"string"`
  43610. // If you set this parameter to true, you can't terminate the instance using
  43611. // the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
  43612. // to false after launch, use ModifyInstanceAttribute. Alternatively, if you
  43613. // set InstanceInitiatedShutdownBehavior to terminate, you can terminate the
  43614. // instance by running the shutdown command from the instance.
  43615. //
  43616. // Default: false
  43617. DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
  43618. // Checks whether you have the required permissions for the action, without
  43619. // actually making the request, and provides an error response. If you have
  43620. // the required permissions, the error response is DryRunOperation. Otherwise,
  43621. // it is UnauthorizedOperation.
  43622. DryRun *bool `locationName:"dryRun" type:"boolean"`
  43623. // Indicates whether the instance is optimized for EBS I/O. This optimization
  43624. // provides dedicated throughput to Amazon EBS and an optimized configuration
  43625. // stack to provide optimal EBS I/O performance. This optimization isn't available
  43626. // with all instance types. Additional usage charges apply when using an EBS-optimized
  43627. // instance.
  43628. //
  43629. // Default: false
  43630. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  43631. // The IAM instance profile.
  43632. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  43633. // The ID of the AMI, which you can get by calling DescribeImages.
  43634. //
  43635. // ImageId is a required field
  43636. ImageId *string `type:"string" required:"true"`
  43637. // Indicates whether an instance stops or terminates when you initiate shutdown
  43638. // from the instance (using the operating system command for system shutdown).
  43639. //
  43640. // Default: stop
  43641. InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
  43642. // The instance type. For more information, see Instance Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
  43643. // in the Amazon Elastic Compute Cloud User Guide.
  43644. //
  43645. // Default: m1.small
  43646. InstanceType *string `type:"string" enum:"InstanceType"`
  43647. // [EC2-VPC] A number of IPv6 addresses to associate with the primary network
  43648. // interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
  43649. // You cannot specify this option and the option to assign specific IPv6 addresses
  43650. // in the same request. You can specify this option if you've specified a minimum
  43651. // number of instances to launch.
  43652. Ipv6AddressCount *int64 `type:"integer"`
  43653. // [EC2-VPC] Specify one or more IPv6 addresses from the range of the subnet
  43654. // to associate with the primary network interface. You cannot specify this
  43655. // option and the option to assign a number of IPv6 addresses in the same request.
  43656. // You cannot specify this option if you've specified a minimum number of instances
  43657. // to launch.
  43658. Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
  43659. // The ID of the kernel.
  43660. //
  43661. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  43662. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  43663. // in the Amazon Elastic Compute Cloud User Guide.
  43664. KernelId *string `type:"string"`
  43665. // The name of the key pair. You can create a key pair using CreateKeyPair or
  43666. // ImportKeyPair.
  43667. //
  43668. // If you do not specify a key pair, you can't connect to the instance unless
  43669. // you choose an AMI that is configured to allow users another way to log in.
  43670. KeyName *string `type:"string"`
  43671. // The maximum number of instances to launch. If you specify more instances
  43672. // than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
  43673. // the largest possible number of instances above MinCount.
  43674. //
  43675. // Constraints: Between 1 and the maximum number you're allowed for the specified
  43676. // instance type. For more information about the default limits, and how to
  43677. // 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)
  43678. // in the Amazon EC2 FAQ.
  43679. //
  43680. // MaxCount is a required field
  43681. MaxCount *int64 `type:"integer" required:"true"`
  43682. // The minimum number of instances to launch. If you specify a minimum that
  43683. // is more instances than Amazon EC2 can launch in the target Availability Zone,
  43684. // Amazon EC2 launches no instances.
  43685. //
  43686. // Constraints: Between 1 and the maximum number you're allowed for the specified
  43687. // instance type. For more information about the default limits, and how to
  43688. // 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)
  43689. // in the Amazon EC2 General FAQ.
  43690. //
  43691. // MinCount is a required field
  43692. MinCount *int64 `type:"integer" required:"true"`
  43693. // The monitoring for the instance.
  43694. Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
  43695. // One or more network interfaces.
  43696. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
  43697. // The placement for the instance.
  43698. Placement *Placement `type:"structure"`
  43699. // [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
  43700. // address range of the subnet.
  43701. //
  43702. // Only one private IP address can be designated as primary. You can't specify
  43703. // this option if you've specified the option to designate a private IP address
  43704. // as the primary IP address in a network interface specification. You cannot
  43705. // specify this option if you're launching more than one instance in the request.
  43706. PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
  43707. // The ID of the RAM disk.
  43708. //
  43709. // We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
  43710. // information, see PV-GRUB (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
  43711. // in the Amazon Elastic Compute Cloud User Guide.
  43712. RamdiskId *string `type:"string"`
  43713. // One or more security group IDs. You can create a security group using CreateSecurityGroup.
  43714. //
  43715. // Default: Amazon EC2 uses the default security group.
  43716. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  43717. // [EC2-Classic, default VPC] One or more security group names. For a nondefault
  43718. // VPC, you must use security group IDs instead.
  43719. //
  43720. // Default: Amazon EC2 uses the default security group.
  43721. SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
  43722. // [EC2-VPC] The ID of the subnet to launch the instance into.
  43723. SubnetId *string `type:"string"`
  43724. // The tags to apply to the resources during launch. You can tag instances and
  43725. // volumes. The specified tags are applied to all instances or volumes that
  43726. // are created during launch.
  43727. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
  43728. // The user data to make available to the instance. For more information, see
  43729. // Running Commands on Your Linux Instance at Launch (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
  43730. // (Linux) and Adding User Data (http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
  43731. // (Windows). If you are using an AWS SDK or command line tool, Base64-encoding
  43732. // is performed for you, and you can load the text from a file. Otherwise, you
  43733. // must provide Base64-encoded text.
  43734. UserData *string `type:"string"`
  43735. }
  43736. // String returns the string representation
  43737. func (s RunInstancesInput) String() string {
  43738. return awsutil.Prettify(s)
  43739. }
  43740. // GoString returns the string representation
  43741. func (s RunInstancesInput) GoString() string {
  43742. return s.String()
  43743. }
  43744. // Validate inspects the fields of the type to determine if they are valid.
  43745. func (s *RunInstancesInput) Validate() error {
  43746. invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
  43747. if s.ImageId == nil {
  43748. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  43749. }
  43750. if s.MaxCount == nil {
  43751. invalidParams.Add(request.NewErrParamRequired("MaxCount"))
  43752. }
  43753. if s.MinCount == nil {
  43754. invalidParams.Add(request.NewErrParamRequired("MinCount"))
  43755. }
  43756. if s.Monitoring != nil {
  43757. if err := s.Monitoring.Validate(); err != nil {
  43758. invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
  43759. }
  43760. }
  43761. if s.NetworkInterfaces != nil {
  43762. for i, v := range s.NetworkInterfaces {
  43763. if v == nil {
  43764. continue
  43765. }
  43766. if err := v.Validate(); err != nil {
  43767. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  43768. }
  43769. }
  43770. }
  43771. if invalidParams.Len() > 0 {
  43772. return invalidParams
  43773. }
  43774. return nil
  43775. }
  43776. // SetAdditionalInfo sets the AdditionalInfo field's value.
  43777. func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
  43778. s.AdditionalInfo = &v
  43779. return s
  43780. }
  43781. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  43782. func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
  43783. s.BlockDeviceMappings = v
  43784. return s
  43785. }
  43786. // SetClientToken sets the ClientToken field's value.
  43787. func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
  43788. s.ClientToken = &v
  43789. return s
  43790. }
  43791. // SetDisableApiTermination sets the DisableApiTermination field's value.
  43792. func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
  43793. s.DisableApiTermination = &v
  43794. return s
  43795. }
  43796. // SetDryRun sets the DryRun field's value.
  43797. func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
  43798. s.DryRun = &v
  43799. return s
  43800. }
  43801. // SetEbsOptimized sets the EbsOptimized field's value.
  43802. func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
  43803. s.EbsOptimized = &v
  43804. return s
  43805. }
  43806. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  43807. func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
  43808. s.IamInstanceProfile = v
  43809. return s
  43810. }
  43811. // SetImageId sets the ImageId field's value.
  43812. func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
  43813. s.ImageId = &v
  43814. return s
  43815. }
  43816. // SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
  43817. func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
  43818. s.InstanceInitiatedShutdownBehavior = &v
  43819. return s
  43820. }
  43821. // SetInstanceType sets the InstanceType field's value.
  43822. func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
  43823. s.InstanceType = &v
  43824. return s
  43825. }
  43826. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  43827. func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
  43828. s.Ipv6AddressCount = &v
  43829. return s
  43830. }
  43831. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  43832. func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
  43833. s.Ipv6Addresses = v
  43834. return s
  43835. }
  43836. // SetKernelId sets the KernelId field's value.
  43837. func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
  43838. s.KernelId = &v
  43839. return s
  43840. }
  43841. // SetKeyName sets the KeyName field's value.
  43842. func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
  43843. s.KeyName = &v
  43844. return s
  43845. }
  43846. // SetMaxCount sets the MaxCount field's value.
  43847. func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
  43848. s.MaxCount = &v
  43849. return s
  43850. }
  43851. // SetMinCount sets the MinCount field's value.
  43852. func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
  43853. s.MinCount = &v
  43854. return s
  43855. }
  43856. // SetMonitoring sets the Monitoring field's value.
  43857. func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
  43858. s.Monitoring = v
  43859. return s
  43860. }
  43861. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  43862. func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
  43863. s.NetworkInterfaces = v
  43864. return s
  43865. }
  43866. // SetPlacement sets the Placement field's value.
  43867. func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
  43868. s.Placement = v
  43869. return s
  43870. }
  43871. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  43872. func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
  43873. s.PrivateIpAddress = &v
  43874. return s
  43875. }
  43876. // SetRamdiskId sets the RamdiskId field's value.
  43877. func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
  43878. s.RamdiskId = &v
  43879. return s
  43880. }
  43881. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  43882. func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
  43883. s.SecurityGroupIds = v
  43884. return s
  43885. }
  43886. // SetSecurityGroups sets the SecurityGroups field's value.
  43887. func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
  43888. s.SecurityGroups = v
  43889. return s
  43890. }
  43891. // SetSubnetId sets the SubnetId field's value.
  43892. func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
  43893. s.SubnetId = &v
  43894. return s
  43895. }
  43896. // SetTagSpecifications sets the TagSpecifications field's value.
  43897. func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
  43898. s.TagSpecifications = v
  43899. return s
  43900. }
  43901. // SetUserData sets the UserData field's value.
  43902. func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
  43903. s.UserData = &v
  43904. return s
  43905. }
  43906. // Describes the monitoring of an instance.
  43907. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstancesMonitoringEnabled
  43908. type RunInstancesMonitoringEnabled struct {
  43909. _ struct{} `type:"structure"`
  43910. // Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
  43911. // is enabled.
  43912. //
  43913. // Enabled is a required field
  43914. Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
  43915. }
  43916. // String returns the string representation
  43917. func (s RunInstancesMonitoringEnabled) String() string {
  43918. return awsutil.Prettify(s)
  43919. }
  43920. // GoString returns the string representation
  43921. func (s RunInstancesMonitoringEnabled) GoString() string {
  43922. return s.String()
  43923. }
  43924. // Validate inspects the fields of the type to determine if they are valid.
  43925. func (s *RunInstancesMonitoringEnabled) Validate() error {
  43926. invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
  43927. if s.Enabled == nil {
  43928. invalidParams.Add(request.NewErrParamRequired("Enabled"))
  43929. }
  43930. if invalidParams.Len() > 0 {
  43931. return invalidParams
  43932. }
  43933. return nil
  43934. }
  43935. // SetEnabled sets the Enabled field's value.
  43936. func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
  43937. s.Enabled = &v
  43938. return s
  43939. }
  43940. // Contains the parameters for RunScheduledInstances.
  43941. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesRequest
  43942. type RunScheduledInstancesInput struct {
  43943. _ struct{} `type:"structure"`
  43944. // Unique, case-sensitive identifier that ensures the idempotency of the request.
  43945. // For more information, see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  43946. ClientToken *string `type:"string" idempotencyToken:"true"`
  43947. // Checks whether you have the required permissions for the action, without
  43948. // actually making the request, and provides an error response. If you have
  43949. // the required permissions, the error response is DryRunOperation. Otherwise,
  43950. // it is UnauthorizedOperation.
  43951. DryRun *bool `type:"boolean"`
  43952. // The number of instances.
  43953. //
  43954. // Default: 1
  43955. InstanceCount *int64 `type:"integer"`
  43956. // The launch specification. You must match the instance type, Availability
  43957. // Zone, network, and platform of the schedule that you purchased.
  43958. //
  43959. // LaunchSpecification is a required field
  43960. LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
  43961. // The Scheduled Instance ID.
  43962. //
  43963. // ScheduledInstanceId is a required field
  43964. ScheduledInstanceId *string `type:"string" required:"true"`
  43965. }
  43966. // String returns the string representation
  43967. func (s RunScheduledInstancesInput) String() string {
  43968. return awsutil.Prettify(s)
  43969. }
  43970. // GoString returns the string representation
  43971. func (s RunScheduledInstancesInput) GoString() string {
  43972. return s.String()
  43973. }
  43974. // Validate inspects the fields of the type to determine if they are valid.
  43975. func (s *RunScheduledInstancesInput) Validate() error {
  43976. invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
  43977. if s.LaunchSpecification == nil {
  43978. invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
  43979. }
  43980. if s.ScheduledInstanceId == nil {
  43981. invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
  43982. }
  43983. if s.LaunchSpecification != nil {
  43984. if err := s.LaunchSpecification.Validate(); err != nil {
  43985. invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
  43986. }
  43987. }
  43988. if invalidParams.Len() > 0 {
  43989. return invalidParams
  43990. }
  43991. return nil
  43992. }
  43993. // SetClientToken sets the ClientToken field's value.
  43994. func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
  43995. s.ClientToken = &v
  43996. return s
  43997. }
  43998. // SetDryRun sets the DryRun field's value.
  43999. func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
  44000. s.DryRun = &v
  44001. return s
  44002. }
  44003. // SetInstanceCount sets the InstanceCount field's value.
  44004. func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
  44005. s.InstanceCount = &v
  44006. return s
  44007. }
  44008. // SetLaunchSpecification sets the LaunchSpecification field's value.
  44009. func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
  44010. s.LaunchSpecification = v
  44011. return s
  44012. }
  44013. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  44014. func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
  44015. s.ScheduledInstanceId = &v
  44016. return s
  44017. }
  44018. // Contains the output of RunScheduledInstances.
  44019. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstancesResult
  44020. type RunScheduledInstancesOutput struct {
  44021. _ struct{} `type:"structure"`
  44022. // The IDs of the newly launched instances.
  44023. InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
  44024. }
  44025. // String returns the string representation
  44026. func (s RunScheduledInstancesOutput) String() string {
  44027. return awsutil.Prettify(s)
  44028. }
  44029. // GoString returns the string representation
  44030. func (s RunScheduledInstancesOutput) GoString() string {
  44031. return s.String()
  44032. }
  44033. // SetInstanceIdSet sets the InstanceIdSet field's value.
  44034. func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
  44035. s.InstanceIdSet = v
  44036. return s
  44037. }
  44038. // Describes the storage parameters for S3 and S3 buckets for an instance store-backed
  44039. // AMI.
  44040. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/S3Storage
  44041. type S3Storage struct {
  44042. _ struct{} `type:"structure"`
  44043. // The access key ID of the owner of the bucket. Before you specify a value
  44044. // for your access key ID, review and follow the guidance in Best Practices
  44045. // for Managing AWS Access Keys (http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
  44046. AWSAccessKeyId *string `type:"string"`
  44047. // The bucket in which to store the AMI. You can specify a bucket that you already
  44048. // own or a new bucket that Amazon EC2 creates on your behalf. If you specify
  44049. // a bucket that belongs to someone else, Amazon EC2 returns an error.
  44050. Bucket *string `locationName:"bucket" type:"string"`
  44051. // The beginning of the file name of the AMI.
  44052. Prefix *string `locationName:"prefix" type:"string"`
  44053. // An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
  44054. // into Amazon S3 on your behalf.
  44055. //
  44056. // UploadPolicy is automatically base64 encoded/decoded by the SDK.
  44057. UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
  44058. // The signature of the JSON document.
  44059. UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
  44060. }
  44061. // String returns the string representation
  44062. func (s S3Storage) String() string {
  44063. return awsutil.Prettify(s)
  44064. }
  44065. // GoString returns the string representation
  44066. func (s S3Storage) GoString() string {
  44067. return s.String()
  44068. }
  44069. // SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
  44070. func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
  44071. s.AWSAccessKeyId = &v
  44072. return s
  44073. }
  44074. // SetBucket sets the Bucket field's value.
  44075. func (s *S3Storage) SetBucket(v string) *S3Storage {
  44076. s.Bucket = &v
  44077. return s
  44078. }
  44079. // SetPrefix sets the Prefix field's value.
  44080. func (s *S3Storage) SetPrefix(v string) *S3Storage {
  44081. s.Prefix = &v
  44082. return s
  44083. }
  44084. // SetUploadPolicy sets the UploadPolicy field's value.
  44085. func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
  44086. s.UploadPolicy = v
  44087. return s
  44088. }
  44089. // SetUploadPolicySignature sets the UploadPolicySignature field's value.
  44090. func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
  44091. s.UploadPolicySignature = &v
  44092. return s
  44093. }
  44094. // Describes a Scheduled Instance.
  44095. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstance
  44096. type ScheduledInstance struct {
  44097. _ struct{} `type:"structure"`
  44098. // The Availability Zone.
  44099. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44100. // The date when the Scheduled Instance was purchased.
  44101. CreateDate *time.Time `locationName:"createDate" type:"timestamp" timestampFormat:"iso8601"`
  44102. // The hourly price for a single instance.
  44103. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  44104. // The number of instances.
  44105. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  44106. // The instance type.
  44107. InstanceType *string `locationName:"instanceType" type:"string"`
  44108. // The network platform (EC2-Classic or EC2-VPC).
  44109. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  44110. // The time for the next schedule to start.
  44111. NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  44112. // The platform (Linux/UNIX or Windows).
  44113. Platform *string `locationName:"platform" type:"string"`
  44114. // The time that the previous schedule ended or will end.
  44115. PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp" timestampFormat:"iso8601"`
  44116. // The schedule recurrence.
  44117. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  44118. // The Scheduled Instance ID.
  44119. ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
  44120. // The number of hours in the schedule.
  44121. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  44122. // The end date for the Scheduled Instance.
  44123. TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp" timestampFormat:"iso8601"`
  44124. // The start date for the Scheduled Instance.
  44125. TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp" timestampFormat:"iso8601"`
  44126. // The total number of hours for a single instance for the entire term.
  44127. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  44128. }
  44129. // String returns the string representation
  44130. func (s ScheduledInstance) String() string {
  44131. return awsutil.Prettify(s)
  44132. }
  44133. // GoString returns the string representation
  44134. func (s ScheduledInstance) GoString() string {
  44135. return s.String()
  44136. }
  44137. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44138. func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
  44139. s.AvailabilityZone = &v
  44140. return s
  44141. }
  44142. // SetCreateDate sets the CreateDate field's value.
  44143. func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
  44144. s.CreateDate = &v
  44145. return s
  44146. }
  44147. // SetHourlyPrice sets the HourlyPrice field's value.
  44148. func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
  44149. s.HourlyPrice = &v
  44150. return s
  44151. }
  44152. // SetInstanceCount sets the InstanceCount field's value.
  44153. func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
  44154. s.InstanceCount = &v
  44155. return s
  44156. }
  44157. // SetInstanceType sets the InstanceType field's value.
  44158. func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
  44159. s.InstanceType = &v
  44160. return s
  44161. }
  44162. // SetNetworkPlatform sets the NetworkPlatform field's value.
  44163. func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
  44164. s.NetworkPlatform = &v
  44165. return s
  44166. }
  44167. // SetNextSlotStartTime sets the NextSlotStartTime field's value.
  44168. func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
  44169. s.NextSlotStartTime = &v
  44170. return s
  44171. }
  44172. // SetPlatform sets the Platform field's value.
  44173. func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
  44174. s.Platform = &v
  44175. return s
  44176. }
  44177. // SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
  44178. func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
  44179. s.PreviousSlotEndTime = &v
  44180. return s
  44181. }
  44182. // SetRecurrence sets the Recurrence field's value.
  44183. func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
  44184. s.Recurrence = v
  44185. return s
  44186. }
  44187. // SetScheduledInstanceId sets the ScheduledInstanceId field's value.
  44188. func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
  44189. s.ScheduledInstanceId = &v
  44190. return s
  44191. }
  44192. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  44193. func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
  44194. s.SlotDurationInHours = &v
  44195. return s
  44196. }
  44197. // SetTermEndDate sets the TermEndDate field's value.
  44198. func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
  44199. s.TermEndDate = &v
  44200. return s
  44201. }
  44202. // SetTermStartDate sets the TermStartDate field's value.
  44203. func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
  44204. s.TermStartDate = &v
  44205. return s
  44206. }
  44207. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  44208. func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
  44209. s.TotalScheduledInstanceHours = &v
  44210. return s
  44211. }
  44212. // Describes a schedule that is available for your Scheduled Instances.
  44213. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceAvailability
  44214. type ScheduledInstanceAvailability struct {
  44215. _ struct{} `type:"structure"`
  44216. // The Availability Zone.
  44217. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  44218. // The number of available instances.
  44219. AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
  44220. // The time period for the first schedule to start.
  44221. FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp" timestampFormat:"iso8601"`
  44222. // The hourly price for a single instance.
  44223. HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
  44224. // The instance type. You can specify one of the C3, C4, M4, or R3 instance
  44225. // types.
  44226. InstanceType *string `locationName:"instanceType" type:"string"`
  44227. // The maximum term. The only possible value is 365 days.
  44228. MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
  44229. // The minimum term. The only possible value is 365 days.
  44230. MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
  44231. // The network platform (EC2-Classic or EC2-VPC).
  44232. NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
  44233. // The platform (Linux/UNIX or Windows).
  44234. Platform *string `locationName:"platform" type:"string"`
  44235. // The purchase token. This token expires in two hours.
  44236. PurchaseToken *string `locationName:"purchaseToken" type:"string"`
  44237. // The schedule recurrence.
  44238. Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
  44239. // The number of hours in the schedule.
  44240. SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
  44241. // The total number of hours for a single instance for the entire term.
  44242. TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
  44243. }
  44244. // String returns the string representation
  44245. func (s ScheduledInstanceAvailability) String() string {
  44246. return awsutil.Prettify(s)
  44247. }
  44248. // GoString returns the string representation
  44249. func (s ScheduledInstanceAvailability) GoString() string {
  44250. return s.String()
  44251. }
  44252. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44253. func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
  44254. s.AvailabilityZone = &v
  44255. return s
  44256. }
  44257. // SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
  44258. func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
  44259. s.AvailableInstanceCount = &v
  44260. return s
  44261. }
  44262. // SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
  44263. func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
  44264. s.FirstSlotStartTime = &v
  44265. return s
  44266. }
  44267. // SetHourlyPrice sets the HourlyPrice field's value.
  44268. func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
  44269. s.HourlyPrice = &v
  44270. return s
  44271. }
  44272. // SetInstanceType sets the InstanceType field's value.
  44273. func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
  44274. s.InstanceType = &v
  44275. return s
  44276. }
  44277. // SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
  44278. func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  44279. s.MaxTermDurationInDays = &v
  44280. return s
  44281. }
  44282. // SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
  44283. func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
  44284. s.MinTermDurationInDays = &v
  44285. return s
  44286. }
  44287. // SetNetworkPlatform sets the NetworkPlatform field's value.
  44288. func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
  44289. s.NetworkPlatform = &v
  44290. return s
  44291. }
  44292. // SetPlatform sets the Platform field's value.
  44293. func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
  44294. s.Platform = &v
  44295. return s
  44296. }
  44297. // SetPurchaseToken sets the PurchaseToken field's value.
  44298. func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
  44299. s.PurchaseToken = &v
  44300. return s
  44301. }
  44302. // SetRecurrence sets the Recurrence field's value.
  44303. func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
  44304. s.Recurrence = v
  44305. return s
  44306. }
  44307. // SetSlotDurationInHours sets the SlotDurationInHours field's value.
  44308. func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
  44309. s.SlotDurationInHours = &v
  44310. return s
  44311. }
  44312. // SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
  44313. func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
  44314. s.TotalScheduledInstanceHours = &v
  44315. return s
  44316. }
  44317. // Describes the recurring schedule for a Scheduled Instance.
  44318. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrence
  44319. type ScheduledInstanceRecurrence struct {
  44320. _ struct{} `type:"structure"`
  44321. // The frequency (Daily, Weekly, or Monthly).
  44322. Frequency *string `locationName:"frequency" type:"string"`
  44323. // The interval quantity. The interval unit depends on the value of frequency.
  44324. // For example, every 2 weeks or every 2 months.
  44325. Interval *int64 `locationName:"interval" type:"integer"`
  44326. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  44327. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  44328. // is Sunday).
  44329. OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
  44330. // Indicates whether the occurrence is relative to the end of the specified
  44331. // week or month.
  44332. OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
  44333. // The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
  44334. OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
  44335. }
  44336. // String returns the string representation
  44337. func (s ScheduledInstanceRecurrence) String() string {
  44338. return awsutil.Prettify(s)
  44339. }
  44340. // GoString returns the string representation
  44341. func (s ScheduledInstanceRecurrence) GoString() string {
  44342. return s.String()
  44343. }
  44344. // SetFrequency sets the Frequency field's value.
  44345. func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
  44346. s.Frequency = &v
  44347. return s
  44348. }
  44349. // SetInterval sets the Interval field's value.
  44350. func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
  44351. s.Interval = &v
  44352. return s
  44353. }
  44354. // SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
  44355. func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
  44356. s.OccurrenceDaySet = v
  44357. return s
  44358. }
  44359. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  44360. func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
  44361. s.OccurrenceRelativeToEnd = &v
  44362. return s
  44363. }
  44364. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  44365. func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
  44366. s.OccurrenceUnit = &v
  44367. return s
  44368. }
  44369. // Describes the recurring schedule for a Scheduled Instance.
  44370. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstanceRecurrenceRequest
  44371. type ScheduledInstanceRecurrenceRequest struct {
  44372. _ struct{} `type:"structure"`
  44373. // The frequency (Daily, Weekly, or Monthly).
  44374. Frequency *string `type:"string"`
  44375. // The interval quantity. The interval unit depends on the value of Frequency.
  44376. // For example, every 2 weeks or every 2 months.
  44377. Interval *int64 `type:"integer"`
  44378. // The days. For a monthly schedule, this is one or more days of the month (1-31).
  44379. // For a weekly schedule, this is one or more days of the week (1-7, where 1
  44380. // is Sunday). You can't specify this value with a daily schedule. If the occurrence
  44381. // is relative to the end of the month, you can specify only a single day.
  44382. OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
  44383. // Indicates whether the occurrence is relative to the end of the specified
  44384. // week or month. You can't specify this value with a daily schedule.
  44385. OccurrenceRelativeToEnd *bool `type:"boolean"`
  44386. // The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
  44387. // for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
  44388. // You can't specify this value with a daily schedule.
  44389. OccurrenceUnit *string `type:"string"`
  44390. }
  44391. // String returns the string representation
  44392. func (s ScheduledInstanceRecurrenceRequest) String() string {
  44393. return awsutil.Prettify(s)
  44394. }
  44395. // GoString returns the string representation
  44396. func (s ScheduledInstanceRecurrenceRequest) GoString() string {
  44397. return s.String()
  44398. }
  44399. // SetFrequency sets the Frequency field's value.
  44400. func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
  44401. s.Frequency = &v
  44402. return s
  44403. }
  44404. // SetInterval sets the Interval field's value.
  44405. func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
  44406. s.Interval = &v
  44407. return s
  44408. }
  44409. // SetOccurrenceDays sets the OccurrenceDays field's value.
  44410. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
  44411. s.OccurrenceDays = v
  44412. return s
  44413. }
  44414. // SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
  44415. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
  44416. s.OccurrenceRelativeToEnd = &v
  44417. return s
  44418. }
  44419. // SetOccurrenceUnit sets the OccurrenceUnit field's value.
  44420. func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
  44421. s.OccurrenceUnit = &v
  44422. return s
  44423. }
  44424. // Describes a block device mapping for a Scheduled Instance.
  44425. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesBlockDeviceMapping
  44426. type ScheduledInstancesBlockDeviceMapping struct {
  44427. _ struct{} `type:"structure"`
  44428. // The device name exposed to the instance (for example, /dev/sdh or xvdh).
  44429. DeviceName *string `type:"string"`
  44430. // Parameters used to set up EBS volumes automatically when the instance is
  44431. // launched.
  44432. Ebs *ScheduledInstancesEbs `type:"structure"`
  44433. // Suppresses the specified device included in the block device mapping of the
  44434. // AMI.
  44435. NoDevice *string `type:"string"`
  44436. // The virtual device name (ephemeralN). Instance store volumes are numbered
  44437. // starting from 0. An instance type with two available instance store volumes
  44438. // can specify mappings for ephemeral0 and ephemeral1.The number of available
  44439. // instance store volumes depends on the instance type. After you connect to
  44440. // the instance, you must mount the volume.
  44441. //
  44442. // Constraints: For M3 instances, you must specify instance store volumes in
  44443. // the block device mapping for the instance. When you launch an M3 instance,
  44444. // we ignore any instance store volumes specified in the block device mapping
  44445. // for the AMI.
  44446. VirtualName *string `type:"string"`
  44447. }
  44448. // String returns the string representation
  44449. func (s ScheduledInstancesBlockDeviceMapping) String() string {
  44450. return awsutil.Prettify(s)
  44451. }
  44452. // GoString returns the string representation
  44453. func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
  44454. return s.String()
  44455. }
  44456. // SetDeviceName sets the DeviceName field's value.
  44457. func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
  44458. s.DeviceName = &v
  44459. return s
  44460. }
  44461. // SetEbs sets the Ebs field's value.
  44462. func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
  44463. s.Ebs = v
  44464. return s
  44465. }
  44466. // SetNoDevice sets the NoDevice field's value.
  44467. func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
  44468. s.NoDevice = &v
  44469. return s
  44470. }
  44471. // SetVirtualName sets the VirtualName field's value.
  44472. func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
  44473. s.VirtualName = &v
  44474. return s
  44475. }
  44476. // Describes an EBS volume for a Scheduled Instance.
  44477. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesEbs
  44478. type ScheduledInstancesEbs struct {
  44479. _ struct{} `type:"structure"`
  44480. // Indicates whether the volume is deleted on instance termination.
  44481. DeleteOnTermination *bool `type:"boolean"`
  44482. // Indicates whether the volume is encrypted. You can attached encrypted volumes
  44483. // only to instances that support them.
  44484. Encrypted *bool `type:"boolean"`
  44485. // The number of I/O operations per second (IOPS) that the volume supports.
  44486. // For io1 volumes, this represents the number of IOPS that are provisioned
  44487. // for the volume. For gp2 volumes, this represents the baseline performance
  44488. // of the volume and the rate at which the volume accumulates I/O credits for
  44489. // bursting. For more information about gp2 baseline performance, I/O credits,
  44490. // and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  44491. // in the Amazon Elastic Compute Cloud User Guide.
  44492. //
  44493. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  44494. // gp2 volumes.
  44495. //
  44496. // Condition: This parameter is required for requests to create io1volumes;
  44497. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  44498. Iops *int64 `type:"integer"`
  44499. // The ID of the snapshot.
  44500. SnapshotId *string `type:"string"`
  44501. // The size of the volume, in GiB.
  44502. //
  44503. // Default: If you're creating the volume from a snapshot and don't specify
  44504. // a volume size, the default is the snapshot size.
  44505. VolumeSize *int64 `type:"integer"`
  44506. // The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
  44507. // Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
  44508. //
  44509. // Default: standard
  44510. VolumeType *string `type:"string"`
  44511. }
  44512. // String returns the string representation
  44513. func (s ScheduledInstancesEbs) String() string {
  44514. return awsutil.Prettify(s)
  44515. }
  44516. // GoString returns the string representation
  44517. func (s ScheduledInstancesEbs) GoString() string {
  44518. return s.String()
  44519. }
  44520. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44521. func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
  44522. s.DeleteOnTermination = &v
  44523. return s
  44524. }
  44525. // SetEncrypted sets the Encrypted field's value.
  44526. func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
  44527. s.Encrypted = &v
  44528. return s
  44529. }
  44530. // SetIops sets the Iops field's value.
  44531. func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
  44532. s.Iops = &v
  44533. return s
  44534. }
  44535. // SetSnapshotId sets the SnapshotId field's value.
  44536. func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
  44537. s.SnapshotId = &v
  44538. return s
  44539. }
  44540. // SetVolumeSize sets the VolumeSize field's value.
  44541. func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
  44542. s.VolumeSize = &v
  44543. return s
  44544. }
  44545. // SetVolumeType sets the VolumeType field's value.
  44546. func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
  44547. s.VolumeType = &v
  44548. return s
  44549. }
  44550. // Describes an IAM instance profile for a Scheduled Instance.
  44551. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIamInstanceProfile
  44552. type ScheduledInstancesIamInstanceProfile struct {
  44553. _ struct{} `type:"structure"`
  44554. // The Amazon Resource Name (ARN).
  44555. Arn *string `type:"string"`
  44556. // The name.
  44557. Name *string `type:"string"`
  44558. }
  44559. // String returns the string representation
  44560. func (s ScheduledInstancesIamInstanceProfile) String() string {
  44561. return awsutil.Prettify(s)
  44562. }
  44563. // GoString returns the string representation
  44564. func (s ScheduledInstancesIamInstanceProfile) GoString() string {
  44565. return s.String()
  44566. }
  44567. // SetArn sets the Arn field's value.
  44568. func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
  44569. s.Arn = &v
  44570. return s
  44571. }
  44572. // SetName sets the Name field's value.
  44573. func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
  44574. s.Name = &v
  44575. return s
  44576. }
  44577. // Describes an IPv6 address.
  44578. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesIpv6Address
  44579. type ScheduledInstancesIpv6Address struct {
  44580. _ struct{} `type:"structure"`
  44581. // The IPv6 address.
  44582. Ipv6Address *string `type:"string"`
  44583. }
  44584. // String returns the string representation
  44585. func (s ScheduledInstancesIpv6Address) String() string {
  44586. return awsutil.Prettify(s)
  44587. }
  44588. // GoString returns the string representation
  44589. func (s ScheduledInstancesIpv6Address) GoString() string {
  44590. return s.String()
  44591. }
  44592. // SetIpv6Address sets the Ipv6Address field's value.
  44593. func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
  44594. s.Ipv6Address = &v
  44595. return s
  44596. }
  44597. // Describes the launch specification for a Scheduled Instance.
  44598. //
  44599. // If you are launching the Scheduled Instance in EC2-VPC, you must specify
  44600. // the ID of the subnet. You can specify the subnet using either SubnetId or
  44601. // NetworkInterface.
  44602. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesLaunchSpecification
  44603. type ScheduledInstancesLaunchSpecification struct {
  44604. _ struct{} `type:"structure"`
  44605. // One or more block device mapping entries.
  44606. BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
  44607. // Indicates whether the instances are optimized for EBS I/O. This optimization
  44608. // provides dedicated throughput to Amazon EBS and an optimized configuration
  44609. // stack to provide optimal EBS I/O performance. This optimization isn't available
  44610. // with all instance types. Additional usage charges apply when using an EBS-optimized
  44611. // instance.
  44612. //
  44613. // Default: false
  44614. EbsOptimized *bool `type:"boolean"`
  44615. // The IAM instance profile.
  44616. IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
  44617. // The ID of the Amazon Machine Image (AMI).
  44618. //
  44619. // ImageId is a required field
  44620. ImageId *string `type:"string" required:"true"`
  44621. // The instance type.
  44622. InstanceType *string `type:"string"`
  44623. // The ID of the kernel.
  44624. KernelId *string `type:"string"`
  44625. // The name of the key pair.
  44626. KeyName *string `type:"string"`
  44627. // Enable or disable monitoring for the instances.
  44628. Monitoring *ScheduledInstancesMonitoring `type:"structure"`
  44629. // One or more network interfaces.
  44630. NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
  44631. // The placement information.
  44632. Placement *ScheduledInstancesPlacement `type:"structure"`
  44633. // The ID of the RAM disk.
  44634. RamdiskId *string `type:"string"`
  44635. // The IDs of one or more security groups.
  44636. SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
  44637. // The ID of the subnet in which to launch the instances.
  44638. SubnetId *string `type:"string"`
  44639. // The base64-encoded MIME user data.
  44640. UserData *string `type:"string"`
  44641. }
  44642. // String returns the string representation
  44643. func (s ScheduledInstancesLaunchSpecification) String() string {
  44644. return awsutil.Prettify(s)
  44645. }
  44646. // GoString returns the string representation
  44647. func (s ScheduledInstancesLaunchSpecification) GoString() string {
  44648. return s.String()
  44649. }
  44650. // Validate inspects the fields of the type to determine if they are valid.
  44651. func (s *ScheduledInstancesLaunchSpecification) Validate() error {
  44652. invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
  44653. if s.ImageId == nil {
  44654. invalidParams.Add(request.NewErrParamRequired("ImageId"))
  44655. }
  44656. if invalidParams.Len() > 0 {
  44657. return invalidParams
  44658. }
  44659. return nil
  44660. }
  44661. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  44662. func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
  44663. s.BlockDeviceMappings = v
  44664. return s
  44665. }
  44666. // SetEbsOptimized sets the EbsOptimized field's value.
  44667. func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
  44668. s.EbsOptimized = &v
  44669. return s
  44670. }
  44671. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  44672. func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
  44673. s.IamInstanceProfile = v
  44674. return s
  44675. }
  44676. // SetImageId sets the ImageId field's value.
  44677. func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
  44678. s.ImageId = &v
  44679. return s
  44680. }
  44681. // SetInstanceType sets the InstanceType field's value.
  44682. func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
  44683. s.InstanceType = &v
  44684. return s
  44685. }
  44686. // SetKernelId sets the KernelId field's value.
  44687. func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
  44688. s.KernelId = &v
  44689. return s
  44690. }
  44691. // SetKeyName sets the KeyName field's value.
  44692. func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
  44693. s.KeyName = &v
  44694. return s
  44695. }
  44696. // SetMonitoring sets the Monitoring field's value.
  44697. func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
  44698. s.Monitoring = v
  44699. return s
  44700. }
  44701. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  44702. func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
  44703. s.NetworkInterfaces = v
  44704. return s
  44705. }
  44706. // SetPlacement sets the Placement field's value.
  44707. func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
  44708. s.Placement = v
  44709. return s
  44710. }
  44711. // SetRamdiskId sets the RamdiskId field's value.
  44712. func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
  44713. s.RamdiskId = &v
  44714. return s
  44715. }
  44716. // SetSecurityGroupIds sets the SecurityGroupIds field's value.
  44717. func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
  44718. s.SecurityGroupIds = v
  44719. return s
  44720. }
  44721. // SetSubnetId sets the SubnetId field's value.
  44722. func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
  44723. s.SubnetId = &v
  44724. return s
  44725. }
  44726. // SetUserData sets the UserData field's value.
  44727. func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
  44728. s.UserData = &v
  44729. return s
  44730. }
  44731. // Describes whether monitoring is enabled for a Scheduled Instance.
  44732. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesMonitoring
  44733. type ScheduledInstancesMonitoring struct {
  44734. _ struct{} `type:"structure"`
  44735. // Indicates whether monitoring is enabled.
  44736. Enabled *bool `type:"boolean"`
  44737. }
  44738. // String returns the string representation
  44739. func (s ScheduledInstancesMonitoring) String() string {
  44740. return awsutil.Prettify(s)
  44741. }
  44742. // GoString returns the string representation
  44743. func (s ScheduledInstancesMonitoring) GoString() string {
  44744. return s.String()
  44745. }
  44746. // SetEnabled sets the Enabled field's value.
  44747. func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
  44748. s.Enabled = &v
  44749. return s
  44750. }
  44751. // Describes a network interface for a Scheduled Instance.
  44752. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesNetworkInterface
  44753. type ScheduledInstancesNetworkInterface struct {
  44754. _ struct{} `type:"structure"`
  44755. // Indicates whether to assign a public IPv4 address to instances launched in
  44756. // a VPC. The public IPv4 address can only be assigned to a network interface
  44757. // for eth0, and can only be assigned to a new network interface, not an existing
  44758. // one. You cannot specify more than one network interface in the request. If
  44759. // launching into a default subnet, the default value is true.
  44760. AssociatePublicIpAddress *bool `type:"boolean"`
  44761. // Indicates whether to delete the interface when the instance is terminated.
  44762. DeleteOnTermination *bool `type:"boolean"`
  44763. // The description.
  44764. Description *string `type:"string"`
  44765. // The index of the device for the network interface attachment.
  44766. DeviceIndex *int64 `type:"integer"`
  44767. // The IDs of one or more security groups.
  44768. Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
  44769. // The number of IPv6 addresses to assign to the network interface. The IPv6
  44770. // addresses are automatically selected from the subnet range.
  44771. Ipv6AddressCount *int64 `type:"integer"`
  44772. // One or more specific IPv6 addresses from the subnet range.
  44773. Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
  44774. // The ID of the network interface.
  44775. NetworkInterfaceId *string `type:"string"`
  44776. // The IPv4 address of the network interface within the subnet.
  44777. PrivateIpAddress *string `type:"string"`
  44778. // The private IPv4 addresses.
  44779. PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
  44780. // The number of secondary private IPv4 addresses.
  44781. SecondaryPrivateIpAddressCount *int64 `type:"integer"`
  44782. // The ID of the subnet.
  44783. SubnetId *string `type:"string"`
  44784. }
  44785. // String returns the string representation
  44786. func (s ScheduledInstancesNetworkInterface) String() string {
  44787. return awsutil.Prettify(s)
  44788. }
  44789. // GoString returns the string representation
  44790. func (s ScheduledInstancesNetworkInterface) GoString() string {
  44791. return s.String()
  44792. }
  44793. // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  44794. func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
  44795. s.AssociatePublicIpAddress = &v
  44796. return s
  44797. }
  44798. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  44799. func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
  44800. s.DeleteOnTermination = &v
  44801. return s
  44802. }
  44803. // SetDescription sets the Description field's value.
  44804. func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
  44805. s.Description = &v
  44806. return s
  44807. }
  44808. // SetDeviceIndex sets the DeviceIndex field's value.
  44809. func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
  44810. s.DeviceIndex = &v
  44811. return s
  44812. }
  44813. // SetGroups sets the Groups field's value.
  44814. func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
  44815. s.Groups = v
  44816. return s
  44817. }
  44818. // SetIpv6AddressCount sets the Ipv6AddressCount field's value.
  44819. func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
  44820. s.Ipv6AddressCount = &v
  44821. return s
  44822. }
  44823. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  44824. func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
  44825. s.Ipv6Addresses = v
  44826. return s
  44827. }
  44828. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  44829. func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
  44830. s.NetworkInterfaceId = &v
  44831. return s
  44832. }
  44833. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44834. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
  44835. s.PrivateIpAddress = &v
  44836. return s
  44837. }
  44838. // SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
  44839. func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
  44840. s.PrivateIpAddressConfigs = v
  44841. return s
  44842. }
  44843. // SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
  44844. func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
  44845. s.SecondaryPrivateIpAddressCount = &v
  44846. return s
  44847. }
  44848. // SetSubnetId sets the SubnetId field's value.
  44849. func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
  44850. s.SubnetId = &v
  44851. return s
  44852. }
  44853. // Describes the placement for a Scheduled Instance.
  44854. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPlacement
  44855. type ScheduledInstancesPlacement struct {
  44856. _ struct{} `type:"structure"`
  44857. // The Availability Zone.
  44858. AvailabilityZone *string `type:"string"`
  44859. // The name of the placement group.
  44860. GroupName *string `type:"string"`
  44861. }
  44862. // String returns the string representation
  44863. func (s ScheduledInstancesPlacement) String() string {
  44864. return awsutil.Prettify(s)
  44865. }
  44866. // GoString returns the string representation
  44867. func (s ScheduledInstancesPlacement) GoString() string {
  44868. return s.String()
  44869. }
  44870. // SetAvailabilityZone sets the AvailabilityZone field's value.
  44871. func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
  44872. s.AvailabilityZone = &v
  44873. return s
  44874. }
  44875. // SetGroupName sets the GroupName field's value.
  44876. func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
  44877. s.GroupName = &v
  44878. return s
  44879. }
  44880. // Describes a private IPv4 address for a Scheduled Instance.
  44881. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPrivateIpAddressConfig
  44882. type ScheduledInstancesPrivateIpAddressConfig struct {
  44883. _ struct{} `type:"structure"`
  44884. // Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
  44885. // IPv4 address.
  44886. Primary *bool `type:"boolean"`
  44887. // The IPv4 address.
  44888. PrivateIpAddress *string `type:"string"`
  44889. }
  44890. // String returns the string representation
  44891. func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
  44892. return awsutil.Prettify(s)
  44893. }
  44894. // GoString returns the string representation
  44895. func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
  44896. return s.String()
  44897. }
  44898. // SetPrimary sets the Primary field's value.
  44899. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
  44900. s.Primary = &v
  44901. return s
  44902. }
  44903. // SetPrivateIpAddress sets the PrivateIpAddress field's value.
  44904. func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
  44905. s.PrivateIpAddress = &v
  44906. return s
  44907. }
  44908. // Describes a security group
  44909. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroup
  44910. type SecurityGroup struct {
  44911. _ struct{} `type:"structure"`
  44912. // A description of the security group.
  44913. Description *string `locationName:"groupDescription" type:"string"`
  44914. // The ID of the security group.
  44915. GroupId *string `locationName:"groupId" type:"string"`
  44916. // The name of the security group.
  44917. GroupName *string `locationName:"groupName" type:"string"`
  44918. // One or more inbound rules associated with the security group.
  44919. IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
  44920. // [EC2-VPC] One or more outbound rules associated with the security group.
  44921. IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
  44922. // The AWS account ID of the owner of the security group.
  44923. OwnerId *string `locationName:"ownerId" type:"string"`
  44924. // Any tags assigned to the security group.
  44925. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  44926. // [EC2-VPC] The ID of the VPC for the security group.
  44927. VpcId *string `locationName:"vpcId" type:"string"`
  44928. }
  44929. // String returns the string representation
  44930. func (s SecurityGroup) String() string {
  44931. return awsutil.Prettify(s)
  44932. }
  44933. // GoString returns the string representation
  44934. func (s SecurityGroup) GoString() string {
  44935. return s.String()
  44936. }
  44937. // SetDescription sets the Description field's value.
  44938. func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
  44939. s.Description = &v
  44940. return s
  44941. }
  44942. // SetGroupId sets the GroupId field's value.
  44943. func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
  44944. s.GroupId = &v
  44945. return s
  44946. }
  44947. // SetGroupName sets the GroupName field's value.
  44948. func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
  44949. s.GroupName = &v
  44950. return s
  44951. }
  44952. // SetIpPermissions sets the IpPermissions field's value.
  44953. func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
  44954. s.IpPermissions = v
  44955. return s
  44956. }
  44957. // SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
  44958. func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
  44959. s.IpPermissionsEgress = v
  44960. return s
  44961. }
  44962. // SetOwnerId sets the OwnerId field's value.
  44963. func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
  44964. s.OwnerId = &v
  44965. return s
  44966. }
  44967. // SetTags sets the Tags field's value.
  44968. func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
  44969. s.Tags = v
  44970. return s
  44971. }
  44972. // SetVpcId sets the VpcId field's value.
  44973. func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
  44974. s.VpcId = &v
  44975. return s
  44976. }
  44977. // Describes a VPC with a security group that references your security group.
  44978. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupReference
  44979. type SecurityGroupReference struct {
  44980. _ struct{} `type:"structure"`
  44981. // The ID of your security group.
  44982. //
  44983. // GroupId is a required field
  44984. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  44985. // The ID of the VPC with the referencing security group.
  44986. //
  44987. // ReferencingVpcId is a required field
  44988. ReferencingVpcId *string `locationName:"referencingVpcId" type:"string" required:"true"`
  44989. // The ID of the VPC peering connection.
  44990. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  44991. }
  44992. // String returns the string representation
  44993. func (s SecurityGroupReference) String() string {
  44994. return awsutil.Prettify(s)
  44995. }
  44996. // GoString returns the string representation
  44997. func (s SecurityGroupReference) GoString() string {
  44998. return s.String()
  44999. }
  45000. // SetGroupId sets the GroupId field's value.
  45001. func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
  45002. s.GroupId = &v
  45003. return s
  45004. }
  45005. // SetReferencingVpcId sets the ReferencingVpcId field's value.
  45006. func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
  45007. s.ReferencingVpcId = &v
  45008. return s
  45009. }
  45010. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  45011. func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
  45012. s.VpcPeeringConnectionId = &v
  45013. return s
  45014. }
  45015. // Describes the time period for a Scheduled Instance to start its first schedule.
  45016. // The time period must span less than one day.
  45017. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotDateTimeRangeRequest
  45018. type SlotDateTimeRangeRequest struct {
  45019. _ struct{} `type:"structure"`
  45020. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  45021. //
  45022. // EarliestTime is a required field
  45023. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  45024. // The latest date and time, in UTC, for the Scheduled Instance to start. This
  45025. // value must be later than or equal to the earliest date and at most three
  45026. // months in the future.
  45027. //
  45028. // LatestTime is a required field
  45029. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
  45030. }
  45031. // String returns the string representation
  45032. func (s SlotDateTimeRangeRequest) String() string {
  45033. return awsutil.Prettify(s)
  45034. }
  45035. // GoString returns the string representation
  45036. func (s SlotDateTimeRangeRequest) GoString() string {
  45037. return s.String()
  45038. }
  45039. // Validate inspects the fields of the type to determine if they are valid.
  45040. func (s *SlotDateTimeRangeRequest) Validate() error {
  45041. invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
  45042. if s.EarliestTime == nil {
  45043. invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
  45044. }
  45045. if s.LatestTime == nil {
  45046. invalidParams.Add(request.NewErrParamRequired("LatestTime"))
  45047. }
  45048. if invalidParams.Len() > 0 {
  45049. return invalidParams
  45050. }
  45051. return nil
  45052. }
  45053. // SetEarliestTime sets the EarliestTime field's value.
  45054. func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
  45055. s.EarliestTime = &v
  45056. return s
  45057. }
  45058. // SetLatestTime sets the LatestTime field's value.
  45059. func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
  45060. s.LatestTime = &v
  45061. return s
  45062. }
  45063. // Describes the time period for a Scheduled Instance to start its first schedule.
  45064. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SlotStartTimeRangeRequest
  45065. type SlotStartTimeRangeRequest struct {
  45066. _ struct{} `type:"structure"`
  45067. // The earliest date and time, in UTC, for the Scheduled Instance to start.
  45068. EarliestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  45069. // The latest date and time, in UTC, for the Scheduled Instance to start.
  45070. LatestTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  45071. }
  45072. // String returns the string representation
  45073. func (s SlotStartTimeRangeRequest) String() string {
  45074. return awsutil.Prettify(s)
  45075. }
  45076. // GoString returns the string representation
  45077. func (s SlotStartTimeRangeRequest) GoString() string {
  45078. return s.String()
  45079. }
  45080. // SetEarliestTime sets the EarliestTime field's value.
  45081. func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
  45082. s.EarliestTime = &v
  45083. return s
  45084. }
  45085. // SetLatestTime sets the LatestTime field's value.
  45086. func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
  45087. s.LatestTime = &v
  45088. return s
  45089. }
  45090. // Describes a snapshot.
  45091. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Snapshot
  45092. type Snapshot struct {
  45093. _ struct{} `type:"structure"`
  45094. // The data encryption key identifier for the snapshot. This value is a unique
  45095. // identifier that corresponds to the data encryption key that was used to encrypt
  45096. // the original volume or snapshot copy. Because data encryption keys are inherited
  45097. // by volumes created from snapshots, and vice versa, if snapshots share the
  45098. // same data encryption key identifier, then they belong to the same volume/snapshot
  45099. // lineage. This parameter is only returned by the DescribeSnapshots API operation.
  45100. DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
  45101. // The description for the snapshot.
  45102. Description *string `locationName:"description" type:"string"`
  45103. // Indicates whether the snapshot is encrypted.
  45104. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  45105. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  45106. // key (CMK) that was used to protect the volume encryption key for the parent
  45107. // volume.
  45108. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  45109. // Value from an Amazon-maintained list (amazon | aws-marketplace | microsoft)
  45110. // of snapshot owners. Not to be confused with the user-configured AWS account
  45111. // alias, which is set from the IAM console.
  45112. OwnerAlias *string `locationName:"ownerAlias" type:"string"`
  45113. // The AWS account ID of the EBS snapshot owner.
  45114. OwnerId *string `locationName:"ownerId" type:"string"`
  45115. // The progress of the snapshot, as a percentage.
  45116. Progress *string `locationName:"progress" type:"string"`
  45117. // The ID of the snapshot. Each snapshot receives a unique identifier when it
  45118. // is created.
  45119. SnapshotId *string `locationName:"snapshotId" type:"string"`
  45120. // The time stamp when the snapshot was initiated.
  45121. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  45122. // The snapshot state.
  45123. State *string `locationName:"status" type:"string" enum:"SnapshotState"`
  45124. // Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
  45125. // operation fails (for example, if the proper AWS Key Management Service (AWS
  45126. // KMS) permissions are not obtained) this field displays error state details
  45127. // to help you diagnose why the error occurred. This parameter is only returned
  45128. // by the DescribeSnapshots API operation.
  45129. StateMessage *string `locationName:"statusMessage" type:"string"`
  45130. // Any tags assigned to the snapshot.
  45131. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  45132. // The ID of the volume that was used to create the snapshot. Snapshots created
  45133. // by the CopySnapshot action have an arbitrary volume ID that should not be
  45134. // used for any purpose.
  45135. VolumeId *string `locationName:"volumeId" type:"string"`
  45136. // The size of the volume, in GiB.
  45137. VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
  45138. }
  45139. // String returns the string representation
  45140. func (s Snapshot) String() string {
  45141. return awsutil.Prettify(s)
  45142. }
  45143. // GoString returns the string representation
  45144. func (s Snapshot) GoString() string {
  45145. return s.String()
  45146. }
  45147. // SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
  45148. func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
  45149. s.DataEncryptionKeyId = &v
  45150. return s
  45151. }
  45152. // SetDescription sets the Description field's value.
  45153. func (s *Snapshot) SetDescription(v string) *Snapshot {
  45154. s.Description = &v
  45155. return s
  45156. }
  45157. // SetEncrypted sets the Encrypted field's value.
  45158. func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
  45159. s.Encrypted = &v
  45160. return s
  45161. }
  45162. // SetKmsKeyId sets the KmsKeyId field's value.
  45163. func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
  45164. s.KmsKeyId = &v
  45165. return s
  45166. }
  45167. // SetOwnerAlias sets the OwnerAlias field's value.
  45168. func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
  45169. s.OwnerAlias = &v
  45170. return s
  45171. }
  45172. // SetOwnerId sets the OwnerId field's value.
  45173. func (s *Snapshot) SetOwnerId(v string) *Snapshot {
  45174. s.OwnerId = &v
  45175. return s
  45176. }
  45177. // SetProgress sets the Progress field's value.
  45178. func (s *Snapshot) SetProgress(v string) *Snapshot {
  45179. s.Progress = &v
  45180. return s
  45181. }
  45182. // SetSnapshotId sets the SnapshotId field's value.
  45183. func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
  45184. s.SnapshotId = &v
  45185. return s
  45186. }
  45187. // SetStartTime sets the StartTime field's value.
  45188. func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
  45189. s.StartTime = &v
  45190. return s
  45191. }
  45192. // SetState sets the State field's value.
  45193. func (s *Snapshot) SetState(v string) *Snapshot {
  45194. s.State = &v
  45195. return s
  45196. }
  45197. // SetStateMessage sets the StateMessage field's value.
  45198. func (s *Snapshot) SetStateMessage(v string) *Snapshot {
  45199. s.StateMessage = &v
  45200. return s
  45201. }
  45202. // SetTags sets the Tags field's value.
  45203. func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
  45204. s.Tags = v
  45205. return s
  45206. }
  45207. // SetVolumeId sets the VolumeId field's value.
  45208. func (s *Snapshot) SetVolumeId(v string) *Snapshot {
  45209. s.VolumeId = &v
  45210. return s
  45211. }
  45212. // SetVolumeSize sets the VolumeSize field's value.
  45213. func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
  45214. s.VolumeSize = &v
  45215. return s
  45216. }
  45217. // Describes the snapshot created from the imported disk.
  45218. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDetail
  45219. type SnapshotDetail struct {
  45220. _ struct{} `type:"structure"`
  45221. // A description for the snapshot.
  45222. Description *string `locationName:"description" type:"string"`
  45223. // The block device mapping for the snapshot.
  45224. DeviceName *string `locationName:"deviceName" type:"string"`
  45225. // The size of the disk in the snapshot, in GiB.
  45226. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  45227. // The format of the disk image from which the snapshot is created.
  45228. Format *string `locationName:"format" type:"string"`
  45229. // The percentage of progress for the task.
  45230. Progress *string `locationName:"progress" type:"string"`
  45231. // The snapshot ID of the disk being imported.
  45232. SnapshotId *string `locationName:"snapshotId" type:"string"`
  45233. // A brief status of the snapshot creation.
  45234. Status *string `locationName:"status" type:"string"`
  45235. // A detailed status message for the snapshot creation.
  45236. StatusMessage *string `locationName:"statusMessage" type:"string"`
  45237. // The URL used to access the disk image.
  45238. Url *string `locationName:"url" type:"string"`
  45239. // The S3 bucket for the disk image.
  45240. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  45241. }
  45242. // String returns the string representation
  45243. func (s SnapshotDetail) String() string {
  45244. return awsutil.Prettify(s)
  45245. }
  45246. // GoString returns the string representation
  45247. func (s SnapshotDetail) GoString() string {
  45248. return s.String()
  45249. }
  45250. // SetDescription sets the Description field's value.
  45251. func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
  45252. s.Description = &v
  45253. return s
  45254. }
  45255. // SetDeviceName sets the DeviceName field's value.
  45256. func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
  45257. s.DeviceName = &v
  45258. return s
  45259. }
  45260. // SetDiskImageSize sets the DiskImageSize field's value.
  45261. func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
  45262. s.DiskImageSize = &v
  45263. return s
  45264. }
  45265. // SetFormat sets the Format field's value.
  45266. func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
  45267. s.Format = &v
  45268. return s
  45269. }
  45270. // SetProgress sets the Progress field's value.
  45271. func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
  45272. s.Progress = &v
  45273. return s
  45274. }
  45275. // SetSnapshotId sets the SnapshotId field's value.
  45276. func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
  45277. s.SnapshotId = &v
  45278. return s
  45279. }
  45280. // SetStatus sets the Status field's value.
  45281. func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
  45282. s.Status = &v
  45283. return s
  45284. }
  45285. // SetStatusMessage sets the StatusMessage field's value.
  45286. func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
  45287. s.StatusMessage = &v
  45288. return s
  45289. }
  45290. // SetUrl sets the Url field's value.
  45291. func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
  45292. s.Url = &v
  45293. return s
  45294. }
  45295. // SetUserBucket sets the UserBucket field's value.
  45296. func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
  45297. s.UserBucket = v
  45298. return s
  45299. }
  45300. // The disk container object for the import snapshot request.
  45301. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotDiskContainer
  45302. type SnapshotDiskContainer struct {
  45303. _ struct{} `type:"structure"`
  45304. // The description of the disk image being imported.
  45305. Description *string `type:"string"`
  45306. // The format of the disk image being imported.
  45307. //
  45308. // Valid values: RAW | VHD | VMDK | OVA
  45309. Format *string `type:"string"`
  45310. // The URL to the Amazon S3-based disk image being imported. It can either be
  45311. // a https URL (https://..) or an Amazon S3 URL (s3://..).
  45312. Url *string `type:"string"`
  45313. // The S3 bucket for the disk image.
  45314. UserBucket *UserBucket `type:"structure"`
  45315. }
  45316. // String returns the string representation
  45317. func (s SnapshotDiskContainer) String() string {
  45318. return awsutil.Prettify(s)
  45319. }
  45320. // GoString returns the string representation
  45321. func (s SnapshotDiskContainer) GoString() string {
  45322. return s.String()
  45323. }
  45324. // SetDescription sets the Description field's value.
  45325. func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
  45326. s.Description = &v
  45327. return s
  45328. }
  45329. // SetFormat sets the Format field's value.
  45330. func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
  45331. s.Format = &v
  45332. return s
  45333. }
  45334. // SetUrl sets the Url field's value.
  45335. func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
  45336. s.Url = &v
  45337. return s
  45338. }
  45339. // SetUserBucket sets the UserBucket field's value.
  45340. func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
  45341. s.UserBucket = v
  45342. return s
  45343. }
  45344. // Details about the import snapshot task.
  45345. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SnapshotTaskDetail
  45346. type SnapshotTaskDetail struct {
  45347. _ struct{} `type:"structure"`
  45348. // The description of the snapshot.
  45349. Description *string `locationName:"description" type:"string"`
  45350. // The size of the disk in the snapshot, in GiB.
  45351. DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
  45352. // The format of the disk image from which the snapshot is created.
  45353. Format *string `locationName:"format" type:"string"`
  45354. // The percentage of completion for the import snapshot task.
  45355. Progress *string `locationName:"progress" type:"string"`
  45356. // The snapshot ID of the disk being imported.
  45357. SnapshotId *string `locationName:"snapshotId" type:"string"`
  45358. // A brief status for the import snapshot task.
  45359. Status *string `locationName:"status" type:"string"`
  45360. // A detailed status message for the import snapshot task.
  45361. StatusMessage *string `locationName:"statusMessage" type:"string"`
  45362. // The URL of the disk image from which the snapshot is created.
  45363. Url *string `locationName:"url" type:"string"`
  45364. // The S3 bucket for the disk image.
  45365. UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
  45366. }
  45367. // String returns the string representation
  45368. func (s SnapshotTaskDetail) String() string {
  45369. return awsutil.Prettify(s)
  45370. }
  45371. // GoString returns the string representation
  45372. func (s SnapshotTaskDetail) GoString() string {
  45373. return s.String()
  45374. }
  45375. // SetDescription sets the Description field's value.
  45376. func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
  45377. s.Description = &v
  45378. return s
  45379. }
  45380. // SetDiskImageSize sets the DiskImageSize field's value.
  45381. func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
  45382. s.DiskImageSize = &v
  45383. return s
  45384. }
  45385. // SetFormat sets the Format field's value.
  45386. func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
  45387. s.Format = &v
  45388. return s
  45389. }
  45390. // SetProgress sets the Progress field's value.
  45391. func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
  45392. s.Progress = &v
  45393. return s
  45394. }
  45395. // SetSnapshotId sets the SnapshotId field's value.
  45396. func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
  45397. s.SnapshotId = &v
  45398. return s
  45399. }
  45400. // SetStatus sets the Status field's value.
  45401. func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
  45402. s.Status = &v
  45403. return s
  45404. }
  45405. // SetStatusMessage sets the StatusMessage field's value.
  45406. func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
  45407. s.StatusMessage = &v
  45408. return s
  45409. }
  45410. // SetUrl sets the Url field's value.
  45411. func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
  45412. s.Url = &v
  45413. return s
  45414. }
  45415. // SetUserBucket sets the UserBucket field's value.
  45416. func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
  45417. s.UserBucket = v
  45418. return s
  45419. }
  45420. // Describes the data feed for a Spot instance.
  45421. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotDatafeedSubscription
  45422. type SpotDatafeedSubscription struct {
  45423. _ struct{} `type:"structure"`
  45424. // The Amazon S3 bucket where the Spot instance data feed is located.
  45425. Bucket *string `locationName:"bucket" type:"string"`
  45426. // The fault codes for the Spot instance request, if any.
  45427. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  45428. // The AWS account ID of the account.
  45429. OwnerId *string `locationName:"ownerId" type:"string"`
  45430. // The prefix that is prepended to data feed files.
  45431. Prefix *string `locationName:"prefix" type:"string"`
  45432. // The state of the Spot instance data feed subscription.
  45433. State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
  45434. }
  45435. // String returns the string representation
  45436. func (s SpotDatafeedSubscription) String() string {
  45437. return awsutil.Prettify(s)
  45438. }
  45439. // GoString returns the string representation
  45440. func (s SpotDatafeedSubscription) GoString() string {
  45441. return s.String()
  45442. }
  45443. // SetBucket sets the Bucket field's value.
  45444. func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
  45445. s.Bucket = &v
  45446. return s
  45447. }
  45448. // SetFault sets the Fault field's value.
  45449. func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
  45450. s.Fault = v
  45451. return s
  45452. }
  45453. // SetOwnerId sets the OwnerId field's value.
  45454. func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
  45455. s.OwnerId = &v
  45456. return s
  45457. }
  45458. // SetPrefix sets the Prefix field's value.
  45459. func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
  45460. s.Prefix = &v
  45461. return s
  45462. }
  45463. // SetState sets the State field's value.
  45464. func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
  45465. s.State = &v
  45466. return s
  45467. }
  45468. // Describes the launch specification for one or more Spot instances.
  45469. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetLaunchSpecification
  45470. type SpotFleetLaunchSpecification struct {
  45471. _ struct{} `type:"structure"`
  45472. // Deprecated.
  45473. AddressingType *string `locationName:"addressingType" type:"string"`
  45474. // One or more block device mapping entries.
  45475. BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
  45476. // Indicates whether the instances are optimized for EBS I/O. This optimization
  45477. // provides dedicated throughput to Amazon EBS and an optimized configuration
  45478. // stack to provide optimal EBS I/O performance. This optimization isn't available
  45479. // with all instance types. Additional usage charges apply when using an EBS
  45480. // Optimized instance.
  45481. //
  45482. // Default: false
  45483. EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
  45484. // The IAM instance profile.
  45485. IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
  45486. // The ID of the AMI.
  45487. ImageId *string `locationName:"imageId" type:"string"`
  45488. // The instance type. Note that T2 and HS1 instance types are not supported.
  45489. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  45490. // The ID of the kernel.
  45491. KernelId *string `locationName:"kernelId" type:"string"`
  45492. // The name of the key pair.
  45493. KeyName *string `locationName:"keyName" type:"string"`
  45494. // Enable or disable monitoring for the instances.
  45495. Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
  45496. // One or more network interfaces. If you specify a network interface, you must
  45497. // specify subnet IDs and security group IDs using the network interface.
  45498. NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
  45499. // The placement information.
  45500. Placement *SpotPlacement `locationName:"placement" type:"structure"`
  45501. // The ID of the RAM disk.
  45502. RamdiskId *string `locationName:"ramdiskId" type:"string"`
  45503. // One or more security groups. When requesting instances in a VPC, you must
  45504. // specify the IDs of the security groups. When requesting instances in EC2-Classic,
  45505. // you can specify the names or the IDs of the security groups.
  45506. SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
  45507. // The bid price per unit hour for the specified instance type. If this value
  45508. // is not specified, the default is the Spot bid price specified for the fleet.
  45509. // To determine the bid price per unit hour, divide the Spot bid price by the
  45510. // value of WeightedCapacity.
  45511. SpotPrice *string `locationName:"spotPrice" type:"string"`
  45512. // The ID of the subnet in which to launch the instances. To specify multiple
  45513. // subnets, separate them using commas; for example, "subnet-a61dafcf, subnet-65ea5f08".
  45514. SubnetId *string `locationName:"subnetId" type:"string"`
  45515. // The user data to make available to the instances. If you are using an AWS
  45516. // SDK or command line tool, Base64-encoding is performed for you, and you can
  45517. // load the text from a file. Otherwise, you must provide Base64-encoded text.
  45518. UserData *string `locationName:"userData" type:"string"`
  45519. // The number of units provided by the specified instance type. These are the
  45520. // same units that you chose to set the target capacity in terms (instances
  45521. // or a performance characteristic such as vCPUs, memory, or I/O).
  45522. //
  45523. // If the target capacity divided by this value is not a whole number, we round
  45524. // the number of instances to the next whole number. If this value is not specified,
  45525. // the default is 1.
  45526. WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
  45527. }
  45528. // String returns the string representation
  45529. func (s SpotFleetLaunchSpecification) String() string {
  45530. return awsutil.Prettify(s)
  45531. }
  45532. // GoString returns the string representation
  45533. func (s SpotFleetLaunchSpecification) GoString() string {
  45534. return s.String()
  45535. }
  45536. // Validate inspects the fields of the type to determine if they are valid.
  45537. func (s *SpotFleetLaunchSpecification) Validate() error {
  45538. invalidParams := request.ErrInvalidParams{Context: "SpotFleetLaunchSpecification"}
  45539. if s.NetworkInterfaces != nil {
  45540. for i, v := range s.NetworkInterfaces {
  45541. if v == nil {
  45542. continue
  45543. }
  45544. if err := v.Validate(); err != nil {
  45545. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NetworkInterfaces", i), err.(request.ErrInvalidParams))
  45546. }
  45547. }
  45548. }
  45549. if invalidParams.Len() > 0 {
  45550. return invalidParams
  45551. }
  45552. return nil
  45553. }
  45554. // SetAddressingType sets the AddressingType field's value.
  45555. func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
  45556. s.AddressingType = &v
  45557. return s
  45558. }
  45559. // SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
  45560. func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
  45561. s.BlockDeviceMappings = v
  45562. return s
  45563. }
  45564. // SetEbsOptimized sets the EbsOptimized field's value.
  45565. func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
  45566. s.EbsOptimized = &v
  45567. return s
  45568. }
  45569. // SetIamInstanceProfile sets the IamInstanceProfile field's value.
  45570. func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
  45571. s.IamInstanceProfile = v
  45572. return s
  45573. }
  45574. // SetImageId sets the ImageId field's value.
  45575. func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
  45576. s.ImageId = &v
  45577. return s
  45578. }
  45579. // SetInstanceType sets the InstanceType field's value.
  45580. func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
  45581. s.InstanceType = &v
  45582. return s
  45583. }
  45584. // SetKernelId sets the KernelId field's value.
  45585. func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
  45586. s.KernelId = &v
  45587. return s
  45588. }
  45589. // SetKeyName sets the KeyName field's value.
  45590. func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
  45591. s.KeyName = &v
  45592. return s
  45593. }
  45594. // SetMonitoring sets the Monitoring field's value.
  45595. func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
  45596. s.Monitoring = v
  45597. return s
  45598. }
  45599. // SetNetworkInterfaces sets the NetworkInterfaces field's value.
  45600. func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
  45601. s.NetworkInterfaces = v
  45602. return s
  45603. }
  45604. // SetPlacement sets the Placement field's value.
  45605. func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
  45606. s.Placement = v
  45607. return s
  45608. }
  45609. // SetRamdiskId sets the RamdiskId field's value.
  45610. func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
  45611. s.RamdiskId = &v
  45612. return s
  45613. }
  45614. // SetSecurityGroups sets the SecurityGroups field's value.
  45615. func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
  45616. s.SecurityGroups = v
  45617. return s
  45618. }
  45619. // SetSpotPrice sets the SpotPrice field's value.
  45620. func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
  45621. s.SpotPrice = &v
  45622. return s
  45623. }
  45624. // SetSubnetId sets the SubnetId field's value.
  45625. func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
  45626. s.SubnetId = &v
  45627. return s
  45628. }
  45629. // SetUserData sets the UserData field's value.
  45630. func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
  45631. s.UserData = &v
  45632. return s
  45633. }
  45634. // SetWeightedCapacity sets the WeightedCapacity field's value.
  45635. func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
  45636. s.WeightedCapacity = &v
  45637. return s
  45638. }
  45639. // Describes whether monitoring is enabled.
  45640. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetMonitoring
  45641. type SpotFleetMonitoring struct {
  45642. _ struct{} `type:"structure"`
  45643. // Enables monitoring for the instance.
  45644. //
  45645. // Default: false
  45646. Enabled *bool `locationName:"enabled" type:"boolean"`
  45647. }
  45648. // String returns the string representation
  45649. func (s SpotFleetMonitoring) String() string {
  45650. return awsutil.Prettify(s)
  45651. }
  45652. // GoString returns the string representation
  45653. func (s SpotFleetMonitoring) GoString() string {
  45654. return s.String()
  45655. }
  45656. // SetEnabled sets the Enabled field's value.
  45657. func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
  45658. s.Enabled = &v
  45659. return s
  45660. }
  45661. // Describes a Spot fleet request.
  45662. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfig
  45663. type SpotFleetRequestConfig struct {
  45664. _ struct{} `type:"structure"`
  45665. // The progress of the Spot fleet request. If there is an error, the status
  45666. // is error. After all bids are placed, the status is pending_fulfillment. If
  45667. // the size of the fleet is equal to or greater than its target capacity, the
  45668. // status is fulfilled. If the size of the fleet is decreased, the status is
  45669. // pending_termination while Spot instances are terminating.
  45670. ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
  45671. // The creation date and time of the request.
  45672. //
  45673. // CreateTime is a required field
  45674. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"`
  45675. // Information about the configuration of the Spot fleet request.
  45676. //
  45677. // SpotFleetRequestConfig is a required field
  45678. SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
  45679. // The ID of the Spot fleet request.
  45680. //
  45681. // SpotFleetRequestId is a required field
  45682. SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
  45683. // The state of the Spot fleet request.
  45684. //
  45685. // SpotFleetRequestState is a required field
  45686. SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" required:"true" enum:"BatchState"`
  45687. }
  45688. // String returns the string representation
  45689. func (s SpotFleetRequestConfig) String() string {
  45690. return awsutil.Prettify(s)
  45691. }
  45692. // GoString returns the string representation
  45693. func (s SpotFleetRequestConfig) GoString() string {
  45694. return s.String()
  45695. }
  45696. // SetActivityStatus sets the ActivityStatus field's value.
  45697. func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
  45698. s.ActivityStatus = &v
  45699. return s
  45700. }
  45701. // SetCreateTime sets the CreateTime field's value.
  45702. func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
  45703. s.CreateTime = &v
  45704. return s
  45705. }
  45706. // SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
  45707. func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
  45708. s.SpotFleetRequestConfig = v
  45709. return s
  45710. }
  45711. // SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
  45712. func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
  45713. s.SpotFleetRequestId = &v
  45714. return s
  45715. }
  45716. // SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
  45717. func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
  45718. s.SpotFleetRequestState = &v
  45719. return s
  45720. }
  45721. // Describes the configuration of a Spot fleet request.
  45722. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotFleetRequestConfigData
  45723. type SpotFleetRequestConfigData struct {
  45724. _ struct{} `type:"structure"`
  45725. // Indicates how to allocate the target capacity across the Spot pools specified
  45726. // by the Spot fleet request. The default is lowestPrice.
  45727. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
  45728. // A unique, case-sensitive identifier you provide to ensure idempotency of
  45729. // your listings. This helps avoid duplicate listings. For more information,
  45730. // see Ensuring Idempotency (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
  45731. ClientToken *string `locationName:"clientToken" type:"string"`
  45732. // Indicates whether running Spot instances should be terminated if the target
  45733. // capacity of the Spot fleet request is decreased below the current size of
  45734. // the Spot fleet.
  45735. ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
  45736. // The number of units fulfilled by this request compared to the set target
  45737. // capacity.
  45738. FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
  45739. // Grants the Spot fleet permission to terminate Spot instances on your behalf
  45740. // when you cancel its Spot fleet request using CancelSpotFleetRequests or when
  45741. // the Spot fleet request expires, if you set terminateInstancesWithExpiration.
  45742. //
  45743. // IamFleetRole is a required field
  45744. IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
  45745. // Information about the launch specifications for the Spot fleet request.
  45746. //
  45747. // LaunchSpecifications is a required field
  45748. LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" min:"1" type:"list" required:"true"`
  45749. // Indicates whether Spot fleet should replace unhealthy instances.
  45750. ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
  45751. // The bid price per unit hour.
  45752. //
  45753. // SpotPrice is a required field
  45754. SpotPrice *string `locationName:"spotPrice" type:"string" required:"true"`
  45755. // The number of units to request. You can choose to set the target capacity
  45756. // in terms of instances or a performance characteristic that is important to
  45757. // your application workload, such as vCPUs, memory, or I/O.
  45758. //
  45759. // TargetCapacity is a required field
  45760. TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
  45761. // Indicates whether running Spot instances should be terminated when the Spot
  45762. // fleet request expires.
  45763. TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
  45764. // The type of request. Indicates whether the fleet will only request the target
  45765. // capacity or also attempt to maintain it. When you request a certain target
  45766. // capacity, the fleet will only place the required bids. It will not attempt
  45767. // to replenish Spot instances if capacity is diminished, nor will it submit
  45768. // bids in alternative Spot pools if capacity is not available. When you want
  45769. // to maintain a certain target capacity, fleet will place the required bids
  45770. // to meet this target capacity. It will also automatically replenish any interrupted
  45771. // instances. Default: maintain.
  45772. Type *string `locationName:"type" type:"string" enum:"FleetType"`
  45773. // The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45774. // The default is to start fulfilling the request immediately.
  45775. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  45776. // The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45777. // At this point, no new Spot instance requests are placed or enabled to fulfill
  45778. // the request.
  45779. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  45780. }
  45781. // String returns the string representation
  45782. func (s SpotFleetRequestConfigData) String() string {
  45783. return awsutil.Prettify(s)
  45784. }
  45785. // GoString returns the string representation
  45786. func (s SpotFleetRequestConfigData) GoString() string {
  45787. return s.String()
  45788. }
  45789. // Validate inspects the fields of the type to determine if they are valid.
  45790. func (s *SpotFleetRequestConfigData) Validate() error {
  45791. invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
  45792. if s.IamFleetRole == nil {
  45793. invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
  45794. }
  45795. if s.LaunchSpecifications == nil {
  45796. invalidParams.Add(request.NewErrParamRequired("LaunchSpecifications"))
  45797. }
  45798. if s.LaunchSpecifications != nil && len(s.LaunchSpecifications) < 1 {
  45799. invalidParams.Add(request.NewErrParamMinLen("LaunchSpecifications", 1))
  45800. }
  45801. if s.SpotPrice == nil {
  45802. invalidParams.Add(request.NewErrParamRequired("SpotPrice"))
  45803. }
  45804. if s.TargetCapacity == nil {
  45805. invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
  45806. }
  45807. if s.LaunchSpecifications != nil {
  45808. for i, v := range s.LaunchSpecifications {
  45809. if v == nil {
  45810. continue
  45811. }
  45812. if err := v.Validate(); err != nil {
  45813. invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchSpecifications", i), err.(request.ErrInvalidParams))
  45814. }
  45815. }
  45816. }
  45817. if invalidParams.Len() > 0 {
  45818. return invalidParams
  45819. }
  45820. return nil
  45821. }
  45822. // SetAllocationStrategy sets the AllocationStrategy field's value.
  45823. func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
  45824. s.AllocationStrategy = &v
  45825. return s
  45826. }
  45827. // SetClientToken sets the ClientToken field's value.
  45828. func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
  45829. s.ClientToken = &v
  45830. return s
  45831. }
  45832. // SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
  45833. func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
  45834. s.ExcessCapacityTerminationPolicy = &v
  45835. return s
  45836. }
  45837. // SetFulfilledCapacity sets the FulfilledCapacity field's value.
  45838. func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
  45839. s.FulfilledCapacity = &v
  45840. return s
  45841. }
  45842. // SetIamFleetRole sets the IamFleetRole field's value.
  45843. func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
  45844. s.IamFleetRole = &v
  45845. return s
  45846. }
  45847. // SetLaunchSpecifications sets the LaunchSpecifications field's value.
  45848. func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
  45849. s.LaunchSpecifications = v
  45850. return s
  45851. }
  45852. // SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
  45853. func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
  45854. s.ReplaceUnhealthyInstances = &v
  45855. return s
  45856. }
  45857. // SetSpotPrice sets the SpotPrice field's value.
  45858. func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
  45859. s.SpotPrice = &v
  45860. return s
  45861. }
  45862. // SetTargetCapacity sets the TargetCapacity field's value.
  45863. func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
  45864. s.TargetCapacity = &v
  45865. return s
  45866. }
  45867. // SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
  45868. func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
  45869. s.TerminateInstancesWithExpiration = &v
  45870. return s
  45871. }
  45872. // SetType sets the Type field's value.
  45873. func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
  45874. s.Type = &v
  45875. return s
  45876. }
  45877. // SetValidFrom sets the ValidFrom field's value.
  45878. func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
  45879. s.ValidFrom = &v
  45880. return s
  45881. }
  45882. // SetValidUntil sets the ValidUntil field's value.
  45883. func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
  45884. s.ValidUntil = &v
  45885. return s
  45886. }
  45887. // Describes a Spot instance request.
  45888. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceRequest
  45889. type SpotInstanceRequest struct {
  45890. _ struct{} `type:"structure"`
  45891. // If you specified a duration and your Spot instance request was fulfilled,
  45892. // this is the fixed hourly price in effect for the Spot instance while it runs.
  45893. ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
  45894. // The Availability Zone group. If you specify the same Availability Zone group
  45895. // for all Spot instance requests, all Spot instances are launched in the same
  45896. // Availability Zone.
  45897. AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
  45898. // The duration for the Spot instance, in minutes.
  45899. BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
  45900. // The date and time when the Spot instance request was created, in UTC format
  45901. // (for example, YYYY-MM-DDTHH:MM:SSZ).
  45902. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  45903. // The fault codes for the Spot instance request, if any.
  45904. Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
  45905. // The instance ID, if an instance has been launched to fulfill the Spot instance
  45906. // request.
  45907. InstanceId *string `locationName:"instanceId" type:"string"`
  45908. // The instance launch group. Launch groups are Spot instances that launch together
  45909. // and terminate together.
  45910. LaunchGroup *string `locationName:"launchGroup" type:"string"`
  45911. // Additional information for launching instances.
  45912. LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
  45913. // The Availability Zone in which the bid is launched.
  45914. LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
  45915. // The product description associated with the Spot instance.
  45916. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  45917. // The ID of the Spot instance request.
  45918. SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
  45919. // The maximum hourly price (bid) for the Spot instance launched to fulfill
  45920. // the request.
  45921. SpotPrice *string `locationName:"spotPrice" type:"string"`
  45922. // The state of the Spot instance request. Spot bid status information can help
  45923. // you track your Spot instance requests. For more information, see Spot Bid
  45924. // Status (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
  45925. // in the Amazon Elastic Compute Cloud User Guide.
  45926. State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
  45927. // The status code and status message describing the Spot instance request.
  45928. Status *SpotInstanceStatus `locationName:"status" type:"structure"`
  45929. // Any tags assigned to the resource.
  45930. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  45931. // The Spot instance request type.
  45932. Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
  45933. // The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45934. // The request becomes active at this date and time.
  45935. ValidFrom *time.Time `locationName:"validFrom" type:"timestamp" timestampFormat:"iso8601"`
  45936. // The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  45937. // If this is a one-time request, it remains active until all instances launch,
  45938. // the request is canceled, or this date is reached. If the request is persistent,
  45939. // it remains active until it is canceled or this date is reached.
  45940. ValidUntil *time.Time `locationName:"validUntil" type:"timestamp" timestampFormat:"iso8601"`
  45941. }
  45942. // String returns the string representation
  45943. func (s SpotInstanceRequest) String() string {
  45944. return awsutil.Prettify(s)
  45945. }
  45946. // GoString returns the string representation
  45947. func (s SpotInstanceRequest) GoString() string {
  45948. return s.String()
  45949. }
  45950. // SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
  45951. func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
  45952. s.ActualBlockHourlyPrice = &v
  45953. return s
  45954. }
  45955. // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
  45956. func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
  45957. s.AvailabilityZoneGroup = &v
  45958. return s
  45959. }
  45960. // SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
  45961. func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
  45962. s.BlockDurationMinutes = &v
  45963. return s
  45964. }
  45965. // SetCreateTime sets the CreateTime field's value.
  45966. func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
  45967. s.CreateTime = &v
  45968. return s
  45969. }
  45970. // SetFault sets the Fault field's value.
  45971. func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
  45972. s.Fault = v
  45973. return s
  45974. }
  45975. // SetInstanceId sets the InstanceId field's value.
  45976. func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
  45977. s.InstanceId = &v
  45978. return s
  45979. }
  45980. // SetLaunchGroup sets the LaunchGroup field's value.
  45981. func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
  45982. s.LaunchGroup = &v
  45983. return s
  45984. }
  45985. // SetLaunchSpecification sets the LaunchSpecification field's value.
  45986. func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
  45987. s.LaunchSpecification = v
  45988. return s
  45989. }
  45990. // SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
  45991. func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
  45992. s.LaunchedAvailabilityZone = &v
  45993. return s
  45994. }
  45995. // SetProductDescription sets the ProductDescription field's value.
  45996. func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
  45997. s.ProductDescription = &v
  45998. return s
  45999. }
  46000. // SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
  46001. func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
  46002. s.SpotInstanceRequestId = &v
  46003. return s
  46004. }
  46005. // SetSpotPrice sets the SpotPrice field's value.
  46006. func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
  46007. s.SpotPrice = &v
  46008. return s
  46009. }
  46010. // SetState sets the State field's value.
  46011. func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
  46012. s.State = &v
  46013. return s
  46014. }
  46015. // SetStatus sets the Status field's value.
  46016. func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
  46017. s.Status = v
  46018. return s
  46019. }
  46020. // SetTags sets the Tags field's value.
  46021. func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
  46022. s.Tags = v
  46023. return s
  46024. }
  46025. // SetType sets the Type field's value.
  46026. func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
  46027. s.Type = &v
  46028. return s
  46029. }
  46030. // SetValidFrom sets the ValidFrom field's value.
  46031. func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
  46032. s.ValidFrom = &v
  46033. return s
  46034. }
  46035. // SetValidUntil sets the ValidUntil field's value.
  46036. func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
  46037. s.ValidUntil = &v
  46038. return s
  46039. }
  46040. // Describes a Spot instance state change.
  46041. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStateFault
  46042. type SpotInstanceStateFault struct {
  46043. _ struct{} `type:"structure"`
  46044. // The reason code for the Spot instance state change.
  46045. Code *string `locationName:"code" type:"string"`
  46046. // The message for the Spot instance state change.
  46047. Message *string `locationName:"message" type:"string"`
  46048. }
  46049. // String returns the string representation
  46050. func (s SpotInstanceStateFault) String() string {
  46051. return awsutil.Prettify(s)
  46052. }
  46053. // GoString returns the string representation
  46054. func (s SpotInstanceStateFault) GoString() string {
  46055. return s.String()
  46056. }
  46057. // SetCode sets the Code field's value.
  46058. func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
  46059. s.Code = &v
  46060. return s
  46061. }
  46062. // SetMessage sets the Message field's value.
  46063. func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
  46064. s.Message = &v
  46065. return s
  46066. }
  46067. // Describes the status of a Spot instance request.
  46068. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotInstanceStatus
  46069. type SpotInstanceStatus struct {
  46070. _ struct{} `type:"structure"`
  46071. // 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)
  46072. // in the Amazon Elastic Compute Cloud User Guide.
  46073. Code *string `locationName:"code" type:"string"`
  46074. // The description for the status code.
  46075. Message *string `locationName:"message" type:"string"`
  46076. // The date and time of the most recent status update, in UTC format (for example,
  46077. // YYYY-MM-DDTHH:MM:SSZ).
  46078. UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601"`
  46079. }
  46080. // String returns the string representation
  46081. func (s SpotInstanceStatus) String() string {
  46082. return awsutil.Prettify(s)
  46083. }
  46084. // GoString returns the string representation
  46085. func (s SpotInstanceStatus) GoString() string {
  46086. return s.String()
  46087. }
  46088. // SetCode sets the Code field's value.
  46089. func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
  46090. s.Code = &v
  46091. return s
  46092. }
  46093. // SetMessage sets the Message field's value.
  46094. func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
  46095. s.Message = &v
  46096. return s
  46097. }
  46098. // SetUpdateTime sets the UpdateTime field's value.
  46099. func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
  46100. s.UpdateTime = &v
  46101. return s
  46102. }
  46103. // Describes Spot instance placement.
  46104. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPlacement
  46105. type SpotPlacement struct {
  46106. _ struct{} `type:"structure"`
  46107. // The Availability Zone.
  46108. //
  46109. // [Spot fleet only] To specify multiple Availability Zones, separate them using
  46110. // commas; for example, "us-west-2a, us-west-2b".
  46111. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  46112. // The name of the placement group (for cluster instances).
  46113. GroupName *string `locationName:"groupName" type:"string"`
  46114. // The tenancy of the instance (if the instance is running in a VPC). An instance
  46115. // with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
  46116. // is not supported for Spot instances.
  46117. Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
  46118. }
  46119. // String returns the string representation
  46120. func (s SpotPlacement) String() string {
  46121. return awsutil.Prettify(s)
  46122. }
  46123. // GoString returns the string representation
  46124. func (s SpotPlacement) GoString() string {
  46125. return s.String()
  46126. }
  46127. // SetAvailabilityZone sets the AvailabilityZone field's value.
  46128. func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
  46129. s.AvailabilityZone = &v
  46130. return s
  46131. }
  46132. // SetGroupName sets the GroupName field's value.
  46133. func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
  46134. s.GroupName = &v
  46135. return s
  46136. }
  46137. // SetTenancy sets the Tenancy field's value.
  46138. func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
  46139. s.Tenancy = &v
  46140. return s
  46141. }
  46142. // Describes the maximum hourly price (bid) for any Spot instance launched to
  46143. // fulfill the request.
  46144. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SpotPrice
  46145. type SpotPrice struct {
  46146. _ struct{} `type:"structure"`
  46147. // The Availability Zone.
  46148. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  46149. // The instance type. Note that T2 and HS1 instance types are not supported.
  46150. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
  46151. // A general description of the AMI.
  46152. ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
  46153. // The maximum price (bid) that you are willing to pay for a Spot instance.
  46154. SpotPrice *string `locationName:"spotPrice" type:"string"`
  46155. // The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
  46156. Timestamp *time.Time `locationName:"timestamp" type:"timestamp" timestampFormat:"iso8601"`
  46157. }
  46158. // String returns the string representation
  46159. func (s SpotPrice) String() string {
  46160. return awsutil.Prettify(s)
  46161. }
  46162. // GoString returns the string representation
  46163. func (s SpotPrice) GoString() string {
  46164. return s.String()
  46165. }
  46166. // SetAvailabilityZone sets the AvailabilityZone field's value.
  46167. func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
  46168. s.AvailabilityZone = &v
  46169. return s
  46170. }
  46171. // SetInstanceType sets the InstanceType field's value.
  46172. func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
  46173. s.InstanceType = &v
  46174. return s
  46175. }
  46176. // SetProductDescription sets the ProductDescription field's value.
  46177. func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
  46178. s.ProductDescription = &v
  46179. return s
  46180. }
  46181. // SetSpotPrice sets the SpotPrice field's value.
  46182. func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
  46183. s.SpotPrice = &v
  46184. return s
  46185. }
  46186. // SetTimestamp sets the Timestamp field's value.
  46187. func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
  46188. s.Timestamp = &v
  46189. return s
  46190. }
  46191. // Describes a stale rule in a security group.
  46192. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleIpPermission
  46193. type StaleIpPermission struct {
  46194. _ struct{} `type:"structure"`
  46195. // The start of the port range for the TCP and UDP protocols, or an ICMP type
  46196. // number. A value of -1 indicates all ICMP types.
  46197. FromPort *int64 `locationName:"fromPort" type:"integer"`
  46198. // The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
  46199. // (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
  46200. IpProtocol *string `locationName:"ipProtocol" type:"string"`
  46201. // One or more IP ranges. Not applicable for stale security group rules.
  46202. IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
  46203. // One or more prefix list IDs for an AWS service. Not applicable for stale
  46204. // security group rules.
  46205. PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
  46206. // The end of the port range for the TCP and UDP protocols, or an ICMP type
  46207. // number. A value of -1 indicates all ICMP types.
  46208. ToPort *int64 `locationName:"toPort" type:"integer"`
  46209. // One or more security group pairs. Returns the ID of the referenced security
  46210. // group and VPC, and the ID and status of the VPC peering connection.
  46211. UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
  46212. }
  46213. // String returns the string representation
  46214. func (s StaleIpPermission) String() string {
  46215. return awsutil.Prettify(s)
  46216. }
  46217. // GoString returns the string representation
  46218. func (s StaleIpPermission) GoString() string {
  46219. return s.String()
  46220. }
  46221. // SetFromPort sets the FromPort field's value.
  46222. func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
  46223. s.FromPort = &v
  46224. return s
  46225. }
  46226. // SetIpProtocol sets the IpProtocol field's value.
  46227. func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
  46228. s.IpProtocol = &v
  46229. return s
  46230. }
  46231. // SetIpRanges sets the IpRanges field's value.
  46232. func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
  46233. s.IpRanges = v
  46234. return s
  46235. }
  46236. // SetPrefixListIds sets the PrefixListIds field's value.
  46237. func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
  46238. s.PrefixListIds = v
  46239. return s
  46240. }
  46241. // SetToPort sets the ToPort field's value.
  46242. func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
  46243. s.ToPort = &v
  46244. return s
  46245. }
  46246. // SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
  46247. func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
  46248. s.UserIdGroupPairs = v
  46249. return s
  46250. }
  46251. // Describes a stale security group (a security group that contains stale rules).
  46252. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StaleSecurityGroup
  46253. type StaleSecurityGroup struct {
  46254. _ struct{} `type:"structure"`
  46255. // The description of the security group.
  46256. Description *string `locationName:"description" type:"string"`
  46257. // The ID of the security group.
  46258. //
  46259. // GroupId is a required field
  46260. GroupId *string `locationName:"groupId" type:"string" required:"true"`
  46261. // The name of the security group.
  46262. GroupName *string `locationName:"groupName" type:"string"`
  46263. // Information about the stale inbound rules in the security group.
  46264. StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
  46265. // Information about the stale outbound rules in the security group.
  46266. StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
  46267. // The ID of the VPC for the security group.
  46268. VpcId *string `locationName:"vpcId" type:"string"`
  46269. }
  46270. // String returns the string representation
  46271. func (s StaleSecurityGroup) String() string {
  46272. return awsutil.Prettify(s)
  46273. }
  46274. // GoString returns the string representation
  46275. func (s StaleSecurityGroup) GoString() string {
  46276. return s.String()
  46277. }
  46278. // SetDescription sets the Description field's value.
  46279. func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
  46280. s.Description = &v
  46281. return s
  46282. }
  46283. // SetGroupId sets the GroupId field's value.
  46284. func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
  46285. s.GroupId = &v
  46286. return s
  46287. }
  46288. // SetGroupName sets the GroupName field's value.
  46289. func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
  46290. s.GroupName = &v
  46291. return s
  46292. }
  46293. // SetStaleIpPermissions sets the StaleIpPermissions field's value.
  46294. func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
  46295. s.StaleIpPermissions = v
  46296. return s
  46297. }
  46298. // SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
  46299. func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
  46300. s.StaleIpPermissionsEgress = v
  46301. return s
  46302. }
  46303. // SetVpcId sets the VpcId field's value.
  46304. func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
  46305. s.VpcId = &v
  46306. return s
  46307. }
  46308. // Contains the parameters for StartInstances.
  46309. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesRequest
  46310. type StartInstancesInput struct {
  46311. _ struct{} `type:"structure"`
  46312. // Reserved.
  46313. AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
  46314. // Checks whether you have the required permissions for the action, without
  46315. // actually making the request, and provides an error response. If you have
  46316. // the required permissions, the error response is DryRunOperation. Otherwise,
  46317. // it is UnauthorizedOperation.
  46318. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46319. // One or more instance IDs.
  46320. //
  46321. // InstanceIds is a required field
  46322. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46323. }
  46324. // String returns the string representation
  46325. func (s StartInstancesInput) String() string {
  46326. return awsutil.Prettify(s)
  46327. }
  46328. // GoString returns the string representation
  46329. func (s StartInstancesInput) GoString() string {
  46330. return s.String()
  46331. }
  46332. // Validate inspects the fields of the type to determine if they are valid.
  46333. func (s *StartInstancesInput) Validate() error {
  46334. invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
  46335. if s.InstanceIds == nil {
  46336. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46337. }
  46338. if invalidParams.Len() > 0 {
  46339. return invalidParams
  46340. }
  46341. return nil
  46342. }
  46343. // SetAdditionalInfo sets the AdditionalInfo field's value.
  46344. func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
  46345. s.AdditionalInfo = &v
  46346. return s
  46347. }
  46348. // SetDryRun sets the DryRun field's value.
  46349. func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
  46350. s.DryRun = &v
  46351. return s
  46352. }
  46353. // SetInstanceIds sets the InstanceIds field's value.
  46354. func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
  46355. s.InstanceIds = v
  46356. return s
  46357. }
  46358. // Contains the output of StartInstances.
  46359. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstancesResult
  46360. type StartInstancesOutput struct {
  46361. _ struct{} `type:"structure"`
  46362. // Information about one or more started instances.
  46363. StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46364. }
  46365. // String returns the string representation
  46366. func (s StartInstancesOutput) String() string {
  46367. return awsutil.Prettify(s)
  46368. }
  46369. // GoString returns the string representation
  46370. func (s StartInstancesOutput) GoString() string {
  46371. return s.String()
  46372. }
  46373. // SetStartingInstances sets the StartingInstances field's value.
  46374. func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
  46375. s.StartingInstances = v
  46376. return s
  46377. }
  46378. // Describes a state change.
  46379. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StateReason
  46380. type StateReason struct {
  46381. _ struct{} `type:"structure"`
  46382. // The reason code for the state change.
  46383. Code *string `locationName:"code" type:"string"`
  46384. // The message for the state change.
  46385. //
  46386. // * Server.InsufficientInstanceCapacity: There was insufficient instance
  46387. // capacity to satisfy the launch request.
  46388. //
  46389. // * Server.InternalError: An internal error occurred during instance launch,
  46390. // resulting in termination.
  46391. //
  46392. // * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
  46393. //
  46394. // * Server.SpotInstanceTermination: A Spot instance was terminated due to
  46395. // an increase in the market price.
  46396. //
  46397. // * Client.InternalError: A client error caused the instance to terminate
  46398. // on launch.
  46399. //
  46400. // * Client.InstanceInitiatedShutdown: The instance was shut down using the
  46401. // shutdown -h command from the instance.
  46402. //
  46403. // * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
  46404. // EC2 API.
  46405. //
  46406. // * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
  46407. // total storage was exceeded. Decrease usage or request an increase in your
  46408. // limits.
  46409. //
  46410. // * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
  46411. Message *string `locationName:"message" type:"string"`
  46412. }
  46413. // String returns the string representation
  46414. func (s StateReason) String() string {
  46415. return awsutil.Prettify(s)
  46416. }
  46417. // GoString returns the string representation
  46418. func (s StateReason) GoString() string {
  46419. return s.String()
  46420. }
  46421. // SetCode sets the Code field's value.
  46422. func (s *StateReason) SetCode(v string) *StateReason {
  46423. s.Code = &v
  46424. return s
  46425. }
  46426. // SetMessage sets the Message field's value.
  46427. func (s *StateReason) SetMessage(v string) *StateReason {
  46428. s.Message = &v
  46429. return s
  46430. }
  46431. // Contains the parameters for StopInstances.
  46432. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesRequest
  46433. type StopInstancesInput struct {
  46434. _ struct{} `type:"structure"`
  46435. // Checks whether you have the required permissions for the action, without
  46436. // actually making the request, and provides an error response. If you have
  46437. // the required permissions, the error response is DryRunOperation. Otherwise,
  46438. // it is UnauthorizedOperation.
  46439. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46440. // Forces the instances to stop. The instances do not have an opportunity to
  46441. // flush file system caches or file system metadata. If you use this option,
  46442. // you must perform file system check and repair procedures. This option is
  46443. // not recommended for Windows instances.
  46444. //
  46445. // Default: false
  46446. Force *bool `locationName:"force" type:"boolean"`
  46447. // One or more instance IDs.
  46448. //
  46449. // InstanceIds is a required field
  46450. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46451. }
  46452. // String returns the string representation
  46453. func (s StopInstancesInput) String() string {
  46454. return awsutil.Prettify(s)
  46455. }
  46456. // GoString returns the string representation
  46457. func (s StopInstancesInput) GoString() string {
  46458. return s.String()
  46459. }
  46460. // Validate inspects the fields of the type to determine if they are valid.
  46461. func (s *StopInstancesInput) Validate() error {
  46462. invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
  46463. if s.InstanceIds == nil {
  46464. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46465. }
  46466. if invalidParams.Len() > 0 {
  46467. return invalidParams
  46468. }
  46469. return nil
  46470. }
  46471. // SetDryRun sets the DryRun field's value.
  46472. func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
  46473. s.DryRun = &v
  46474. return s
  46475. }
  46476. // SetForce sets the Force field's value.
  46477. func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
  46478. s.Force = &v
  46479. return s
  46480. }
  46481. // SetInstanceIds sets the InstanceIds field's value.
  46482. func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
  46483. s.InstanceIds = v
  46484. return s
  46485. }
  46486. // Contains the output of StopInstances.
  46487. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstancesResult
  46488. type StopInstancesOutput struct {
  46489. _ struct{} `type:"structure"`
  46490. // Information about one or more stopped instances.
  46491. StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46492. }
  46493. // String returns the string representation
  46494. func (s StopInstancesOutput) String() string {
  46495. return awsutil.Prettify(s)
  46496. }
  46497. // GoString returns the string representation
  46498. func (s StopInstancesOutput) GoString() string {
  46499. return s.String()
  46500. }
  46501. // SetStoppingInstances sets the StoppingInstances field's value.
  46502. func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
  46503. s.StoppingInstances = v
  46504. return s
  46505. }
  46506. // Describes the storage location for an instance store-backed AMI.
  46507. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Storage
  46508. type Storage struct {
  46509. _ struct{} `type:"structure"`
  46510. // An Amazon S3 storage location.
  46511. S3 *S3Storage `type:"structure"`
  46512. }
  46513. // String returns the string representation
  46514. func (s Storage) String() string {
  46515. return awsutil.Prettify(s)
  46516. }
  46517. // GoString returns the string representation
  46518. func (s Storage) GoString() string {
  46519. return s.String()
  46520. }
  46521. // SetS3 sets the S3 field's value.
  46522. func (s *Storage) SetS3(v *S3Storage) *Storage {
  46523. s.S3 = v
  46524. return s
  46525. }
  46526. // Describes a storage location in Amazon S3.
  46527. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StorageLocation
  46528. type StorageLocation struct {
  46529. _ struct{} `type:"structure"`
  46530. // The name of the S3 bucket.
  46531. Bucket *string `type:"string"`
  46532. // The key.
  46533. Key *string `type:"string"`
  46534. }
  46535. // String returns the string representation
  46536. func (s StorageLocation) String() string {
  46537. return awsutil.Prettify(s)
  46538. }
  46539. // GoString returns the string representation
  46540. func (s StorageLocation) GoString() string {
  46541. return s.String()
  46542. }
  46543. // SetBucket sets the Bucket field's value.
  46544. func (s *StorageLocation) SetBucket(v string) *StorageLocation {
  46545. s.Bucket = &v
  46546. return s
  46547. }
  46548. // SetKey sets the Key field's value.
  46549. func (s *StorageLocation) SetKey(v string) *StorageLocation {
  46550. s.Key = &v
  46551. return s
  46552. }
  46553. // Describes a subnet.
  46554. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Subnet
  46555. type Subnet struct {
  46556. _ struct{} `type:"structure"`
  46557. // Indicates whether a network interface created in this subnet (including a
  46558. // network interface created by RunInstances) receives an IPv6 address.
  46559. AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
  46560. // The Availability Zone of the subnet.
  46561. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  46562. // The number of unused private IPv4 addresses in the subnet. Note that the
  46563. // IPv4 addresses for any stopped instances are considered unavailable.
  46564. AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
  46565. // The IPv4 CIDR block assigned to the subnet.
  46566. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  46567. // Indicates whether this is the default subnet for the Availability Zone.
  46568. DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
  46569. // Information about the IPv6 CIDR blocks associated with the subnet.
  46570. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  46571. // Indicates whether instances launched in this subnet receive a public IPv4
  46572. // address.
  46573. MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
  46574. // The current state of the subnet.
  46575. State *string `locationName:"state" type:"string" enum:"SubnetState"`
  46576. // The ID of the subnet.
  46577. SubnetId *string `locationName:"subnetId" type:"string"`
  46578. // Any tags assigned to the subnet.
  46579. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  46580. // The ID of the VPC the subnet is in.
  46581. VpcId *string `locationName:"vpcId" type:"string"`
  46582. }
  46583. // String returns the string representation
  46584. func (s Subnet) String() string {
  46585. return awsutil.Prettify(s)
  46586. }
  46587. // GoString returns the string representation
  46588. func (s Subnet) GoString() string {
  46589. return s.String()
  46590. }
  46591. // SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
  46592. func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
  46593. s.AssignIpv6AddressOnCreation = &v
  46594. return s
  46595. }
  46596. // SetAvailabilityZone sets the AvailabilityZone field's value.
  46597. func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
  46598. s.AvailabilityZone = &v
  46599. return s
  46600. }
  46601. // SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
  46602. func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
  46603. s.AvailableIpAddressCount = &v
  46604. return s
  46605. }
  46606. // SetCidrBlock sets the CidrBlock field's value.
  46607. func (s *Subnet) SetCidrBlock(v string) *Subnet {
  46608. s.CidrBlock = &v
  46609. return s
  46610. }
  46611. // SetDefaultForAz sets the DefaultForAz field's value.
  46612. func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
  46613. s.DefaultForAz = &v
  46614. return s
  46615. }
  46616. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  46617. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
  46618. s.Ipv6CidrBlockAssociationSet = v
  46619. return s
  46620. }
  46621. // SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
  46622. func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
  46623. s.MapPublicIpOnLaunch = &v
  46624. return s
  46625. }
  46626. // SetState sets the State field's value.
  46627. func (s *Subnet) SetState(v string) *Subnet {
  46628. s.State = &v
  46629. return s
  46630. }
  46631. // SetSubnetId sets the SubnetId field's value.
  46632. func (s *Subnet) SetSubnetId(v string) *Subnet {
  46633. s.SubnetId = &v
  46634. return s
  46635. }
  46636. // SetTags sets the Tags field's value.
  46637. func (s *Subnet) SetTags(v []*Tag) *Subnet {
  46638. s.Tags = v
  46639. return s
  46640. }
  46641. // SetVpcId sets the VpcId field's value.
  46642. func (s *Subnet) SetVpcId(v string) *Subnet {
  46643. s.VpcId = &v
  46644. return s
  46645. }
  46646. // Describes the state of a CIDR block.
  46647. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetCidrBlockState
  46648. type SubnetCidrBlockState struct {
  46649. _ struct{} `type:"structure"`
  46650. // The state of a CIDR block.
  46651. State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
  46652. // A message about the status of the CIDR block, if applicable.
  46653. StatusMessage *string `locationName:"statusMessage" type:"string"`
  46654. }
  46655. // String returns the string representation
  46656. func (s SubnetCidrBlockState) String() string {
  46657. return awsutil.Prettify(s)
  46658. }
  46659. // GoString returns the string representation
  46660. func (s SubnetCidrBlockState) GoString() string {
  46661. return s.String()
  46662. }
  46663. // SetState sets the State field's value.
  46664. func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
  46665. s.State = &v
  46666. return s
  46667. }
  46668. // SetStatusMessage sets the StatusMessage field's value.
  46669. func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
  46670. s.StatusMessage = &v
  46671. return s
  46672. }
  46673. // Describes an IPv6 CIDR block associated with a subnet.
  46674. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SubnetIpv6CidrBlockAssociation
  46675. type SubnetIpv6CidrBlockAssociation struct {
  46676. _ struct{} `type:"structure"`
  46677. // The association ID for the CIDR block.
  46678. AssociationId *string `locationName:"associationId" type:"string"`
  46679. // The IPv6 CIDR block.
  46680. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  46681. // Information about the state of the CIDR block.
  46682. Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  46683. }
  46684. // String returns the string representation
  46685. func (s SubnetIpv6CidrBlockAssociation) String() string {
  46686. return awsutil.Prettify(s)
  46687. }
  46688. // GoString returns the string representation
  46689. func (s SubnetIpv6CidrBlockAssociation) GoString() string {
  46690. return s.String()
  46691. }
  46692. // SetAssociationId sets the AssociationId field's value.
  46693. func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
  46694. s.AssociationId = &v
  46695. return s
  46696. }
  46697. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  46698. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
  46699. s.Ipv6CidrBlock = &v
  46700. return s
  46701. }
  46702. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  46703. func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
  46704. s.Ipv6CidrBlockState = v
  46705. return s
  46706. }
  46707. // Describes a tag.
  46708. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Tag
  46709. type Tag struct {
  46710. _ struct{} `type:"structure"`
  46711. // The key of the tag.
  46712. //
  46713. // Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
  46714. // characters. May not begin with aws:
  46715. Key *string `locationName:"key" type:"string"`
  46716. // The value of the tag.
  46717. //
  46718. // Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
  46719. // characters.
  46720. Value *string `locationName:"value" type:"string"`
  46721. }
  46722. // String returns the string representation
  46723. func (s Tag) String() string {
  46724. return awsutil.Prettify(s)
  46725. }
  46726. // GoString returns the string representation
  46727. func (s Tag) GoString() string {
  46728. return s.String()
  46729. }
  46730. // SetKey sets the Key field's value.
  46731. func (s *Tag) SetKey(v string) *Tag {
  46732. s.Key = &v
  46733. return s
  46734. }
  46735. // SetValue sets the Value field's value.
  46736. func (s *Tag) SetValue(v string) *Tag {
  46737. s.Value = &v
  46738. return s
  46739. }
  46740. // Describes a tag.
  46741. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagDescription
  46742. type TagDescription struct {
  46743. _ struct{} `type:"structure"`
  46744. // The tag key.
  46745. Key *string `locationName:"key" type:"string"`
  46746. // The ID of the resource. For example, ami-1a2b3c4d.
  46747. ResourceId *string `locationName:"resourceId" type:"string"`
  46748. // The resource type.
  46749. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  46750. // The tag value.
  46751. Value *string `locationName:"value" type:"string"`
  46752. }
  46753. // String returns the string representation
  46754. func (s TagDescription) String() string {
  46755. return awsutil.Prettify(s)
  46756. }
  46757. // GoString returns the string representation
  46758. func (s TagDescription) GoString() string {
  46759. return s.String()
  46760. }
  46761. // SetKey sets the Key field's value.
  46762. func (s *TagDescription) SetKey(v string) *TagDescription {
  46763. s.Key = &v
  46764. return s
  46765. }
  46766. // SetResourceId sets the ResourceId field's value.
  46767. func (s *TagDescription) SetResourceId(v string) *TagDescription {
  46768. s.ResourceId = &v
  46769. return s
  46770. }
  46771. // SetResourceType sets the ResourceType field's value.
  46772. func (s *TagDescription) SetResourceType(v string) *TagDescription {
  46773. s.ResourceType = &v
  46774. return s
  46775. }
  46776. // SetValue sets the Value field's value.
  46777. func (s *TagDescription) SetValue(v string) *TagDescription {
  46778. s.Value = &v
  46779. return s
  46780. }
  46781. // The tags to apply to a resource when the resource is being created.
  46782. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TagSpecification
  46783. type TagSpecification struct {
  46784. _ struct{} `type:"structure"`
  46785. // The type of resource to tag. Currently, the resource types that support tagging
  46786. // on creation are instance and volume.
  46787. ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
  46788. // The tags to apply to the resource.
  46789. Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
  46790. }
  46791. // String returns the string representation
  46792. func (s TagSpecification) String() string {
  46793. return awsutil.Prettify(s)
  46794. }
  46795. // GoString returns the string representation
  46796. func (s TagSpecification) GoString() string {
  46797. return s.String()
  46798. }
  46799. // SetResourceType sets the ResourceType field's value.
  46800. func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
  46801. s.ResourceType = &v
  46802. return s
  46803. }
  46804. // SetTags sets the Tags field's value.
  46805. func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
  46806. s.Tags = v
  46807. return s
  46808. }
  46809. // Information about the Convertible Reserved Instance offering.
  46810. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfiguration
  46811. type TargetConfiguration struct {
  46812. _ struct{} `type:"structure"`
  46813. // The number of instances the Convertible Reserved Instance offering can be
  46814. // applied to. This parameter is reserved and cannot be specified in a request
  46815. InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
  46816. // The ID of the Convertible Reserved Instance offering.
  46817. OfferingId *string `locationName:"offeringId" type:"string"`
  46818. }
  46819. // String returns the string representation
  46820. func (s TargetConfiguration) String() string {
  46821. return awsutil.Prettify(s)
  46822. }
  46823. // GoString returns the string representation
  46824. func (s TargetConfiguration) GoString() string {
  46825. return s.String()
  46826. }
  46827. // SetInstanceCount sets the InstanceCount field's value.
  46828. func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
  46829. s.InstanceCount = &v
  46830. return s
  46831. }
  46832. // SetOfferingId sets the OfferingId field's value.
  46833. func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
  46834. s.OfferingId = &v
  46835. return s
  46836. }
  46837. // Details about the target configuration.
  46838. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetConfigurationRequest
  46839. type TargetConfigurationRequest struct {
  46840. _ struct{} `type:"structure"`
  46841. // The number of instances the Covertible Reserved Instance offering can be
  46842. // applied to. This parameter is reserved and cannot be specified in a request
  46843. InstanceCount *int64 `type:"integer"`
  46844. // The Convertible Reserved Instance offering ID.
  46845. //
  46846. // OfferingId is a required field
  46847. OfferingId *string `type:"string" required:"true"`
  46848. }
  46849. // String returns the string representation
  46850. func (s TargetConfigurationRequest) String() string {
  46851. return awsutil.Prettify(s)
  46852. }
  46853. // GoString returns the string representation
  46854. func (s TargetConfigurationRequest) GoString() string {
  46855. return s.String()
  46856. }
  46857. // Validate inspects the fields of the type to determine if they are valid.
  46858. func (s *TargetConfigurationRequest) Validate() error {
  46859. invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
  46860. if s.OfferingId == nil {
  46861. invalidParams.Add(request.NewErrParamRequired("OfferingId"))
  46862. }
  46863. if invalidParams.Len() > 0 {
  46864. return invalidParams
  46865. }
  46866. return nil
  46867. }
  46868. // SetInstanceCount sets the InstanceCount field's value.
  46869. func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
  46870. s.InstanceCount = &v
  46871. return s
  46872. }
  46873. // SetOfferingId sets the OfferingId field's value.
  46874. func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
  46875. s.OfferingId = &v
  46876. return s
  46877. }
  46878. // The total value of the new Convertible Reserved Instances.
  46879. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TargetReservationValue
  46880. type TargetReservationValue struct {
  46881. _ struct{} `type:"structure"`
  46882. // The total value of the Convertible Reserved Instances that make up the exchange.
  46883. // This is the sum of the list value, remaining upfront price, and additional
  46884. // upfront cost of the exchange.
  46885. ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
  46886. // The configuration of the Convertible Reserved Instances that make up the
  46887. // exchange.
  46888. TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
  46889. }
  46890. // String returns the string representation
  46891. func (s TargetReservationValue) String() string {
  46892. return awsutil.Prettify(s)
  46893. }
  46894. // GoString returns the string representation
  46895. func (s TargetReservationValue) GoString() string {
  46896. return s.String()
  46897. }
  46898. // SetReservationValue sets the ReservationValue field's value.
  46899. func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
  46900. s.ReservationValue = v
  46901. return s
  46902. }
  46903. // SetTargetConfiguration sets the TargetConfiguration field's value.
  46904. func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
  46905. s.TargetConfiguration = v
  46906. return s
  46907. }
  46908. // Contains the parameters for TerminateInstances.
  46909. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesRequest
  46910. type TerminateInstancesInput struct {
  46911. _ struct{} `type:"structure"`
  46912. // Checks whether you have the required permissions for the action, without
  46913. // actually making the request, and provides an error response. If you have
  46914. // the required permissions, the error response is DryRunOperation. Otherwise,
  46915. // it is UnauthorizedOperation.
  46916. DryRun *bool `locationName:"dryRun" type:"boolean"`
  46917. // One or more instance IDs.
  46918. //
  46919. // Constraints: Up to 1000 instance IDs. We recommend breaking up this request
  46920. // into smaller batches.
  46921. //
  46922. // InstanceIds is a required field
  46923. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  46924. }
  46925. // String returns the string representation
  46926. func (s TerminateInstancesInput) String() string {
  46927. return awsutil.Prettify(s)
  46928. }
  46929. // GoString returns the string representation
  46930. func (s TerminateInstancesInput) GoString() string {
  46931. return s.String()
  46932. }
  46933. // Validate inspects the fields of the type to determine if they are valid.
  46934. func (s *TerminateInstancesInput) Validate() error {
  46935. invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
  46936. if s.InstanceIds == nil {
  46937. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  46938. }
  46939. if invalidParams.Len() > 0 {
  46940. return invalidParams
  46941. }
  46942. return nil
  46943. }
  46944. // SetDryRun sets the DryRun field's value.
  46945. func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
  46946. s.DryRun = &v
  46947. return s
  46948. }
  46949. // SetInstanceIds sets the InstanceIds field's value.
  46950. func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
  46951. s.InstanceIds = v
  46952. return s
  46953. }
  46954. // Contains the output of TerminateInstances.
  46955. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstancesResult
  46956. type TerminateInstancesOutput struct {
  46957. _ struct{} `type:"structure"`
  46958. // Information about one or more terminated instances.
  46959. TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
  46960. }
  46961. // String returns the string representation
  46962. func (s TerminateInstancesOutput) String() string {
  46963. return awsutil.Prettify(s)
  46964. }
  46965. // GoString returns the string representation
  46966. func (s TerminateInstancesOutput) GoString() string {
  46967. return s.String()
  46968. }
  46969. // SetTerminatingInstances sets the TerminatingInstances field's value.
  46970. func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
  46971. s.TerminatingInstances = v
  46972. return s
  46973. }
  46974. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesRequest
  46975. type UnassignIpv6AddressesInput struct {
  46976. _ struct{} `type:"structure"`
  46977. // The IPv6 addresses to unassign from the network interface.
  46978. //
  46979. // Ipv6Addresses is a required field
  46980. Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
  46981. // The ID of the network interface.
  46982. //
  46983. // NetworkInterfaceId is a required field
  46984. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  46985. }
  46986. // String returns the string representation
  46987. func (s UnassignIpv6AddressesInput) String() string {
  46988. return awsutil.Prettify(s)
  46989. }
  46990. // GoString returns the string representation
  46991. func (s UnassignIpv6AddressesInput) GoString() string {
  46992. return s.String()
  46993. }
  46994. // Validate inspects the fields of the type to determine if they are valid.
  46995. func (s *UnassignIpv6AddressesInput) Validate() error {
  46996. invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
  46997. if s.Ipv6Addresses == nil {
  46998. invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
  46999. }
  47000. if s.NetworkInterfaceId == nil {
  47001. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  47002. }
  47003. if invalidParams.Len() > 0 {
  47004. return invalidParams
  47005. }
  47006. return nil
  47007. }
  47008. // SetIpv6Addresses sets the Ipv6Addresses field's value.
  47009. func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
  47010. s.Ipv6Addresses = v
  47011. return s
  47012. }
  47013. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47014. func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
  47015. s.NetworkInterfaceId = &v
  47016. return s
  47017. }
  47018. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6AddressesResult
  47019. type UnassignIpv6AddressesOutput struct {
  47020. _ struct{} `type:"structure"`
  47021. // The ID of the network interface.
  47022. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
  47023. // The IPv6 addresses that have been unassigned from the network interface.
  47024. UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
  47025. }
  47026. // String returns the string representation
  47027. func (s UnassignIpv6AddressesOutput) String() string {
  47028. return awsutil.Prettify(s)
  47029. }
  47030. // GoString returns the string representation
  47031. func (s UnassignIpv6AddressesOutput) GoString() string {
  47032. return s.String()
  47033. }
  47034. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47035. func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
  47036. s.NetworkInterfaceId = &v
  47037. return s
  47038. }
  47039. // SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
  47040. func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
  47041. s.UnassignedIpv6Addresses = v
  47042. return s
  47043. }
  47044. // Contains the parameters for UnassignPrivateIpAddresses.
  47045. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesRequest
  47046. type UnassignPrivateIpAddressesInput struct {
  47047. _ struct{} `type:"structure"`
  47048. // The ID of the network interface.
  47049. //
  47050. // NetworkInterfaceId is a required field
  47051. NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
  47052. // The secondary private IP addresses to unassign from the network interface.
  47053. // You can specify this option multiple times to unassign more than one IP address.
  47054. //
  47055. // PrivateIpAddresses is a required field
  47056. PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
  47057. }
  47058. // String returns the string representation
  47059. func (s UnassignPrivateIpAddressesInput) String() string {
  47060. return awsutil.Prettify(s)
  47061. }
  47062. // GoString returns the string representation
  47063. func (s UnassignPrivateIpAddressesInput) GoString() string {
  47064. return s.String()
  47065. }
  47066. // Validate inspects the fields of the type to determine if they are valid.
  47067. func (s *UnassignPrivateIpAddressesInput) Validate() error {
  47068. invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
  47069. if s.NetworkInterfaceId == nil {
  47070. invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
  47071. }
  47072. if s.PrivateIpAddresses == nil {
  47073. invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
  47074. }
  47075. if invalidParams.Len() > 0 {
  47076. return invalidParams
  47077. }
  47078. return nil
  47079. }
  47080. // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
  47081. func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
  47082. s.NetworkInterfaceId = &v
  47083. return s
  47084. }
  47085. // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
  47086. func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
  47087. s.PrivateIpAddresses = v
  47088. return s
  47089. }
  47090. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddressesOutput
  47091. type UnassignPrivateIpAddressesOutput struct {
  47092. _ struct{} `type:"structure"`
  47093. }
  47094. // String returns the string representation
  47095. func (s UnassignPrivateIpAddressesOutput) String() string {
  47096. return awsutil.Prettify(s)
  47097. }
  47098. // GoString returns the string representation
  47099. func (s UnassignPrivateIpAddressesOutput) GoString() string {
  47100. return s.String()
  47101. }
  47102. // Contains the parameters for UnmonitorInstances.
  47103. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesRequest
  47104. type UnmonitorInstancesInput struct {
  47105. _ struct{} `type:"structure"`
  47106. // Checks whether you have the required permissions for the action, without
  47107. // actually making the request, and provides an error response. If you have
  47108. // the required permissions, the error response is DryRunOperation. Otherwise,
  47109. // it is UnauthorizedOperation.
  47110. DryRun *bool `locationName:"dryRun" type:"boolean"`
  47111. // One or more instance IDs.
  47112. //
  47113. // InstanceIds is a required field
  47114. InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
  47115. }
  47116. // String returns the string representation
  47117. func (s UnmonitorInstancesInput) String() string {
  47118. return awsutil.Prettify(s)
  47119. }
  47120. // GoString returns the string representation
  47121. func (s UnmonitorInstancesInput) GoString() string {
  47122. return s.String()
  47123. }
  47124. // Validate inspects the fields of the type to determine if they are valid.
  47125. func (s *UnmonitorInstancesInput) Validate() error {
  47126. invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
  47127. if s.InstanceIds == nil {
  47128. invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
  47129. }
  47130. if invalidParams.Len() > 0 {
  47131. return invalidParams
  47132. }
  47133. return nil
  47134. }
  47135. // SetDryRun sets the DryRun field's value.
  47136. func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
  47137. s.DryRun = &v
  47138. return s
  47139. }
  47140. // SetInstanceIds sets the InstanceIds field's value.
  47141. func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
  47142. s.InstanceIds = v
  47143. return s
  47144. }
  47145. // Contains the output of UnmonitorInstances.
  47146. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstancesResult
  47147. type UnmonitorInstancesOutput struct {
  47148. _ struct{} `type:"structure"`
  47149. // The monitoring information.
  47150. InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
  47151. }
  47152. // String returns the string representation
  47153. func (s UnmonitorInstancesOutput) String() string {
  47154. return awsutil.Prettify(s)
  47155. }
  47156. // GoString returns the string representation
  47157. func (s UnmonitorInstancesOutput) GoString() string {
  47158. return s.String()
  47159. }
  47160. // SetInstanceMonitorings sets the InstanceMonitorings field's value.
  47161. func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
  47162. s.InstanceMonitorings = v
  47163. return s
  47164. }
  47165. // Information about items that were not successfully processed in a batch call.
  47166. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItem
  47167. type UnsuccessfulItem struct {
  47168. _ struct{} `type:"structure"`
  47169. // Information about the error.
  47170. //
  47171. // Error is a required field
  47172. Error *UnsuccessfulItemError `locationName:"error" type:"structure" required:"true"`
  47173. // The ID of the resource.
  47174. ResourceId *string `locationName:"resourceId" type:"string"`
  47175. }
  47176. // String returns the string representation
  47177. func (s UnsuccessfulItem) String() string {
  47178. return awsutil.Prettify(s)
  47179. }
  47180. // GoString returns the string representation
  47181. func (s UnsuccessfulItem) GoString() string {
  47182. return s.String()
  47183. }
  47184. // SetError sets the Error field's value.
  47185. func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
  47186. s.Error = v
  47187. return s
  47188. }
  47189. // SetResourceId sets the ResourceId field's value.
  47190. func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
  47191. s.ResourceId = &v
  47192. return s
  47193. }
  47194. // Information about the error that occurred. For more information about errors,
  47195. // see Error Codes (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
  47196. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnsuccessfulItemError
  47197. type UnsuccessfulItemError struct {
  47198. _ struct{} `type:"structure"`
  47199. // The error code.
  47200. //
  47201. // Code is a required field
  47202. Code *string `locationName:"code" type:"string" required:"true"`
  47203. // The error message accompanying the error code.
  47204. //
  47205. // Message is a required field
  47206. Message *string `locationName:"message" type:"string" required:"true"`
  47207. }
  47208. // String returns the string representation
  47209. func (s UnsuccessfulItemError) String() string {
  47210. return awsutil.Prettify(s)
  47211. }
  47212. // GoString returns the string representation
  47213. func (s UnsuccessfulItemError) GoString() string {
  47214. return s.String()
  47215. }
  47216. // SetCode sets the Code field's value.
  47217. func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
  47218. s.Code = &v
  47219. return s
  47220. }
  47221. // SetMessage sets the Message field's value.
  47222. func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
  47223. s.Message = &v
  47224. return s
  47225. }
  47226. // Describes the S3 bucket for the disk image.
  47227. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucket
  47228. type UserBucket struct {
  47229. _ struct{} `type:"structure"`
  47230. // The name of the S3 bucket where the disk image is located.
  47231. S3Bucket *string `type:"string"`
  47232. // The file name of the disk image.
  47233. S3Key *string `type:"string"`
  47234. }
  47235. // String returns the string representation
  47236. func (s UserBucket) String() string {
  47237. return awsutil.Prettify(s)
  47238. }
  47239. // GoString returns the string representation
  47240. func (s UserBucket) GoString() string {
  47241. return s.String()
  47242. }
  47243. // SetS3Bucket sets the S3Bucket field's value.
  47244. func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
  47245. s.S3Bucket = &v
  47246. return s
  47247. }
  47248. // SetS3Key sets the S3Key field's value.
  47249. func (s *UserBucket) SetS3Key(v string) *UserBucket {
  47250. s.S3Key = &v
  47251. return s
  47252. }
  47253. // Describes the S3 bucket for the disk image.
  47254. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserBucketDetails
  47255. type UserBucketDetails struct {
  47256. _ struct{} `type:"structure"`
  47257. // The S3 bucket from which the disk image was created.
  47258. S3Bucket *string `locationName:"s3Bucket" type:"string"`
  47259. // The file name of the disk image.
  47260. S3Key *string `locationName:"s3Key" type:"string"`
  47261. }
  47262. // String returns the string representation
  47263. func (s UserBucketDetails) String() string {
  47264. return awsutil.Prettify(s)
  47265. }
  47266. // GoString returns the string representation
  47267. func (s UserBucketDetails) GoString() string {
  47268. return s.String()
  47269. }
  47270. // SetS3Bucket sets the S3Bucket field's value.
  47271. func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
  47272. s.S3Bucket = &v
  47273. return s
  47274. }
  47275. // SetS3Key sets the S3Key field's value.
  47276. func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
  47277. s.S3Key = &v
  47278. return s
  47279. }
  47280. // Describes the user data for an instance.
  47281. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserData
  47282. type UserData struct {
  47283. _ struct{} `type:"structure"`
  47284. // The user data. If you are using an AWS SDK or command line tool, Base64-encoding
  47285. // is performed for you, and you can load the text from a file. Otherwise, you
  47286. // must provide Base64-encoded text.
  47287. Data *string `locationName:"data" type:"string"`
  47288. }
  47289. // String returns the string representation
  47290. func (s UserData) String() string {
  47291. return awsutil.Prettify(s)
  47292. }
  47293. // GoString returns the string representation
  47294. func (s UserData) GoString() string {
  47295. return s.String()
  47296. }
  47297. // SetData sets the Data field's value.
  47298. func (s *UserData) SetData(v string) *UserData {
  47299. s.Data = &v
  47300. return s
  47301. }
  47302. // Describes a security group and AWS account ID pair.
  47303. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UserIdGroupPair
  47304. type UserIdGroupPair struct {
  47305. _ struct{} `type:"structure"`
  47306. // The ID of the security group.
  47307. GroupId *string `locationName:"groupId" type:"string"`
  47308. // The name of the security group. In a request, use this parameter for a security
  47309. // group in EC2-Classic or a default VPC only. For a security group in a nondefault
  47310. // VPC, use the security group ID.
  47311. GroupName *string `locationName:"groupName" type:"string"`
  47312. // The status of a VPC peering connection, if applicable.
  47313. PeeringStatus *string `locationName:"peeringStatus" type:"string"`
  47314. // The ID of an AWS account. For a referenced security group in another VPC,
  47315. // the account ID of the referenced security group is returned.
  47316. //
  47317. // [EC2-Classic] Required when adding or removing rules that reference a security
  47318. // group in another AWS account.
  47319. UserId *string `locationName:"userId" type:"string"`
  47320. // The ID of the VPC for the referenced security group, if applicable.
  47321. VpcId *string `locationName:"vpcId" type:"string"`
  47322. // The ID of the VPC peering connection, if applicable.
  47323. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  47324. }
  47325. // String returns the string representation
  47326. func (s UserIdGroupPair) String() string {
  47327. return awsutil.Prettify(s)
  47328. }
  47329. // GoString returns the string representation
  47330. func (s UserIdGroupPair) GoString() string {
  47331. return s.String()
  47332. }
  47333. // SetGroupId sets the GroupId field's value.
  47334. func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
  47335. s.GroupId = &v
  47336. return s
  47337. }
  47338. // SetGroupName sets the GroupName field's value.
  47339. func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
  47340. s.GroupName = &v
  47341. return s
  47342. }
  47343. // SetPeeringStatus sets the PeeringStatus field's value.
  47344. func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
  47345. s.PeeringStatus = &v
  47346. return s
  47347. }
  47348. // SetUserId sets the UserId field's value.
  47349. func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
  47350. s.UserId = &v
  47351. return s
  47352. }
  47353. // SetVpcId sets the VpcId field's value.
  47354. func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
  47355. s.VpcId = &v
  47356. return s
  47357. }
  47358. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  47359. func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
  47360. s.VpcPeeringConnectionId = &v
  47361. return s
  47362. }
  47363. // Describes telemetry for a VPN tunnel.
  47364. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VgwTelemetry
  47365. type VgwTelemetry struct {
  47366. _ struct{} `type:"structure"`
  47367. // The number of accepted routes.
  47368. AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
  47369. // The date and time of the last change in status.
  47370. LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp" timestampFormat:"iso8601"`
  47371. // The Internet-routable IP address of the virtual private gateway's outside
  47372. // interface.
  47373. OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
  47374. // The status of the VPN tunnel.
  47375. Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
  47376. // If an error occurs, a description of the error.
  47377. StatusMessage *string `locationName:"statusMessage" type:"string"`
  47378. }
  47379. // String returns the string representation
  47380. func (s VgwTelemetry) String() string {
  47381. return awsutil.Prettify(s)
  47382. }
  47383. // GoString returns the string representation
  47384. func (s VgwTelemetry) GoString() string {
  47385. return s.String()
  47386. }
  47387. // SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
  47388. func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
  47389. s.AcceptedRouteCount = &v
  47390. return s
  47391. }
  47392. // SetLastStatusChange sets the LastStatusChange field's value.
  47393. func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
  47394. s.LastStatusChange = &v
  47395. return s
  47396. }
  47397. // SetOutsideIpAddress sets the OutsideIpAddress field's value.
  47398. func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
  47399. s.OutsideIpAddress = &v
  47400. return s
  47401. }
  47402. // SetStatus sets the Status field's value.
  47403. func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
  47404. s.Status = &v
  47405. return s
  47406. }
  47407. // SetStatusMessage sets the StatusMessage field's value.
  47408. func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
  47409. s.StatusMessage = &v
  47410. return s
  47411. }
  47412. // Describes a volume.
  47413. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Volume
  47414. type Volume struct {
  47415. _ struct{} `type:"structure"`
  47416. // Information about the volume attachments.
  47417. Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
  47418. // The Availability Zone for the volume.
  47419. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47420. // The time stamp when volume creation was initiated.
  47421. CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601"`
  47422. // Indicates whether the volume will be encrypted.
  47423. Encrypted *bool `locationName:"encrypted" type:"boolean"`
  47424. // The number of I/O operations per second (IOPS) that the volume supports.
  47425. // For Provisioned IOPS SSD volumes, this represents the number of IOPS that
  47426. // are provisioned for the volume. For General Purpose SSD volumes, this represents
  47427. // the baseline performance of the volume and the rate at which the volume accumulates
  47428. // I/O credits for bursting. For more information on General Purpose SSD baseline
  47429. // performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
  47430. // in the Amazon Elastic Compute Cloud User Guide.
  47431. //
  47432. // Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
  47433. // gp2 volumes.
  47434. //
  47435. // Condition: This parameter is required for requests to create io1 volumes;
  47436. // it is not used in requests to create gp2, st1, sc1, or standard volumes.
  47437. Iops *int64 `locationName:"iops" type:"integer"`
  47438. // The full ARN of the AWS Key Management Service (AWS KMS) customer master
  47439. // key (CMK) that was used to protect the volume encryption key for the volume.
  47440. KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  47441. // The size of the volume, in GiBs.
  47442. Size *int64 `locationName:"size" type:"integer"`
  47443. // The snapshot from which the volume was created, if applicable.
  47444. SnapshotId *string `locationName:"snapshotId" type:"string"`
  47445. // The volume state.
  47446. State *string `locationName:"status" type:"string" enum:"VolumeState"`
  47447. // Any tags assigned to the volume.
  47448. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47449. // The ID of the volume.
  47450. VolumeId *string `locationName:"volumeId" type:"string"`
  47451. // The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
  47452. // IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
  47453. // for Magnetic volumes.
  47454. VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
  47455. }
  47456. // String returns the string representation
  47457. func (s Volume) String() string {
  47458. return awsutil.Prettify(s)
  47459. }
  47460. // GoString returns the string representation
  47461. func (s Volume) GoString() string {
  47462. return s.String()
  47463. }
  47464. // SetAttachments sets the Attachments field's value.
  47465. func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
  47466. s.Attachments = v
  47467. return s
  47468. }
  47469. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47470. func (s *Volume) SetAvailabilityZone(v string) *Volume {
  47471. s.AvailabilityZone = &v
  47472. return s
  47473. }
  47474. // SetCreateTime sets the CreateTime field's value.
  47475. func (s *Volume) SetCreateTime(v time.Time) *Volume {
  47476. s.CreateTime = &v
  47477. return s
  47478. }
  47479. // SetEncrypted sets the Encrypted field's value.
  47480. func (s *Volume) SetEncrypted(v bool) *Volume {
  47481. s.Encrypted = &v
  47482. return s
  47483. }
  47484. // SetIops sets the Iops field's value.
  47485. func (s *Volume) SetIops(v int64) *Volume {
  47486. s.Iops = &v
  47487. return s
  47488. }
  47489. // SetKmsKeyId sets the KmsKeyId field's value.
  47490. func (s *Volume) SetKmsKeyId(v string) *Volume {
  47491. s.KmsKeyId = &v
  47492. return s
  47493. }
  47494. // SetSize sets the Size field's value.
  47495. func (s *Volume) SetSize(v int64) *Volume {
  47496. s.Size = &v
  47497. return s
  47498. }
  47499. // SetSnapshotId sets the SnapshotId field's value.
  47500. func (s *Volume) SetSnapshotId(v string) *Volume {
  47501. s.SnapshotId = &v
  47502. return s
  47503. }
  47504. // SetState sets the State field's value.
  47505. func (s *Volume) SetState(v string) *Volume {
  47506. s.State = &v
  47507. return s
  47508. }
  47509. // SetTags sets the Tags field's value.
  47510. func (s *Volume) SetTags(v []*Tag) *Volume {
  47511. s.Tags = v
  47512. return s
  47513. }
  47514. // SetVolumeId sets the VolumeId field's value.
  47515. func (s *Volume) SetVolumeId(v string) *Volume {
  47516. s.VolumeId = &v
  47517. return s
  47518. }
  47519. // SetVolumeType sets the VolumeType field's value.
  47520. func (s *Volume) SetVolumeType(v string) *Volume {
  47521. s.VolumeType = &v
  47522. return s
  47523. }
  47524. // Describes volume attachment details.
  47525. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeAttachment
  47526. type VolumeAttachment struct {
  47527. _ struct{} `type:"structure"`
  47528. // The time stamp when the attachment initiated.
  47529. AttachTime *time.Time `locationName:"attachTime" type:"timestamp" timestampFormat:"iso8601"`
  47530. // Indicates whether the EBS volume is deleted on instance termination.
  47531. DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
  47532. // The device name.
  47533. Device *string `locationName:"device" type:"string"`
  47534. // The ID of the instance.
  47535. InstanceId *string `locationName:"instanceId" type:"string"`
  47536. // The attachment state of the volume.
  47537. State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
  47538. // The ID of the volume.
  47539. VolumeId *string `locationName:"volumeId" type:"string"`
  47540. }
  47541. // String returns the string representation
  47542. func (s VolumeAttachment) String() string {
  47543. return awsutil.Prettify(s)
  47544. }
  47545. // GoString returns the string representation
  47546. func (s VolumeAttachment) GoString() string {
  47547. return s.String()
  47548. }
  47549. // SetAttachTime sets the AttachTime field's value.
  47550. func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
  47551. s.AttachTime = &v
  47552. return s
  47553. }
  47554. // SetDeleteOnTermination sets the DeleteOnTermination field's value.
  47555. func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
  47556. s.DeleteOnTermination = &v
  47557. return s
  47558. }
  47559. // SetDevice sets the Device field's value.
  47560. func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
  47561. s.Device = &v
  47562. return s
  47563. }
  47564. // SetInstanceId sets the InstanceId field's value.
  47565. func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
  47566. s.InstanceId = &v
  47567. return s
  47568. }
  47569. // SetState sets the State field's value.
  47570. func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
  47571. s.State = &v
  47572. return s
  47573. }
  47574. // SetVolumeId sets the VolumeId field's value.
  47575. func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
  47576. s.VolumeId = &v
  47577. return s
  47578. }
  47579. // Describes an EBS volume.
  47580. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeDetail
  47581. type VolumeDetail struct {
  47582. _ struct{} `type:"structure"`
  47583. // The size of the volume, in GiB.
  47584. //
  47585. // Size is a required field
  47586. Size *int64 `locationName:"size" type:"long" required:"true"`
  47587. }
  47588. // String returns the string representation
  47589. func (s VolumeDetail) String() string {
  47590. return awsutil.Prettify(s)
  47591. }
  47592. // GoString returns the string representation
  47593. func (s VolumeDetail) GoString() string {
  47594. return s.String()
  47595. }
  47596. // Validate inspects the fields of the type to determine if they are valid.
  47597. func (s *VolumeDetail) Validate() error {
  47598. invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
  47599. if s.Size == nil {
  47600. invalidParams.Add(request.NewErrParamRequired("Size"))
  47601. }
  47602. if invalidParams.Len() > 0 {
  47603. return invalidParams
  47604. }
  47605. return nil
  47606. }
  47607. // SetSize sets the Size field's value.
  47608. func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
  47609. s.Size = &v
  47610. return s
  47611. }
  47612. // Describes the modification status of an EBS volume.
  47613. //
  47614. // If the volume has never been modified, some element values will be null.
  47615. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeModification
  47616. type VolumeModification struct {
  47617. _ struct{} `type:"structure"`
  47618. // Modification completion or failure time.
  47619. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"`
  47620. // Current state of modification. Modification state is null for unmodified
  47621. // volumes.
  47622. ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
  47623. // Original IOPS rate of the volume being modified.
  47624. OriginalIops *int64 `locationName:"originalIops" type:"integer"`
  47625. // Original size of the volume being modified.
  47626. OriginalSize *int64 `locationName:"originalSize" type:"integer"`
  47627. // Original EBS volume type of the volume being modified.
  47628. OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
  47629. // Modification progress from 0 to 100%.
  47630. Progress *int64 `locationName:"progress" type:"long"`
  47631. // Modification start time
  47632. StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"`
  47633. // Generic status message on modification progress or failure.
  47634. StatusMessage *string `locationName:"statusMessage" type:"string"`
  47635. // Target IOPS rate of the volume being modified.
  47636. TargetIops *int64 `locationName:"targetIops" type:"integer"`
  47637. // Target size of the volume being modified.
  47638. TargetSize *int64 `locationName:"targetSize" type:"integer"`
  47639. // Target EBS volume type of the volume being modified.
  47640. TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
  47641. // ID of the volume being modified.
  47642. VolumeId *string `locationName:"volumeId" type:"string"`
  47643. }
  47644. // String returns the string representation
  47645. func (s VolumeModification) String() string {
  47646. return awsutil.Prettify(s)
  47647. }
  47648. // GoString returns the string representation
  47649. func (s VolumeModification) GoString() string {
  47650. return s.String()
  47651. }
  47652. // SetEndTime sets the EndTime field's value.
  47653. func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
  47654. s.EndTime = &v
  47655. return s
  47656. }
  47657. // SetModificationState sets the ModificationState field's value.
  47658. func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
  47659. s.ModificationState = &v
  47660. return s
  47661. }
  47662. // SetOriginalIops sets the OriginalIops field's value.
  47663. func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
  47664. s.OriginalIops = &v
  47665. return s
  47666. }
  47667. // SetOriginalSize sets the OriginalSize field's value.
  47668. func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
  47669. s.OriginalSize = &v
  47670. return s
  47671. }
  47672. // SetOriginalVolumeType sets the OriginalVolumeType field's value.
  47673. func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
  47674. s.OriginalVolumeType = &v
  47675. return s
  47676. }
  47677. // SetProgress sets the Progress field's value.
  47678. func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
  47679. s.Progress = &v
  47680. return s
  47681. }
  47682. // SetStartTime sets the StartTime field's value.
  47683. func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
  47684. s.StartTime = &v
  47685. return s
  47686. }
  47687. // SetStatusMessage sets the StatusMessage field's value.
  47688. func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
  47689. s.StatusMessage = &v
  47690. return s
  47691. }
  47692. // SetTargetIops sets the TargetIops field's value.
  47693. func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
  47694. s.TargetIops = &v
  47695. return s
  47696. }
  47697. // SetTargetSize sets the TargetSize field's value.
  47698. func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
  47699. s.TargetSize = &v
  47700. return s
  47701. }
  47702. // SetTargetVolumeType sets the TargetVolumeType field's value.
  47703. func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
  47704. s.TargetVolumeType = &v
  47705. return s
  47706. }
  47707. // SetVolumeId sets the VolumeId field's value.
  47708. func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
  47709. s.VolumeId = &v
  47710. return s
  47711. }
  47712. // Describes a volume status operation code.
  47713. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusAction
  47714. type VolumeStatusAction struct {
  47715. _ struct{} `type:"structure"`
  47716. // The code identifying the operation, for example, enable-volume-io.
  47717. Code *string `locationName:"code" type:"string"`
  47718. // A description of the operation.
  47719. Description *string `locationName:"description" type:"string"`
  47720. // The ID of the event associated with this operation.
  47721. EventId *string `locationName:"eventId" type:"string"`
  47722. // The event type associated with this operation.
  47723. EventType *string `locationName:"eventType" type:"string"`
  47724. }
  47725. // String returns the string representation
  47726. func (s VolumeStatusAction) String() string {
  47727. return awsutil.Prettify(s)
  47728. }
  47729. // GoString returns the string representation
  47730. func (s VolumeStatusAction) GoString() string {
  47731. return s.String()
  47732. }
  47733. // SetCode sets the Code field's value.
  47734. func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
  47735. s.Code = &v
  47736. return s
  47737. }
  47738. // SetDescription sets the Description field's value.
  47739. func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
  47740. s.Description = &v
  47741. return s
  47742. }
  47743. // SetEventId sets the EventId field's value.
  47744. func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
  47745. s.EventId = &v
  47746. return s
  47747. }
  47748. // SetEventType sets the EventType field's value.
  47749. func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
  47750. s.EventType = &v
  47751. return s
  47752. }
  47753. // Describes a volume status.
  47754. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusDetails
  47755. type VolumeStatusDetails struct {
  47756. _ struct{} `type:"structure"`
  47757. // The name of the volume status.
  47758. Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
  47759. // The intended status of the volume status.
  47760. Status *string `locationName:"status" type:"string"`
  47761. }
  47762. // String returns the string representation
  47763. func (s VolumeStatusDetails) String() string {
  47764. return awsutil.Prettify(s)
  47765. }
  47766. // GoString returns the string representation
  47767. func (s VolumeStatusDetails) GoString() string {
  47768. return s.String()
  47769. }
  47770. // SetName sets the Name field's value.
  47771. func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
  47772. s.Name = &v
  47773. return s
  47774. }
  47775. // SetStatus sets the Status field's value.
  47776. func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
  47777. s.Status = &v
  47778. return s
  47779. }
  47780. // Describes a volume status event.
  47781. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusEvent
  47782. type VolumeStatusEvent struct {
  47783. _ struct{} `type:"structure"`
  47784. // A description of the event.
  47785. Description *string `locationName:"description" type:"string"`
  47786. // The ID of this event.
  47787. EventId *string `locationName:"eventId" type:"string"`
  47788. // The type of this event.
  47789. EventType *string `locationName:"eventType" type:"string"`
  47790. // The latest end time of the event.
  47791. NotAfter *time.Time `locationName:"notAfter" type:"timestamp" timestampFormat:"iso8601"`
  47792. // The earliest start time of the event.
  47793. NotBefore *time.Time `locationName:"notBefore" type:"timestamp" timestampFormat:"iso8601"`
  47794. }
  47795. // String returns the string representation
  47796. func (s VolumeStatusEvent) String() string {
  47797. return awsutil.Prettify(s)
  47798. }
  47799. // GoString returns the string representation
  47800. func (s VolumeStatusEvent) GoString() string {
  47801. return s.String()
  47802. }
  47803. // SetDescription sets the Description field's value.
  47804. func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
  47805. s.Description = &v
  47806. return s
  47807. }
  47808. // SetEventId sets the EventId field's value.
  47809. func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
  47810. s.EventId = &v
  47811. return s
  47812. }
  47813. // SetEventType sets the EventType field's value.
  47814. func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
  47815. s.EventType = &v
  47816. return s
  47817. }
  47818. // SetNotAfter sets the NotAfter field's value.
  47819. func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
  47820. s.NotAfter = &v
  47821. return s
  47822. }
  47823. // SetNotBefore sets the NotBefore field's value.
  47824. func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
  47825. s.NotBefore = &v
  47826. return s
  47827. }
  47828. // Describes the status of a volume.
  47829. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusInfo
  47830. type VolumeStatusInfo struct {
  47831. _ struct{} `type:"structure"`
  47832. // The details of the volume status.
  47833. Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
  47834. // The status of the volume.
  47835. Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
  47836. }
  47837. // String returns the string representation
  47838. func (s VolumeStatusInfo) String() string {
  47839. return awsutil.Prettify(s)
  47840. }
  47841. // GoString returns the string representation
  47842. func (s VolumeStatusInfo) GoString() string {
  47843. return s.String()
  47844. }
  47845. // SetDetails sets the Details field's value.
  47846. func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
  47847. s.Details = v
  47848. return s
  47849. }
  47850. // SetStatus sets the Status field's value.
  47851. func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
  47852. s.Status = &v
  47853. return s
  47854. }
  47855. // Describes the volume status.
  47856. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VolumeStatusItem
  47857. type VolumeStatusItem struct {
  47858. _ struct{} `type:"structure"`
  47859. // The details of the operation.
  47860. Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
  47861. // The Availability Zone of the volume.
  47862. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  47863. // A list of events associated with the volume.
  47864. Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
  47865. // The volume ID.
  47866. VolumeId *string `locationName:"volumeId" type:"string"`
  47867. // The volume status.
  47868. VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
  47869. }
  47870. // String returns the string representation
  47871. func (s VolumeStatusItem) String() string {
  47872. return awsutil.Prettify(s)
  47873. }
  47874. // GoString returns the string representation
  47875. func (s VolumeStatusItem) GoString() string {
  47876. return s.String()
  47877. }
  47878. // SetActions sets the Actions field's value.
  47879. func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
  47880. s.Actions = v
  47881. return s
  47882. }
  47883. // SetAvailabilityZone sets the AvailabilityZone field's value.
  47884. func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
  47885. s.AvailabilityZone = &v
  47886. return s
  47887. }
  47888. // SetEvents sets the Events field's value.
  47889. func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
  47890. s.Events = v
  47891. return s
  47892. }
  47893. // SetVolumeId sets the VolumeId field's value.
  47894. func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
  47895. s.VolumeId = &v
  47896. return s
  47897. }
  47898. // SetVolumeStatus sets the VolumeStatus field's value.
  47899. func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
  47900. s.VolumeStatus = v
  47901. return s
  47902. }
  47903. // Describes a VPC.
  47904. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/Vpc
  47905. type Vpc struct {
  47906. _ struct{} `type:"structure"`
  47907. // The IPv4 CIDR block for the VPC.
  47908. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  47909. // The ID of the set of DHCP options you've associated with the VPC (or default
  47910. // if the default options are associated with the VPC).
  47911. DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
  47912. // The allowed tenancy of instances launched into the VPC.
  47913. InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
  47914. // Information about the IPv6 CIDR blocks associated with the VPC.
  47915. Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
  47916. // Indicates whether the VPC is the default VPC.
  47917. IsDefault *bool `locationName:"isDefault" type:"boolean"`
  47918. // The current state of the VPC.
  47919. State *string `locationName:"state" type:"string" enum:"VpcState"`
  47920. // Any tags assigned to the VPC.
  47921. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  47922. // The ID of the VPC.
  47923. VpcId *string `locationName:"vpcId" type:"string"`
  47924. }
  47925. // String returns the string representation
  47926. func (s Vpc) String() string {
  47927. return awsutil.Prettify(s)
  47928. }
  47929. // GoString returns the string representation
  47930. func (s Vpc) GoString() string {
  47931. return s.String()
  47932. }
  47933. // SetCidrBlock sets the CidrBlock field's value.
  47934. func (s *Vpc) SetCidrBlock(v string) *Vpc {
  47935. s.CidrBlock = &v
  47936. return s
  47937. }
  47938. // SetDhcpOptionsId sets the DhcpOptionsId field's value.
  47939. func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
  47940. s.DhcpOptionsId = &v
  47941. return s
  47942. }
  47943. // SetInstanceTenancy sets the InstanceTenancy field's value.
  47944. func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
  47945. s.InstanceTenancy = &v
  47946. return s
  47947. }
  47948. // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
  47949. func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
  47950. s.Ipv6CidrBlockAssociationSet = v
  47951. return s
  47952. }
  47953. // SetIsDefault sets the IsDefault field's value.
  47954. func (s *Vpc) SetIsDefault(v bool) *Vpc {
  47955. s.IsDefault = &v
  47956. return s
  47957. }
  47958. // SetState sets the State field's value.
  47959. func (s *Vpc) SetState(v string) *Vpc {
  47960. s.State = &v
  47961. return s
  47962. }
  47963. // SetTags sets the Tags field's value.
  47964. func (s *Vpc) SetTags(v []*Tag) *Vpc {
  47965. s.Tags = v
  47966. return s
  47967. }
  47968. // SetVpcId sets the VpcId field's value.
  47969. func (s *Vpc) SetVpcId(v string) *Vpc {
  47970. s.VpcId = &v
  47971. return s
  47972. }
  47973. // Describes an attachment between a virtual private gateway and a VPC.
  47974. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcAttachment
  47975. type VpcAttachment struct {
  47976. _ struct{} `type:"structure"`
  47977. // The current state of the attachment.
  47978. State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
  47979. // The ID of the VPC.
  47980. VpcId *string `locationName:"vpcId" type:"string"`
  47981. }
  47982. // String returns the string representation
  47983. func (s VpcAttachment) String() string {
  47984. return awsutil.Prettify(s)
  47985. }
  47986. // GoString returns the string representation
  47987. func (s VpcAttachment) GoString() string {
  47988. return s.String()
  47989. }
  47990. // SetState sets the State field's value.
  47991. func (s *VpcAttachment) SetState(v string) *VpcAttachment {
  47992. s.State = &v
  47993. return s
  47994. }
  47995. // SetVpcId sets the VpcId field's value.
  47996. func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
  47997. s.VpcId = &v
  47998. return s
  47999. }
  48000. // Describes the state of a CIDR block.
  48001. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcCidrBlockState
  48002. type VpcCidrBlockState struct {
  48003. _ struct{} `type:"structure"`
  48004. // The state of the CIDR block.
  48005. State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
  48006. // A message about the status of the CIDR block, if applicable.
  48007. StatusMessage *string `locationName:"statusMessage" type:"string"`
  48008. }
  48009. // String returns the string representation
  48010. func (s VpcCidrBlockState) String() string {
  48011. return awsutil.Prettify(s)
  48012. }
  48013. // GoString returns the string representation
  48014. func (s VpcCidrBlockState) GoString() string {
  48015. return s.String()
  48016. }
  48017. // SetState sets the State field's value.
  48018. func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
  48019. s.State = &v
  48020. return s
  48021. }
  48022. // SetStatusMessage sets the StatusMessage field's value.
  48023. func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
  48024. s.StatusMessage = &v
  48025. return s
  48026. }
  48027. // Describes whether a VPC is enabled for ClassicLink.
  48028. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcClassicLink
  48029. type VpcClassicLink struct {
  48030. _ struct{} `type:"structure"`
  48031. // Indicates whether the VPC is enabled for ClassicLink.
  48032. ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
  48033. // Any tags assigned to the VPC.
  48034. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48035. // The ID of the VPC.
  48036. VpcId *string `locationName:"vpcId" type:"string"`
  48037. }
  48038. // String returns the string representation
  48039. func (s VpcClassicLink) String() string {
  48040. return awsutil.Prettify(s)
  48041. }
  48042. // GoString returns the string representation
  48043. func (s VpcClassicLink) GoString() string {
  48044. return s.String()
  48045. }
  48046. // SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
  48047. func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
  48048. s.ClassicLinkEnabled = &v
  48049. return s
  48050. }
  48051. // SetTags sets the Tags field's value.
  48052. func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
  48053. s.Tags = v
  48054. return s
  48055. }
  48056. // SetVpcId sets the VpcId field's value.
  48057. func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
  48058. s.VpcId = &v
  48059. return s
  48060. }
  48061. // Describes a VPC endpoint.
  48062. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpoint
  48063. type VpcEndpoint struct {
  48064. _ struct{} `type:"structure"`
  48065. // The date and time the VPC endpoint was created.
  48066. CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp" timestampFormat:"iso8601"`
  48067. // The policy document associated with the endpoint.
  48068. PolicyDocument *string `locationName:"policyDocument" type:"string"`
  48069. // One or more route tables associated with the endpoint.
  48070. RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
  48071. // The name of the AWS service to which the endpoint is associated.
  48072. ServiceName *string `locationName:"serviceName" type:"string"`
  48073. // The state of the VPC endpoint.
  48074. State *string `locationName:"state" type:"string" enum:"State"`
  48075. // The ID of the VPC endpoint.
  48076. VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
  48077. // The ID of the VPC to which the endpoint is associated.
  48078. VpcId *string `locationName:"vpcId" type:"string"`
  48079. }
  48080. // String returns the string representation
  48081. func (s VpcEndpoint) String() string {
  48082. return awsutil.Prettify(s)
  48083. }
  48084. // GoString returns the string representation
  48085. func (s VpcEndpoint) GoString() string {
  48086. return s.String()
  48087. }
  48088. // SetCreationTimestamp sets the CreationTimestamp field's value.
  48089. func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
  48090. s.CreationTimestamp = &v
  48091. return s
  48092. }
  48093. // SetPolicyDocument sets the PolicyDocument field's value.
  48094. func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
  48095. s.PolicyDocument = &v
  48096. return s
  48097. }
  48098. // SetRouteTableIds sets the RouteTableIds field's value.
  48099. func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
  48100. s.RouteTableIds = v
  48101. return s
  48102. }
  48103. // SetServiceName sets the ServiceName field's value.
  48104. func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
  48105. s.ServiceName = &v
  48106. return s
  48107. }
  48108. // SetState sets the State field's value.
  48109. func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
  48110. s.State = &v
  48111. return s
  48112. }
  48113. // SetVpcEndpointId sets the VpcEndpointId field's value.
  48114. func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
  48115. s.VpcEndpointId = &v
  48116. return s
  48117. }
  48118. // SetVpcId sets the VpcId field's value.
  48119. func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
  48120. s.VpcId = &v
  48121. return s
  48122. }
  48123. // Describes an IPv6 CIDR block associated with a VPC.
  48124. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcIpv6CidrBlockAssociation
  48125. type VpcIpv6CidrBlockAssociation struct {
  48126. _ struct{} `type:"structure"`
  48127. // The association ID for the IPv6 CIDR block.
  48128. AssociationId *string `locationName:"associationId" type:"string"`
  48129. // The IPv6 CIDR block.
  48130. Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
  48131. // Information about the state of the CIDR block.
  48132. Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
  48133. }
  48134. // String returns the string representation
  48135. func (s VpcIpv6CidrBlockAssociation) String() string {
  48136. return awsutil.Prettify(s)
  48137. }
  48138. // GoString returns the string representation
  48139. func (s VpcIpv6CidrBlockAssociation) GoString() string {
  48140. return s.String()
  48141. }
  48142. // SetAssociationId sets the AssociationId field's value.
  48143. func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
  48144. s.AssociationId = &v
  48145. return s
  48146. }
  48147. // SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
  48148. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
  48149. s.Ipv6CidrBlock = &v
  48150. return s
  48151. }
  48152. // SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
  48153. func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
  48154. s.Ipv6CidrBlockState = v
  48155. return s
  48156. }
  48157. // Describes a VPC peering connection.
  48158. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnection
  48159. type VpcPeeringConnection struct {
  48160. _ struct{} `type:"structure"`
  48161. // Information about the accepter VPC. CIDR block information is not returned
  48162. // when creating a VPC peering connection, or when describing a VPC peering
  48163. // connection that's in the initiating-request or pending-acceptance state.
  48164. AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
  48165. // The time that an unaccepted VPC peering connection will expire.
  48166. ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp" timestampFormat:"iso8601"`
  48167. // Information about the requester VPC.
  48168. RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
  48169. // The status of the VPC peering connection.
  48170. Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
  48171. // Any tags assigned to the resource.
  48172. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48173. // The ID of the VPC peering connection.
  48174. VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
  48175. }
  48176. // String returns the string representation
  48177. func (s VpcPeeringConnection) String() string {
  48178. return awsutil.Prettify(s)
  48179. }
  48180. // GoString returns the string representation
  48181. func (s VpcPeeringConnection) GoString() string {
  48182. return s.String()
  48183. }
  48184. // SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
  48185. func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  48186. s.AccepterVpcInfo = v
  48187. return s
  48188. }
  48189. // SetExpirationTime sets the ExpirationTime field's value.
  48190. func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
  48191. s.ExpirationTime = &v
  48192. return s
  48193. }
  48194. // SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
  48195. func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
  48196. s.RequesterVpcInfo = v
  48197. return s
  48198. }
  48199. // SetStatus sets the Status field's value.
  48200. func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
  48201. s.Status = v
  48202. return s
  48203. }
  48204. // SetTags sets the Tags field's value.
  48205. func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
  48206. s.Tags = v
  48207. return s
  48208. }
  48209. // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
  48210. func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
  48211. s.VpcPeeringConnectionId = &v
  48212. return s
  48213. }
  48214. // Describes the VPC peering connection options.
  48215. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionOptionsDescription
  48216. type VpcPeeringConnectionOptionsDescription struct {
  48217. _ struct{} `type:"structure"`
  48218. // Indicates whether a local VPC can resolve public DNS hostnames to private
  48219. // IP addresses when queried from instances in a peer VPC.
  48220. AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
  48221. // Indicates whether a local ClassicLink connection can communicate with the
  48222. // peer VPC over the VPC peering connection.
  48223. AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
  48224. // Indicates whether a local VPC can communicate with a ClassicLink connection
  48225. // in the peer VPC over the VPC peering connection.
  48226. AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
  48227. }
  48228. // String returns the string representation
  48229. func (s VpcPeeringConnectionOptionsDescription) String() string {
  48230. return awsutil.Prettify(s)
  48231. }
  48232. // GoString returns the string representation
  48233. func (s VpcPeeringConnectionOptionsDescription) GoString() string {
  48234. return s.String()
  48235. }
  48236. // SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
  48237. func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  48238. s.AllowDnsResolutionFromRemoteVpc = &v
  48239. return s
  48240. }
  48241. // SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
  48242. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
  48243. s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
  48244. return s
  48245. }
  48246. // SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
  48247. func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
  48248. s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
  48249. return s
  48250. }
  48251. // Describes the status of a VPC peering connection.
  48252. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionStateReason
  48253. type VpcPeeringConnectionStateReason struct {
  48254. _ struct{} `type:"structure"`
  48255. // The status of the VPC peering connection.
  48256. Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
  48257. // A message that provides more information about the status, if applicable.
  48258. Message *string `locationName:"message" type:"string"`
  48259. }
  48260. // String returns the string representation
  48261. func (s VpcPeeringConnectionStateReason) String() string {
  48262. return awsutil.Prettify(s)
  48263. }
  48264. // GoString returns the string representation
  48265. func (s VpcPeeringConnectionStateReason) GoString() string {
  48266. return s.String()
  48267. }
  48268. // SetCode sets the Code field's value.
  48269. func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
  48270. s.Code = &v
  48271. return s
  48272. }
  48273. // SetMessage sets the Message field's value.
  48274. func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
  48275. s.Message = &v
  48276. return s
  48277. }
  48278. // Describes a VPC in a VPC peering connection.
  48279. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcPeeringConnectionVpcInfo
  48280. type VpcPeeringConnectionVpcInfo struct {
  48281. _ struct{} `type:"structure"`
  48282. // The IPv4 CIDR block for the VPC.
  48283. CidrBlock *string `locationName:"cidrBlock" type:"string"`
  48284. // The IPv6 CIDR block for the VPC.
  48285. Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
  48286. // The AWS account ID of the VPC owner.
  48287. OwnerId *string `locationName:"ownerId" type:"string"`
  48288. // Information about the VPC peering connection options for the accepter or
  48289. // requester VPC.
  48290. PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
  48291. // The ID of the VPC.
  48292. VpcId *string `locationName:"vpcId" type:"string"`
  48293. }
  48294. // String returns the string representation
  48295. func (s VpcPeeringConnectionVpcInfo) String() string {
  48296. return awsutil.Prettify(s)
  48297. }
  48298. // GoString returns the string representation
  48299. func (s VpcPeeringConnectionVpcInfo) GoString() string {
  48300. return s.String()
  48301. }
  48302. // SetCidrBlock sets the CidrBlock field's value.
  48303. func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
  48304. s.CidrBlock = &v
  48305. return s
  48306. }
  48307. // SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
  48308. func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
  48309. s.Ipv6CidrBlockSet = v
  48310. return s
  48311. }
  48312. // SetOwnerId sets the OwnerId field's value.
  48313. func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
  48314. s.OwnerId = &v
  48315. return s
  48316. }
  48317. // SetPeeringOptions sets the PeeringOptions field's value.
  48318. func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
  48319. s.PeeringOptions = v
  48320. return s
  48321. }
  48322. // SetVpcId sets the VpcId field's value.
  48323. func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
  48324. s.VpcId = &v
  48325. return s
  48326. }
  48327. // Describes a VPN connection.
  48328. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnection
  48329. type VpnConnection struct {
  48330. _ struct{} `type:"structure"`
  48331. // The configuration information for the VPN connection's customer gateway (in
  48332. // the native XML format). This element is always present in the CreateVpnConnection
  48333. // response; however, it's present in the DescribeVpnConnections response only
  48334. // if the VPN connection is in the pending or available state.
  48335. CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
  48336. // The ID of the customer gateway at your end of the VPN connection.
  48337. CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
  48338. // The VPN connection options.
  48339. Options *VpnConnectionOptions `locationName:"options" type:"structure"`
  48340. // The static routes associated with the VPN connection.
  48341. Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
  48342. // The current state of the VPN connection.
  48343. State *string `locationName:"state" type:"string" enum:"VpnState"`
  48344. // Any tags assigned to the VPN connection.
  48345. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48346. // The type of VPN connection.
  48347. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  48348. // Information about the VPN tunnel.
  48349. VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
  48350. // The ID of the VPN connection.
  48351. VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
  48352. // The ID of the virtual private gateway at the AWS side of the VPN connection.
  48353. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  48354. }
  48355. // String returns the string representation
  48356. func (s VpnConnection) String() string {
  48357. return awsutil.Prettify(s)
  48358. }
  48359. // GoString returns the string representation
  48360. func (s VpnConnection) GoString() string {
  48361. return s.String()
  48362. }
  48363. // SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
  48364. func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
  48365. s.CustomerGatewayConfiguration = &v
  48366. return s
  48367. }
  48368. // SetCustomerGatewayId sets the CustomerGatewayId field's value.
  48369. func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
  48370. s.CustomerGatewayId = &v
  48371. return s
  48372. }
  48373. // SetOptions sets the Options field's value.
  48374. func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
  48375. s.Options = v
  48376. return s
  48377. }
  48378. // SetRoutes sets the Routes field's value.
  48379. func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
  48380. s.Routes = v
  48381. return s
  48382. }
  48383. // SetState sets the State field's value.
  48384. func (s *VpnConnection) SetState(v string) *VpnConnection {
  48385. s.State = &v
  48386. return s
  48387. }
  48388. // SetTags sets the Tags field's value.
  48389. func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
  48390. s.Tags = v
  48391. return s
  48392. }
  48393. // SetType sets the Type field's value.
  48394. func (s *VpnConnection) SetType(v string) *VpnConnection {
  48395. s.Type = &v
  48396. return s
  48397. }
  48398. // SetVgwTelemetry sets the VgwTelemetry field's value.
  48399. func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
  48400. s.VgwTelemetry = v
  48401. return s
  48402. }
  48403. // SetVpnConnectionId sets the VpnConnectionId field's value.
  48404. func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
  48405. s.VpnConnectionId = &v
  48406. return s
  48407. }
  48408. // SetVpnGatewayId sets the VpnGatewayId field's value.
  48409. func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
  48410. s.VpnGatewayId = &v
  48411. return s
  48412. }
  48413. // Describes VPN connection options.
  48414. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptions
  48415. type VpnConnectionOptions struct {
  48416. _ struct{} `type:"structure"`
  48417. // Indicates whether the VPN connection uses static routes only. Static routes
  48418. // must be used for devices that don't support BGP.
  48419. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  48420. }
  48421. // String returns the string representation
  48422. func (s VpnConnectionOptions) String() string {
  48423. return awsutil.Prettify(s)
  48424. }
  48425. // GoString returns the string representation
  48426. func (s VpnConnectionOptions) GoString() string {
  48427. return s.String()
  48428. }
  48429. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  48430. func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
  48431. s.StaticRoutesOnly = &v
  48432. return s
  48433. }
  48434. // Describes VPN connection options.
  48435. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnConnectionOptionsSpecification
  48436. type VpnConnectionOptionsSpecification struct {
  48437. _ struct{} `type:"structure"`
  48438. // Indicates whether the VPN connection uses static routes only. Static routes
  48439. // must be used for devices that don't support BGP.
  48440. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
  48441. }
  48442. // String returns the string representation
  48443. func (s VpnConnectionOptionsSpecification) String() string {
  48444. return awsutil.Prettify(s)
  48445. }
  48446. // GoString returns the string representation
  48447. func (s VpnConnectionOptionsSpecification) GoString() string {
  48448. return s.String()
  48449. }
  48450. // SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
  48451. func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
  48452. s.StaticRoutesOnly = &v
  48453. return s
  48454. }
  48455. // Describes a virtual private gateway.
  48456. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnGateway
  48457. type VpnGateway struct {
  48458. _ struct{} `type:"structure"`
  48459. // The Availability Zone where the virtual private gateway was created, if applicable.
  48460. // This field may be empty or not returned.
  48461. AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
  48462. // The current state of the virtual private gateway.
  48463. State *string `locationName:"state" type:"string" enum:"VpnState"`
  48464. // Any tags assigned to the virtual private gateway.
  48465. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
  48466. // The type of VPN connection the virtual private gateway supports.
  48467. Type *string `locationName:"type" type:"string" enum:"GatewayType"`
  48468. // Any VPCs attached to the virtual private gateway.
  48469. VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
  48470. // The ID of the virtual private gateway.
  48471. VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
  48472. }
  48473. // String returns the string representation
  48474. func (s VpnGateway) String() string {
  48475. return awsutil.Prettify(s)
  48476. }
  48477. // GoString returns the string representation
  48478. func (s VpnGateway) GoString() string {
  48479. return s.String()
  48480. }
  48481. // SetAvailabilityZone sets the AvailabilityZone field's value.
  48482. func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
  48483. s.AvailabilityZone = &v
  48484. return s
  48485. }
  48486. // SetState sets the State field's value.
  48487. func (s *VpnGateway) SetState(v string) *VpnGateway {
  48488. s.State = &v
  48489. return s
  48490. }
  48491. // SetTags sets the Tags field's value.
  48492. func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
  48493. s.Tags = v
  48494. return s
  48495. }
  48496. // SetType sets the Type field's value.
  48497. func (s *VpnGateway) SetType(v string) *VpnGateway {
  48498. s.Type = &v
  48499. return s
  48500. }
  48501. // SetVpcAttachments sets the VpcAttachments field's value.
  48502. func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
  48503. s.VpcAttachments = v
  48504. return s
  48505. }
  48506. // SetVpnGatewayId sets the VpnGatewayId field's value.
  48507. func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
  48508. s.VpnGatewayId = &v
  48509. return s
  48510. }
  48511. // Describes a static route for a VPN connection.
  48512. // Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpnStaticRoute
  48513. type VpnStaticRoute struct {
  48514. _ struct{} `type:"structure"`
  48515. // The CIDR block associated with the local subnet of the customer data center.
  48516. DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
  48517. // Indicates how the routes were provided.
  48518. Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
  48519. // The current state of the static route.
  48520. State *string `locationName:"state" type:"string" enum:"VpnState"`
  48521. }
  48522. // String returns the string representation
  48523. func (s VpnStaticRoute) String() string {
  48524. return awsutil.Prettify(s)
  48525. }
  48526. // GoString returns the string representation
  48527. func (s VpnStaticRoute) GoString() string {
  48528. return s.String()
  48529. }
  48530. // SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
  48531. func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
  48532. s.DestinationCidrBlock = &v
  48533. return s
  48534. }
  48535. // SetSource sets the Source field's value.
  48536. func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
  48537. s.Source = &v
  48538. return s
  48539. }
  48540. // SetState sets the State field's value.
  48541. func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
  48542. s.State = &v
  48543. return s
  48544. }
  48545. const (
  48546. // AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
  48547. AccountAttributeNameSupportedPlatforms = "supported-platforms"
  48548. // AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
  48549. AccountAttributeNameDefaultVpc = "default-vpc"
  48550. )
  48551. const (
  48552. // ActivityStatusError is a ActivityStatus enum value
  48553. ActivityStatusError = "error"
  48554. // ActivityStatusPendingFulfillment is a ActivityStatus enum value
  48555. ActivityStatusPendingFulfillment = "pending_fulfillment"
  48556. // ActivityStatusPendingTermination is a ActivityStatus enum value
  48557. ActivityStatusPendingTermination = "pending_termination"
  48558. // ActivityStatusFulfilled is a ActivityStatus enum value
  48559. ActivityStatusFulfilled = "fulfilled"
  48560. )
  48561. const (
  48562. // AffinityDefault is a Affinity enum value
  48563. AffinityDefault = "default"
  48564. // AffinityHost is a Affinity enum value
  48565. AffinityHost = "host"
  48566. )
  48567. const (
  48568. // AllocationStateAvailable is a AllocationState enum value
  48569. AllocationStateAvailable = "available"
  48570. // AllocationStateUnderAssessment is a AllocationState enum value
  48571. AllocationStateUnderAssessment = "under-assessment"
  48572. // AllocationStatePermanentFailure is a AllocationState enum value
  48573. AllocationStatePermanentFailure = "permanent-failure"
  48574. // AllocationStateReleased is a AllocationState enum value
  48575. AllocationStateReleased = "released"
  48576. // AllocationStateReleasedPermanentFailure is a AllocationState enum value
  48577. AllocationStateReleasedPermanentFailure = "released-permanent-failure"
  48578. )
  48579. const (
  48580. // AllocationStrategyLowestPrice is a AllocationStrategy enum value
  48581. AllocationStrategyLowestPrice = "lowestPrice"
  48582. // AllocationStrategyDiversified is a AllocationStrategy enum value
  48583. AllocationStrategyDiversified = "diversified"
  48584. )
  48585. const (
  48586. // ArchitectureValuesI386 is a ArchitectureValues enum value
  48587. ArchitectureValuesI386 = "i386"
  48588. // ArchitectureValuesX8664 is a ArchitectureValues enum value
  48589. ArchitectureValuesX8664 = "x86_64"
  48590. )
  48591. const (
  48592. // AttachmentStatusAttaching is a AttachmentStatus enum value
  48593. AttachmentStatusAttaching = "attaching"
  48594. // AttachmentStatusAttached is a AttachmentStatus enum value
  48595. AttachmentStatusAttached = "attached"
  48596. // AttachmentStatusDetaching is a AttachmentStatus enum value
  48597. AttachmentStatusDetaching = "detaching"
  48598. // AttachmentStatusDetached is a AttachmentStatus enum value
  48599. AttachmentStatusDetached = "detached"
  48600. )
  48601. const (
  48602. // AutoPlacementOn is a AutoPlacement enum value
  48603. AutoPlacementOn = "on"
  48604. // AutoPlacementOff is a AutoPlacement enum value
  48605. AutoPlacementOff = "off"
  48606. )
  48607. const (
  48608. // AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
  48609. AvailabilityZoneStateAvailable = "available"
  48610. // AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
  48611. AvailabilityZoneStateInformation = "information"
  48612. // AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
  48613. AvailabilityZoneStateImpaired = "impaired"
  48614. // AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
  48615. AvailabilityZoneStateUnavailable = "unavailable"
  48616. )
  48617. const (
  48618. // BatchStateSubmitted is a BatchState enum value
  48619. BatchStateSubmitted = "submitted"
  48620. // BatchStateActive is a BatchState enum value
  48621. BatchStateActive = "active"
  48622. // BatchStateCancelled is a BatchState enum value
  48623. BatchStateCancelled = "cancelled"
  48624. // BatchStateFailed is a BatchState enum value
  48625. BatchStateFailed = "failed"
  48626. // BatchStateCancelledRunning is a BatchState enum value
  48627. BatchStateCancelledRunning = "cancelled_running"
  48628. // BatchStateCancelledTerminating is a BatchState enum value
  48629. BatchStateCancelledTerminating = "cancelled_terminating"
  48630. // BatchStateModifying is a BatchState enum value
  48631. BatchStateModifying = "modifying"
  48632. )
  48633. const (
  48634. // BundleTaskStatePending is a BundleTaskState enum value
  48635. BundleTaskStatePending = "pending"
  48636. // BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
  48637. BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
  48638. // BundleTaskStateBundling is a BundleTaskState enum value
  48639. BundleTaskStateBundling = "bundling"
  48640. // BundleTaskStateStoring is a BundleTaskState enum value
  48641. BundleTaskStateStoring = "storing"
  48642. // BundleTaskStateCancelling is a BundleTaskState enum value
  48643. BundleTaskStateCancelling = "cancelling"
  48644. // BundleTaskStateComplete is a BundleTaskState enum value
  48645. BundleTaskStateComplete = "complete"
  48646. // BundleTaskStateFailed is a BundleTaskState enum value
  48647. BundleTaskStateFailed = "failed"
  48648. )
  48649. const (
  48650. // CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
  48651. CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
  48652. // CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
  48653. CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
  48654. // CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
  48655. CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
  48656. // CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
  48657. CancelBatchErrorCodeUnexpectedError = "unexpectedError"
  48658. )
  48659. const (
  48660. // CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
  48661. CancelSpotInstanceRequestStateActive = "active"
  48662. // CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
  48663. CancelSpotInstanceRequestStateOpen = "open"
  48664. // CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
  48665. CancelSpotInstanceRequestStateClosed = "closed"
  48666. // CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
  48667. CancelSpotInstanceRequestStateCancelled = "cancelled"
  48668. // CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
  48669. CancelSpotInstanceRequestStateCompleted = "completed"
  48670. )
  48671. const (
  48672. // ContainerFormatOva is a ContainerFormat enum value
  48673. ContainerFormatOva = "ova"
  48674. )
  48675. const (
  48676. // ConversionTaskStateActive is a ConversionTaskState enum value
  48677. ConversionTaskStateActive = "active"
  48678. // ConversionTaskStateCancelling is a ConversionTaskState enum value
  48679. ConversionTaskStateCancelling = "cancelling"
  48680. // ConversionTaskStateCancelled is a ConversionTaskState enum value
  48681. ConversionTaskStateCancelled = "cancelled"
  48682. // ConversionTaskStateCompleted is a ConversionTaskState enum value
  48683. ConversionTaskStateCompleted = "completed"
  48684. )
  48685. const (
  48686. // CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
  48687. CurrencyCodeValuesUsd = "USD"
  48688. )
  48689. const (
  48690. // DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
  48691. DatafeedSubscriptionStateActive = "Active"
  48692. // DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
  48693. DatafeedSubscriptionStateInactive = "Inactive"
  48694. )
  48695. const (
  48696. // DeviceTypeEbs is a DeviceType enum value
  48697. DeviceTypeEbs = "ebs"
  48698. // DeviceTypeInstanceStore is a DeviceType enum value
  48699. DeviceTypeInstanceStore = "instance-store"
  48700. )
  48701. const (
  48702. // DiskImageFormatVmdk is a DiskImageFormat enum value
  48703. DiskImageFormatVmdk = "VMDK"
  48704. // DiskImageFormatRaw is a DiskImageFormat enum value
  48705. DiskImageFormatRaw = "RAW"
  48706. // DiskImageFormatVhd is a DiskImageFormat enum value
  48707. DiskImageFormatVhd = "VHD"
  48708. )
  48709. const (
  48710. // DomainTypeVpc is a DomainType enum value
  48711. DomainTypeVpc = "vpc"
  48712. // DomainTypeStandard is a DomainType enum value
  48713. DomainTypeStandard = "standard"
  48714. )
  48715. const (
  48716. // EventCodeInstanceReboot is a EventCode enum value
  48717. EventCodeInstanceReboot = "instance-reboot"
  48718. // EventCodeSystemReboot is a EventCode enum value
  48719. EventCodeSystemReboot = "system-reboot"
  48720. // EventCodeSystemMaintenance is a EventCode enum value
  48721. EventCodeSystemMaintenance = "system-maintenance"
  48722. // EventCodeInstanceRetirement is a EventCode enum value
  48723. EventCodeInstanceRetirement = "instance-retirement"
  48724. // EventCodeInstanceStop is a EventCode enum value
  48725. EventCodeInstanceStop = "instance-stop"
  48726. )
  48727. const (
  48728. // EventTypeInstanceChange is a EventType enum value
  48729. EventTypeInstanceChange = "instanceChange"
  48730. // EventTypeFleetRequestChange is a EventType enum value
  48731. EventTypeFleetRequestChange = "fleetRequestChange"
  48732. // EventTypeError is a EventType enum value
  48733. EventTypeError = "error"
  48734. )
  48735. const (
  48736. // ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
  48737. ExcessCapacityTerminationPolicyNoTermination = "noTermination"
  48738. // ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
  48739. ExcessCapacityTerminationPolicyDefault = "default"
  48740. )
  48741. const (
  48742. // ExportEnvironmentCitrix is a ExportEnvironment enum value
  48743. ExportEnvironmentCitrix = "citrix"
  48744. // ExportEnvironmentVmware is a ExportEnvironment enum value
  48745. ExportEnvironmentVmware = "vmware"
  48746. // ExportEnvironmentMicrosoft is a ExportEnvironment enum value
  48747. ExportEnvironmentMicrosoft = "microsoft"
  48748. )
  48749. const (
  48750. // ExportTaskStateActive is a ExportTaskState enum value
  48751. ExportTaskStateActive = "active"
  48752. // ExportTaskStateCancelling is a ExportTaskState enum value
  48753. ExportTaskStateCancelling = "cancelling"
  48754. // ExportTaskStateCancelled is a ExportTaskState enum value
  48755. ExportTaskStateCancelled = "cancelled"
  48756. // ExportTaskStateCompleted is a ExportTaskState enum value
  48757. ExportTaskStateCompleted = "completed"
  48758. )
  48759. const (
  48760. // FleetTypeRequest is a FleetType enum value
  48761. FleetTypeRequest = "request"
  48762. // FleetTypeMaintain is a FleetType enum value
  48763. FleetTypeMaintain = "maintain"
  48764. )
  48765. const (
  48766. // FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
  48767. FlowLogsResourceTypeVpc = "VPC"
  48768. // FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
  48769. FlowLogsResourceTypeSubnet = "Subnet"
  48770. // FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
  48771. FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
  48772. )
  48773. const (
  48774. // GatewayTypeIpsec1 is a GatewayType enum value
  48775. GatewayTypeIpsec1 = "ipsec.1"
  48776. )
  48777. const (
  48778. // HostTenancyDedicated is a HostTenancy enum value
  48779. HostTenancyDedicated = "dedicated"
  48780. // HostTenancyHost is a HostTenancy enum value
  48781. HostTenancyHost = "host"
  48782. )
  48783. const (
  48784. // HypervisorTypeOvm is a HypervisorType enum value
  48785. HypervisorTypeOvm = "ovm"
  48786. // HypervisorTypeXen is a HypervisorType enum value
  48787. HypervisorTypeXen = "xen"
  48788. )
  48789. const (
  48790. // IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
  48791. IamInstanceProfileAssociationStateAssociating = "associating"
  48792. // IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
  48793. IamInstanceProfileAssociationStateAssociated = "associated"
  48794. // IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
  48795. IamInstanceProfileAssociationStateDisassociating = "disassociating"
  48796. // IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
  48797. IamInstanceProfileAssociationStateDisassociated = "disassociated"
  48798. )
  48799. const (
  48800. // ImageAttributeNameDescription is a ImageAttributeName enum value
  48801. ImageAttributeNameDescription = "description"
  48802. // ImageAttributeNameKernel is a ImageAttributeName enum value
  48803. ImageAttributeNameKernel = "kernel"
  48804. // ImageAttributeNameRamdisk is a ImageAttributeName enum value
  48805. ImageAttributeNameRamdisk = "ramdisk"
  48806. // ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
  48807. ImageAttributeNameLaunchPermission = "launchPermission"
  48808. // ImageAttributeNameProductCodes is a ImageAttributeName enum value
  48809. ImageAttributeNameProductCodes = "productCodes"
  48810. // ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
  48811. ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  48812. // ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
  48813. ImageAttributeNameSriovNetSupport = "sriovNetSupport"
  48814. )
  48815. const (
  48816. // ImageStatePending is a ImageState enum value
  48817. ImageStatePending = "pending"
  48818. // ImageStateAvailable is a ImageState enum value
  48819. ImageStateAvailable = "available"
  48820. // ImageStateInvalid is a ImageState enum value
  48821. ImageStateInvalid = "invalid"
  48822. // ImageStateDeregistered is a ImageState enum value
  48823. ImageStateDeregistered = "deregistered"
  48824. // ImageStateTransient is a ImageState enum value
  48825. ImageStateTransient = "transient"
  48826. // ImageStateFailed is a ImageState enum value
  48827. ImageStateFailed = "failed"
  48828. // ImageStateError is a ImageState enum value
  48829. ImageStateError = "error"
  48830. )
  48831. const (
  48832. // ImageTypeValuesMachine is a ImageTypeValues enum value
  48833. ImageTypeValuesMachine = "machine"
  48834. // ImageTypeValuesKernel is a ImageTypeValues enum value
  48835. ImageTypeValuesKernel = "kernel"
  48836. // ImageTypeValuesRamdisk is a ImageTypeValues enum value
  48837. ImageTypeValuesRamdisk = "ramdisk"
  48838. )
  48839. const (
  48840. // InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
  48841. InstanceAttributeNameInstanceType = "instanceType"
  48842. // InstanceAttributeNameKernel is a InstanceAttributeName enum value
  48843. InstanceAttributeNameKernel = "kernel"
  48844. // InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
  48845. InstanceAttributeNameRamdisk = "ramdisk"
  48846. // InstanceAttributeNameUserData is a InstanceAttributeName enum value
  48847. InstanceAttributeNameUserData = "userData"
  48848. // InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
  48849. InstanceAttributeNameDisableApiTermination = "disableApiTermination"
  48850. // InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
  48851. InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
  48852. // InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
  48853. InstanceAttributeNameRootDeviceName = "rootDeviceName"
  48854. // InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
  48855. InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
  48856. // InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
  48857. InstanceAttributeNameProductCodes = "productCodes"
  48858. // InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
  48859. InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
  48860. // InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
  48861. InstanceAttributeNameGroupSet = "groupSet"
  48862. // InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
  48863. InstanceAttributeNameEbsOptimized = "ebsOptimized"
  48864. // InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
  48865. InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
  48866. // InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
  48867. InstanceAttributeNameEnaSupport = "enaSupport"
  48868. )
  48869. const (
  48870. // InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
  48871. InstanceHealthStatusHealthy = "healthy"
  48872. // InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
  48873. InstanceHealthStatusUnhealthy = "unhealthy"
  48874. )
  48875. const (
  48876. // InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
  48877. InstanceLifecycleTypeSpot = "spot"
  48878. // InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
  48879. InstanceLifecycleTypeScheduled = "scheduled"
  48880. )
  48881. const (
  48882. // InstanceStateNamePending is a InstanceStateName enum value
  48883. InstanceStateNamePending = "pending"
  48884. // InstanceStateNameRunning is a InstanceStateName enum value
  48885. InstanceStateNameRunning = "running"
  48886. // InstanceStateNameShuttingDown is a InstanceStateName enum value
  48887. InstanceStateNameShuttingDown = "shutting-down"
  48888. // InstanceStateNameTerminated is a InstanceStateName enum value
  48889. InstanceStateNameTerminated = "terminated"
  48890. // InstanceStateNameStopping is a InstanceStateName enum value
  48891. InstanceStateNameStopping = "stopping"
  48892. // InstanceStateNameStopped is a InstanceStateName enum value
  48893. InstanceStateNameStopped = "stopped"
  48894. )
  48895. const (
  48896. // InstanceTypeT1Micro is a InstanceType enum value
  48897. InstanceTypeT1Micro = "t1.micro"
  48898. // InstanceTypeT2Nano is a InstanceType enum value
  48899. InstanceTypeT2Nano = "t2.nano"
  48900. // InstanceTypeT2Micro is a InstanceType enum value
  48901. InstanceTypeT2Micro = "t2.micro"
  48902. // InstanceTypeT2Small is a InstanceType enum value
  48903. InstanceTypeT2Small = "t2.small"
  48904. // InstanceTypeT2Medium is a InstanceType enum value
  48905. InstanceTypeT2Medium = "t2.medium"
  48906. // InstanceTypeT2Large is a InstanceType enum value
  48907. InstanceTypeT2Large = "t2.large"
  48908. // InstanceTypeT2Xlarge is a InstanceType enum value
  48909. InstanceTypeT2Xlarge = "t2.xlarge"
  48910. // InstanceTypeT22xlarge is a InstanceType enum value
  48911. InstanceTypeT22xlarge = "t2.2xlarge"
  48912. // InstanceTypeM1Small is a InstanceType enum value
  48913. InstanceTypeM1Small = "m1.small"
  48914. // InstanceTypeM1Medium is a InstanceType enum value
  48915. InstanceTypeM1Medium = "m1.medium"
  48916. // InstanceTypeM1Large is a InstanceType enum value
  48917. InstanceTypeM1Large = "m1.large"
  48918. // InstanceTypeM1Xlarge is a InstanceType enum value
  48919. InstanceTypeM1Xlarge = "m1.xlarge"
  48920. // InstanceTypeM3Medium is a InstanceType enum value
  48921. InstanceTypeM3Medium = "m3.medium"
  48922. // InstanceTypeM3Large is a InstanceType enum value
  48923. InstanceTypeM3Large = "m3.large"
  48924. // InstanceTypeM3Xlarge is a InstanceType enum value
  48925. InstanceTypeM3Xlarge = "m3.xlarge"
  48926. // InstanceTypeM32xlarge is a InstanceType enum value
  48927. InstanceTypeM32xlarge = "m3.2xlarge"
  48928. // InstanceTypeM4Large is a InstanceType enum value
  48929. InstanceTypeM4Large = "m4.large"
  48930. // InstanceTypeM4Xlarge is a InstanceType enum value
  48931. InstanceTypeM4Xlarge = "m4.xlarge"
  48932. // InstanceTypeM42xlarge is a InstanceType enum value
  48933. InstanceTypeM42xlarge = "m4.2xlarge"
  48934. // InstanceTypeM44xlarge is a InstanceType enum value
  48935. InstanceTypeM44xlarge = "m4.4xlarge"
  48936. // InstanceTypeM410xlarge is a InstanceType enum value
  48937. InstanceTypeM410xlarge = "m4.10xlarge"
  48938. // InstanceTypeM416xlarge is a InstanceType enum value
  48939. InstanceTypeM416xlarge = "m4.16xlarge"
  48940. // InstanceTypeM2Xlarge is a InstanceType enum value
  48941. InstanceTypeM2Xlarge = "m2.xlarge"
  48942. // InstanceTypeM22xlarge is a InstanceType enum value
  48943. InstanceTypeM22xlarge = "m2.2xlarge"
  48944. // InstanceTypeM24xlarge is a InstanceType enum value
  48945. InstanceTypeM24xlarge = "m2.4xlarge"
  48946. // InstanceTypeCr18xlarge is a InstanceType enum value
  48947. InstanceTypeCr18xlarge = "cr1.8xlarge"
  48948. // InstanceTypeR3Large is a InstanceType enum value
  48949. InstanceTypeR3Large = "r3.large"
  48950. // InstanceTypeR3Xlarge is a InstanceType enum value
  48951. InstanceTypeR3Xlarge = "r3.xlarge"
  48952. // InstanceTypeR32xlarge is a InstanceType enum value
  48953. InstanceTypeR32xlarge = "r3.2xlarge"
  48954. // InstanceTypeR34xlarge is a InstanceType enum value
  48955. InstanceTypeR34xlarge = "r3.4xlarge"
  48956. // InstanceTypeR38xlarge is a InstanceType enum value
  48957. InstanceTypeR38xlarge = "r3.8xlarge"
  48958. // InstanceTypeR4Large is a InstanceType enum value
  48959. InstanceTypeR4Large = "r4.large"
  48960. // InstanceTypeR4Xlarge is a InstanceType enum value
  48961. InstanceTypeR4Xlarge = "r4.xlarge"
  48962. // InstanceTypeR42xlarge is a InstanceType enum value
  48963. InstanceTypeR42xlarge = "r4.2xlarge"
  48964. // InstanceTypeR44xlarge is a InstanceType enum value
  48965. InstanceTypeR44xlarge = "r4.4xlarge"
  48966. // InstanceTypeR48xlarge is a InstanceType enum value
  48967. InstanceTypeR48xlarge = "r4.8xlarge"
  48968. // InstanceTypeR416xlarge is a InstanceType enum value
  48969. InstanceTypeR416xlarge = "r4.16xlarge"
  48970. // InstanceTypeX116xlarge is a InstanceType enum value
  48971. InstanceTypeX116xlarge = "x1.16xlarge"
  48972. // InstanceTypeX132xlarge is a InstanceType enum value
  48973. InstanceTypeX132xlarge = "x1.32xlarge"
  48974. // InstanceTypeI2Xlarge is a InstanceType enum value
  48975. InstanceTypeI2Xlarge = "i2.xlarge"
  48976. // InstanceTypeI22xlarge is a InstanceType enum value
  48977. InstanceTypeI22xlarge = "i2.2xlarge"
  48978. // InstanceTypeI24xlarge is a InstanceType enum value
  48979. InstanceTypeI24xlarge = "i2.4xlarge"
  48980. // InstanceTypeI28xlarge is a InstanceType enum value
  48981. InstanceTypeI28xlarge = "i2.8xlarge"
  48982. // InstanceTypeI3Large is a InstanceType enum value
  48983. InstanceTypeI3Large = "i3.large"
  48984. // InstanceTypeI3Xlarge is a InstanceType enum value
  48985. InstanceTypeI3Xlarge = "i3.xlarge"
  48986. // InstanceTypeI32xlarge is a InstanceType enum value
  48987. InstanceTypeI32xlarge = "i3.2xlarge"
  48988. // InstanceTypeI34xlarge is a InstanceType enum value
  48989. InstanceTypeI34xlarge = "i3.4xlarge"
  48990. // InstanceTypeI38xlarge is a InstanceType enum value
  48991. InstanceTypeI38xlarge = "i3.8xlarge"
  48992. // InstanceTypeI316xlarge is a InstanceType enum value
  48993. InstanceTypeI316xlarge = "i3.16xlarge"
  48994. // InstanceTypeHi14xlarge is a InstanceType enum value
  48995. InstanceTypeHi14xlarge = "hi1.4xlarge"
  48996. // InstanceTypeHs18xlarge is a InstanceType enum value
  48997. InstanceTypeHs18xlarge = "hs1.8xlarge"
  48998. // InstanceTypeC1Medium is a InstanceType enum value
  48999. InstanceTypeC1Medium = "c1.medium"
  49000. // InstanceTypeC1Xlarge is a InstanceType enum value
  49001. InstanceTypeC1Xlarge = "c1.xlarge"
  49002. // InstanceTypeC3Large is a InstanceType enum value
  49003. InstanceTypeC3Large = "c3.large"
  49004. // InstanceTypeC3Xlarge is a InstanceType enum value
  49005. InstanceTypeC3Xlarge = "c3.xlarge"
  49006. // InstanceTypeC32xlarge is a InstanceType enum value
  49007. InstanceTypeC32xlarge = "c3.2xlarge"
  49008. // InstanceTypeC34xlarge is a InstanceType enum value
  49009. InstanceTypeC34xlarge = "c3.4xlarge"
  49010. // InstanceTypeC38xlarge is a InstanceType enum value
  49011. InstanceTypeC38xlarge = "c3.8xlarge"
  49012. // InstanceTypeC4Large is a InstanceType enum value
  49013. InstanceTypeC4Large = "c4.large"
  49014. // InstanceTypeC4Xlarge is a InstanceType enum value
  49015. InstanceTypeC4Xlarge = "c4.xlarge"
  49016. // InstanceTypeC42xlarge is a InstanceType enum value
  49017. InstanceTypeC42xlarge = "c4.2xlarge"
  49018. // InstanceTypeC44xlarge is a InstanceType enum value
  49019. InstanceTypeC44xlarge = "c4.4xlarge"
  49020. // InstanceTypeC48xlarge is a InstanceType enum value
  49021. InstanceTypeC48xlarge = "c4.8xlarge"
  49022. // InstanceTypeCc14xlarge is a InstanceType enum value
  49023. InstanceTypeCc14xlarge = "cc1.4xlarge"
  49024. // InstanceTypeCc28xlarge is a InstanceType enum value
  49025. InstanceTypeCc28xlarge = "cc2.8xlarge"
  49026. // InstanceTypeG22xlarge is a InstanceType enum value
  49027. InstanceTypeG22xlarge = "g2.2xlarge"
  49028. // InstanceTypeG28xlarge is a InstanceType enum value
  49029. InstanceTypeG28xlarge = "g2.8xlarge"
  49030. // InstanceTypeCg14xlarge is a InstanceType enum value
  49031. InstanceTypeCg14xlarge = "cg1.4xlarge"
  49032. // InstanceTypeP2Xlarge is a InstanceType enum value
  49033. InstanceTypeP2Xlarge = "p2.xlarge"
  49034. // InstanceTypeP28xlarge is a InstanceType enum value
  49035. InstanceTypeP28xlarge = "p2.8xlarge"
  49036. // InstanceTypeP216xlarge is a InstanceType enum value
  49037. InstanceTypeP216xlarge = "p2.16xlarge"
  49038. // InstanceTypeD2Xlarge is a InstanceType enum value
  49039. InstanceTypeD2Xlarge = "d2.xlarge"
  49040. // InstanceTypeD22xlarge is a InstanceType enum value
  49041. InstanceTypeD22xlarge = "d2.2xlarge"
  49042. // InstanceTypeD24xlarge is a InstanceType enum value
  49043. InstanceTypeD24xlarge = "d2.4xlarge"
  49044. // InstanceTypeD28xlarge is a InstanceType enum value
  49045. InstanceTypeD28xlarge = "d2.8xlarge"
  49046. // InstanceTypeF12xlarge is a InstanceType enum value
  49047. InstanceTypeF12xlarge = "f1.2xlarge"
  49048. // InstanceTypeF116xlarge is a InstanceType enum value
  49049. InstanceTypeF116xlarge = "f1.16xlarge"
  49050. )
  49051. const (
  49052. // ListingStateAvailable is a ListingState enum value
  49053. ListingStateAvailable = "available"
  49054. // ListingStateSold is a ListingState enum value
  49055. ListingStateSold = "sold"
  49056. // ListingStateCancelled is a ListingState enum value
  49057. ListingStateCancelled = "cancelled"
  49058. // ListingStatePending is a ListingState enum value
  49059. ListingStatePending = "pending"
  49060. )
  49061. const (
  49062. // ListingStatusActive is a ListingStatus enum value
  49063. ListingStatusActive = "active"
  49064. // ListingStatusPending is a ListingStatus enum value
  49065. ListingStatusPending = "pending"
  49066. // ListingStatusCancelled is a ListingStatus enum value
  49067. ListingStatusCancelled = "cancelled"
  49068. // ListingStatusClosed is a ListingStatus enum value
  49069. ListingStatusClosed = "closed"
  49070. )
  49071. const (
  49072. // MonitoringStateDisabled is a MonitoringState enum value
  49073. MonitoringStateDisabled = "disabled"
  49074. // MonitoringStateDisabling is a MonitoringState enum value
  49075. MonitoringStateDisabling = "disabling"
  49076. // MonitoringStateEnabled is a MonitoringState enum value
  49077. MonitoringStateEnabled = "enabled"
  49078. // MonitoringStatePending is a MonitoringState enum value
  49079. MonitoringStatePending = "pending"
  49080. )
  49081. const (
  49082. // MoveStatusMovingToVpc is a MoveStatus enum value
  49083. MoveStatusMovingToVpc = "movingToVpc"
  49084. // MoveStatusRestoringToClassic is a MoveStatus enum value
  49085. MoveStatusRestoringToClassic = "restoringToClassic"
  49086. )
  49087. const (
  49088. // NatGatewayStatePending is a NatGatewayState enum value
  49089. NatGatewayStatePending = "pending"
  49090. // NatGatewayStateFailed is a NatGatewayState enum value
  49091. NatGatewayStateFailed = "failed"
  49092. // NatGatewayStateAvailable is a NatGatewayState enum value
  49093. NatGatewayStateAvailable = "available"
  49094. // NatGatewayStateDeleting is a NatGatewayState enum value
  49095. NatGatewayStateDeleting = "deleting"
  49096. // NatGatewayStateDeleted is a NatGatewayState enum value
  49097. NatGatewayStateDeleted = "deleted"
  49098. )
  49099. const (
  49100. // NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
  49101. NetworkInterfaceAttributeDescription = "description"
  49102. // NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
  49103. NetworkInterfaceAttributeGroupSet = "groupSet"
  49104. // NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
  49105. NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
  49106. // NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
  49107. NetworkInterfaceAttributeAttachment = "attachment"
  49108. )
  49109. const (
  49110. // NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
  49111. NetworkInterfaceStatusAvailable = "available"
  49112. // NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
  49113. NetworkInterfaceStatusAttaching = "attaching"
  49114. // NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
  49115. NetworkInterfaceStatusInUse = "in-use"
  49116. // NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
  49117. NetworkInterfaceStatusDetaching = "detaching"
  49118. )
  49119. const (
  49120. // NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
  49121. NetworkInterfaceTypeInterface = "interface"
  49122. // NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
  49123. NetworkInterfaceTypeNatGateway = "natGateway"
  49124. )
  49125. const (
  49126. // OfferingClassTypeStandard is a OfferingClassType enum value
  49127. OfferingClassTypeStandard = "standard"
  49128. // OfferingClassTypeConvertible is a OfferingClassType enum value
  49129. OfferingClassTypeConvertible = "convertible"
  49130. )
  49131. const (
  49132. // OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
  49133. OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
  49134. // OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
  49135. OfferingTypeValuesMediumUtilization = "Medium Utilization"
  49136. // OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
  49137. OfferingTypeValuesLightUtilization = "Light Utilization"
  49138. // OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
  49139. OfferingTypeValuesNoUpfront = "No Upfront"
  49140. // OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
  49141. OfferingTypeValuesPartialUpfront = "Partial Upfront"
  49142. // OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
  49143. OfferingTypeValuesAllUpfront = "All Upfront"
  49144. )
  49145. const (
  49146. // OperationTypeAdd is a OperationType enum value
  49147. OperationTypeAdd = "add"
  49148. // OperationTypeRemove is a OperationType enum value
  49149. OperationTypeRemove = "remove"
  49150. )
  49151. const (
  49152. // PaymentOptionAllUpfront is a PaymentOption enum value
  49153. PaymentOptionAllUpfront = "AllUpfront"
  49154. // PaymentOptionPartialUpfront is a PaymentOption enum value
  49155. PaymentOptionPartialUpfront = "PartialUpfront"
  49156. // PaymentOptionNoUpfront is a PaymentOption enum value
  49157. PaymentOptionNoUpfront = "NoUpfront"
  49158. )
  49159. const (
  49160. // PermissionGroupAll is a PermissionGroup enum value
  49161. PermissionGroupAll = "all"
  49162. )
  49163. const (
  49164. // PlacementGroupStatePending is a PlacementGroupState enum value
  49165. PlacementGroupStatePending = "pending"
  49166. // PlacementGroupStateAvailable is a PlacementGroupState enum value
  49167. PlacementGroupStateAvailable = "available"
  49168. // PlacementGroupStateDeleting is a PlacementGroupState enum value
  49169. PlacementGroupStateDeleting = "deleting"
  49170. // PlacementGroupStateDeleted is a PlacementGroupState enum value
  49171. PlacementGroupStateDeleted = "deleted"
  49172. )
  49173. const (
  49174. // PlacementStrategyCluster is a PlacementStrategy enum value
  49175. PlacementStrategyCluster = "cluster"
  49176. )
  49177. const (
  49178. // PlatformValuesWindows is a PlatformValues enum value
  49179. PlatformValuesWindows = "Windows"
  49180. )
  49181. const (
  49182. // ProductCodeValuesDevpay is a ProductCodeValues enum value
  49183. ProductCodeValuesDevpay = "devpay"
  49184. // ProductCodeValuesMarketplace is a ProductCodeValues enum value
  49185. ProductCodeValuesMarketplace = "marketplace"
  49186. )
  49187. const (
  49188. // RIProductDescriptionLinuxUnix is a RIProductDescription enum value
  49189. RIProductDescriptionLinuxUnix = "Linux/UNIX"
  49190. // RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
  49191. RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
  49192. // RIProductDescriptionWindows is a RIProductDescription enum value
  49193. RIProductDescriptionWindows = "Windows"
  49194. // RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
  49195. RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
  49196. )
  49197. const (
  49198. // RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
  49199. RecurringChargeFrequencyHourly = "Hourly"
  49200. )
  49201. const (
  49202. // ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
  49203. ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
  49204. // ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
  49205. ReportInstanceReasonCodesUnresponsive = "unresponsive"
  49206. // ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
  49207. ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
  49208. // ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
  49209. ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
  49210. // ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
  49211. ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
  49212. // ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
  49213. ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
  49214. // ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
  49215. ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
  49216. // ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
  49217. ReportInstanceReasonCodesPerformanceOther = "performance-other"
  49218. // ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
  49219. ReportInstanceReasonCodesOther = "other"
  49220. )
  49221. const (
  49222. // ReportStatusTypeOk is a ReportStatusType enum value
  49223. ReportStatusTypeOk = "ok"
  49224. // ReportStatusTypeImpaired is a ReportStatusType enum value
  49225. ReportStatusTypeImpaired = "impaired"
  49226. )
  49227. const (
  49228. // ReservationStatePaymentPending is a ReservationState enum value
  49229. ReservationStatePaymentPending = "payment-pending"
  49230. // ReservationStatePaymentFailed is a ReservationState enum value
  49231. ReservationStatePaymentFailed = "payment-failed"
  49232. // ReservationStateActive is a ReservationState enum value
  49233. ReservationStateActive = "active"
  49234. // ReservationStateRetired is a ReservationState enum value
  49235. ReservationStateRetired = "retired"
  49236. )
  49237. const (
  49238. // ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
  49239. ReservedInstanceStatePaymentPending = "payment-pending"
  49240. // ReservedInstanceStateActive is a ReservedInstanceState enum value
  49241. ReservedInstanceStateActive = "active"
  49242. // ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
  49243. ReservedInstanceStatePaymentFailed = "payment-failed"
  49244. // ReservedInstanceStateRetired is a ReservedInstanceState enum value
  49245. ReservedInstanceStateRetired = "retired"
  49246. )
  49247. const (
  49248. // ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
  49249. ResetImageAttributeNameLaunchPermission = "launchPermission"
  49250. )
  49251. const (
  49252. // ResourceTypeCustomerGateway is a ResourceType enum value
  49253. ResourceTypeCustomerGateway = "customer-gateway"
  49254. // ResourceTypeDhcpOptions is a ResourceType enum value
  49255. ResourceTypeDhcpOptions = "dhcp-options"
  49256. // ResourceTypeImage is a ResourceType enum value
  49257. ResourceTypeImage = "image"
  49258. // ResourceTypeInstance is a ResourceType enum value
  49259. ResourceTypeInstance = "instance"
  49260. // ResourceTypeInternetGateway is a ResourceType enum value
  49261. ResourceTypeInternetGateway = "internet-gateway"
  49262. // ResourceTypeNetworkAcl is a ResourceType enum value
  49263. ResourceTypeNetworkAcl = "network-acl"
  49264. // ResourceTypeNetworkInterface is a ResourceType enum value
  49265. ResourceTypeNetworkInterface = "network-interface"
  49266. // ResourceTypeReservedInstances is a ResourceType enum value
  49267. ResourceTypeReservedInstances = "reserved-instances"
  49268. // ResourceTypeRouteTable is a ResourceType enum value
  49269. ResourceTypeRouteTable = "route-table"
  49270. // ResourceTypeSnapshot is a ResourceType enum value
  49271. ResourceTypeSnapshot = "snapshot"
  49272. // ResourceTypeSpotInstancesRequest is a ResourceType enum value
  49273. ResourceTypeSpotInstancesRequest = "spot-instances-request"
  49274. // ResourceTypeSubnet is a ResourceType enum value
  49275. ResourceTypeSubnet = "subnet"
  49276. // ResourceTypeSecurityGroup is a ResourceType enum value
  49277. ResourceTypeSecurityGroup = "security-group"
  49278. // ResourceTypeVolume is a ResourceType enum value
  49279. ResourceTypeVolume = "volume"
  49280. // ResourceTypeVpc is a ResourceType enum value
  49281. ResourceTypeVpc = "vpc"
  49282. // ResourceTypeVpnConnection is a ResourceType enum value
  49283. ResourceTypeVpnConnection = "vpn-connection"
  49284. // ResourceTypeVpnGateway is a ResourceType enum value
  49285. ResourceTypeVpnGateway = "vpn-gateway"
  49286. )
  49287. const (
  49288. // RouteOriginCreateRouteTable is a RouteOrigin enum value
  49289. RouteOriginCreateRouteTable = "CreateRouteTable"
  49290. // RouteOriginCreateRoute is a RouteOrigin enum value
  49291. RouteOriginCreateRoute = "CreateRoute"
  49292. // RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
  49293. RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
  49294. )
  49295. const (
  49296. // RouteStateActive is a RouteState enum value
  49297. RouteStateActive = "active"
  49298. // RouteStateBlackhole is a RouteState enum value
  49299. RouteStateBlackhole = "blackhole"
  49300. )
  49301. const (
  49302. // RuleActionAllow is a RuleAction enum value
  49303. RuleActionAllow = "allow"
  49304. // RuleActionDeny is a RuleAction enum value
  49305. RuleActionDeny = "deny"
  49306. )
  49307. const (
  49308. // ShutdownBehaviorStop is a ShutdownBehavior enum value
  49309. ShutdownBehaviorStop = "stop"
  49310. // ShutdownBehaviorTerminate is a ShutdownBehavior enum value
  49311. ShutdownBehaviorTerminate = "terminate"
  49312. )
  49313. const (
  49314. // SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
  49315. SnapshotAttributeNameProductCodes = "productCodes"
  49316. // SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
  49317. SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
  49318. )
  49319. const (
  49320. // SnapshotStatePending is a SnapshotState enum value
  49321. SnapshotStatePending = "pending"
  49322. // SnapshotStateCompleted is a SnapshotState enum value
  49323. SnapshotStateCompleted = "completed"
  49324. // SnapshotStateError is a SnapshotState enum value
  49325. SnapshotStateError = "error"
  49326. )
  49327. const (
  49328. // SpotInstanceStateOpen is a SpotInstanceState enum value
  49329. SpotInstanceStateOpen = "open"
  49330. // SpotInstanceStateActive is a SpotInstanceState enum value
  49331. SpotInstanceStateActive = "active"
  49332. // SpotInstanceStateClosed is a SpotInstanceState enum value
  49333. SpotInstanceStateClosed = "closed"
  49334. // SpotInstanceStateCancelled is a SpotInstanceState enum value
  49335. SpotInstanceStateCancelled = "cancelled"
  49336. // SpotInstanceStateFailed is a SpotInstanceState enum value
  49337. SpotInstanceStateFailed = "failed"
  49338. )
  49339. const (
  49340. // SpotInstanceTypeOneTime is a SpotInstanceType enum value
  49341. SpotInstanceTypeOneTime = "one-time"
  49342. // SpotInstanceTypePersistent is a SpotInstanceType enum value
  49343. SpotInstanceTypePersistent = "persistent"
  49344. )
  49345. const (
  49346. // StatePending is a State enum value
  49347. StatePending = "Pending"
  49348. // StateAvailable is a State enum value
  49349. StateAvailable = "Available"
  49350. // StateDeleting is a State enum value
  49351. StateDeleting = "Deleting"
  49352. // StateDeleted is a State enum value
  49353. StateDeleted = "Deleted"
  49354. )
  49355. const (
  49356. // StatusMoveInProgress is a Status enum value
  49357. StatusMoveInProgress = "MoveInProgress"
  49358. // StatusInVpc is a Status enum value
  49359. StatusInVpc = "InVpc"
  49360. // StatusInClassic is a Status enum value
  49361. StatusInClassic = "InClassic"
  49362. )
  49363. const (
  49364. // StatusNameReachability is a StatusName enum value
  49365. StatusNameReachability = "reachability"
  49366. )
  49367. const (
  49368. // StatusTypePassed is a StatusType enum value
  49369. StatusTypePassed = "passed"
  49370. // StatusTypeFailed is a StatusType enum value
  49371. StatusTypeFailed = "failed"
  49372. // StatusTypeInsufficientData is a StatusType enum value
  49373. StatusTypeInsufficientData = "insufficient-data"
  49374. // StatusTypeInitializing is a StatusType enum value
  49375. StatusTypeInitializing = "initializing"
  49376. )
  49377. const (
  49378. // SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
  49379. SubnetCidrBlockStateCodeAssociating = "associating"
  49380. // SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
  49381. SubnetCidrBlockStateCodeAssociated = "associated"
  49382. // SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
  49383. SubnetCidrBlockStateCodeDisassociating = "disassociating"
  49384. // SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
  49385. SubnetCidrBlockStateCodeDisassociated = "disassociated"
  49386. // SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
  49387. SubnetCidrBlockStateCodeFailing = "failing"
  49388. // SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
  49389. SubnetCidrBlockStateCodeFailed = "failed"
  49390. )
  49391. const (
  49392. // SubnetStatePending is a SubnetState enum value
  49393. SubnetStatePending = "pending"
  49394. // SubnetStateAvailable is a SubnetState enum value
  49395. SubnetStateAvailable = "available"
  49396. )
  49397. const (
  49398. // SummaryStatusOk is a SummaryStatus enum value
  49399. SummaryStatusOk = "ok"
  49400. // SummaryStatusImpaired is a SummaryStatus enum value
  49401. SummaryStatusImpaired = "impaired"
  49402. // SummaryStatusInsufficientData is a SummaryStatus enum value
  49403. SummaryStatusInsufficientData = "insufficient-data"
  49404. // SummaryStatusNotApplicable is a SummaryStatus enum value
  49405. SummaryStatusNotApplicable = "not-applicable"
  49406. // SummaryStatusInitializing is a SummaryStatus enum value
  49407. SummaryStatusInitializing = "initializing"
  49408. )
  49409. const (
  49410. // TelemetryStatusUp is a TelemetryStatus enum value
  49411. TelemetryStatusUp = "UP"
  49412. // TelemetryStatusDown is a TelemetryStatus enum value
  49413. TelemetryStatusDown = "DOWN"
  49414. )
  49415. const (
  49416. // TenancyDefault is a Tenancy enum value
  49417. TenancyDefault = "default"
  49418. // TenancyDedicated is a Tenancy enum value
  49419. TenancyDedicated = "dedicated"
  49420. // TenancyHost is a Tenancy enum value
  49421. TenancyHost = "host"
  49422. )
  49423. const (
  49424. // TrafficTypeAccept is a TrafficType enum value
  49425. TrafficTypeAccept = "ACCEPT"
  49426. // TrafficTypeReject is a TrafficType enum value
  49427. TrafficTypeReject = "REJECT"
  49428. // TrafficTypeAll is a TrafficType enum value
  49429. TrafficTypeAll = "ALL"
  49430. )
  49431. const (
  49432. // VirtualizationTypeHvm is a VirtualizationType enum value
  49433. VirtualizationTypeHvm = "hvm"
  49434. // VirtualizationTypeParavirtual is a VirtualizationType enum value
  49435. VirtualizationTypeParavirtual = "paravirtual"
  49436. )
  49437. const (
  49438. // VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
  49439. VolumeAttachmentStateAttaching = "attaching"
  49440. // VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
  49441. VolumeAttachmentStateAttached = "attached"
  49442. // VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
  49443. VolumeAttachmentStateDetaching = "detaching"
  49444. // VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
  49445. VolumeAttachmentStateDetached = "detached"
  49446. )
  49447. const (
  49448. // VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
  49449. VolumeAttributeNameAutoEnableIo = "autoEnableIO"
  49450. // VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
  49451. VolumeAttributeNameProductCodes = "productCodes"
  49452. )
  49453. const (
  49454. // VolumeModificationStateModifying is a VolumeModificationState enum value
  49455. VolumeModificationStateModifying = "modifying"
  49456. // VolumeModificationStateOptimizing is a VolumeModificationState enum value
  49457. VolumeModificationStateOptimizing = "optimizing"
  49458. // VolumeModificationStateCompleted is a VolumeModificationState enum value
  49459. VolumeModificationStateCompleted = "completed"
  49460. // VolumeModificationStateFailed is a VolumeModificationState enum value
  49461. VolumeModificationStateFailed = "failed"
  49462. )
  49463. const (
  49464. // VolumeStateCreating is a VolumeState enum value
  49465. VolumeStateCreating = "creating"
  49466. // VolumeStateAvailable is a VolumeState enum value
  49467. VolumeStateAvailable = "available"
  49468. // VolumeStateInUse is a VolumeState enum value
  49469. VolumeStateInUse = "in-use"
  49470. // VolumeStateDeleting is a VolumeState enum value
  49471. VolumeStateDeleting = "deleting"
  49472. // VolumeStateDeleted is a VolumeState enum value
  49473. VolumeStateDeleted = "deleted"
  49474. // VolumeStateError is a VolumeState enum value
  49475. VolumeStateError = "error"
  49476. )
  49477. const (
  49478. // VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
  49479. VolumeStatusInfoStatusOk = "ok"
  49480. // VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
  49481. VolumeStatusInfoStatusImpaired = "impaired"
  49482. // VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
  49483. VolumeStatusInfoStatusInsufficientData = "insufficient-data"
  49484. )
  49485. const (
  49486. // VolumeStatusNameIoEnabled is a VolumeStatusName enum value
  49487. VolumeStatusNameIoEnabled = "io-enabled"
  49488. // VolumeStatusNameIoPerformance is a VolumeStatusName enum value
  49489. VolumeStatusNameIoPerformance = "io-performance"
  49490. )
  49491. const (
  49492. // VolumeTypeStandard is a VolumeType enum value
  49493. VolumeTypeStandard = "standard"
  49494. // VolumeTypeIo1 is a VolumeType enum value
  49495. VolumeTypeIo1 = "io1"
  49496. // VolumeTypeGp2 is a VolumeType enum value
  49497. VolumeTypeGp2 = "gp2"
  49498. // VolumeTypeSc1 is a VolumeType enum value
  49499. VolumeTypeSc1 = "sc1"
  49500. // VolumeTypeSt1 is a VolumeType enum value
  49501. VolumeTypeSt1 = "st1"
  49502. )
  49503. const (
  49504. // VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
  49505. VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
  49506. // VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
  49507. VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
  49508. )
  49509. const (
  49510. // VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
  49511. VpcCidrBlockStateCodeAssociating = "associating"
  49512. // VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
  49513. VpcCidrBlockStateCodeAssociated = "associated"
  49514. // VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
  49515. VpcCidrBlockStateCodeDisassociating = "disassociating"
  49516. // VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
  49517. VpcCidrBlockStateCodeDisassociated = "disassociated"
  49518. // VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
  49519. VpcCidrBlockStateCodeFailing = "failing"
  49520. // VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
  49521. VpcCidrBlockStateCodeFailed = "failed"
  49522. )
  49523. const (
  49524. // VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
  49525. VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
  49526. // VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
  49527. VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
  49528. // VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
  49529. VpcPeeringConnectionStateReasonCodeActive = "active"
  49530. // VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
  49531. VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
  49532. // VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
  49533. VpcPeeringConnectionStateReasonCodeRejected = "rejected"
  49534. // VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
  49535. VpcPeeringConnectionStateReasonCodeFailed = "failed"
  49536. // VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
  49537. VpcPeeringConnectionStateReasonCodeExpired = "expired"
  49538. // VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
  49539. VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
  49540. // VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
  49541. VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
  49542. )
  49543. const (
  49544. // VpcStatePending is a VpcState enum value
  49545. VpcStatePending = "pending"
  49546. // VpcStateAvailable is a VpcState enum value
  49547. VpcStateAvailable = "available"
  49548. )
  49549. const (
  49550. // VpnStatePending is a VpnState enum value
  49551. VpnStatePending = "pending"
  49552. // VpnStateAvailable is a VpnState enum value
  49553. VpnStateAvailable = "available"
  49554. // VpnStateDeleting is a VpnState enum value
  49555. VpnStateDeleting = "deleting"
  49556. // VpnStateDeleted is a VpnState enum value
  49557. VpnStateDeleted = "deleted"
  49558. )
  49559. const (
  49560. // VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
  49561. VpnStaticRouteSourceStatic = "Static"
  49562. )
  49563. const (
  49564. // ScopeAvailabilityZone is a scope enum value
  49565. ScopeAvailabilityZone = "Availability Zone"
  49566. // ScopeRegion is a scope enum value
  49567. ScopeRegion = "Region"
  49568. )